Summary
Add support for sharing the yum/dnf package cache across mock builds of the same platform and architecture. This avoids redundant package downloads when multiple builds run for the same platform/arch combination, improving build performance.
Changes
Shared yum cache (use_shared_yum_cache)
When use_shared_yum_cache: true is set in a platform's data.mock config, the build node generates a cache_key in mock.cfg based on the platform name and target architecture:
config_opts["plugin_conf"]["yum_cache_opts"]["cache_key"] = "almalinux-kitten-10-x86_64"
This tells mock's yum_cache plugin to share the cached packages across all builds matching that key, instead of maintaining separate caches per chroot.
Yum caching options (keepcache, metadata_expire)
Platform configs can now set keepcache and metadata_expire in data.yum to control yum.conf caching behavior inside the chroot. AlmaLinux-Kitten-10 is configured with keepcache: true and metadata_expire: 60.
Nested dict support in MockConfig
MockConfig.render_config_option now supports two-level nested dictionaries, enabling direct setting of plugin_conf options without resetting existing plugin defaults.
Pull Requests
Merge order: albs-build-lib → albs-node → albs-web-server
Summary
Add support for sharing the yum/dnf package cache across mock builds of the same platform and architecture. This avoids redundant package downloads when multiple builds run for the same platform/arch combination, improving build performance.
Changes
Shared yum cache (
use_shared_yum_cache)When
use_shared_yum_cache: trueis set in a platform'sdata.mockconfig, the build node generates acache_keyin mock.cfg based on the platform name and target architecture:This tells mock's yum_cache plugin to share the cached packages across all builds matching that key, instead of maintaining separate caches per chroot.
Yum caching options (
keepcache,metadata_expire)Platform configs can now set
keepcacheandmetadata_expireindata.yumto control yum.conf caching behavior inside the chroot. AlmaLinux-Kitten-10 is configured withkeepcache: trueandmetadata_expire: 60.Nested dict support in MockConfig
MockConfig.render_config_optionnow supports two-level nested dictionaries, enabling direct setting ofplugin_confoptions without resetting existing plugin defaults.Pull Requests
render_config_option,keepcacheandmetadata_expireparameters inYumConfiguse_shared_yum_cache,keepcache, andmetadata_expirefor AlmaLinux-Kitten-10Merge order: albs-build-lib → albs-node → albs-web-server