In the CentOS Hyperscale SIG, we're looking to turn on DNF's sticky vendor functionality for the Hyperscale spin by setting allow_vendor_change=False in /etc/dnf/dnf.conf, as noted in the DNF documentation. More information about the feature is available in RHBZ#1788371.
allow_vendor_change=False
/etc/dnf/dnf.conf
In order for this functionality to work properly, CBS needs to use a different vendor string than the main CentOS Koji instance. Right now, both use CentOS. I would like CBS to have Vendor strings set correctly for each SIG. That is, all Hyperscale build tags should have %vendor CentOS Hyperscale SIG, all Kmods SIG build tags should have %vendor CentOS Kmods SIG, and so on. If we can't do that, the CBS instance wide vendor setting should be changed to CentOS Community Build Service, to differentiate it from the main CentOS one.
CentOS
%vendor CentOS Hyperscale SIG
%vendor CentOS Kmods SIG
CentOS Community Build Service
cc: @carlwgeorge, @dcavalca, @salimma, @malmond, @davdunc
hey @ngompa It's just something that was used when we bootstrapped the cbs/koji infra and that nobody asked to change. It's all controlled by ansible/inventory with indeed default value being CentOS (https://github.com/CentOS/ansible-role-kojid/blob/master/defaults/main.yml#L10)
So it's just a git commit to ansible inventory to update to something else and ansible deploy for the default one for all SIGs.
Now what about we also have an opt-in feature to also override that per tag and abuse the extra options in tag like we do for some other rpm macros and dist tag ? (like rpm.macro.dist='.hs.el8' that we added for the hyperscale tags)
rpm.macro.dist='.hs.el8'
Happy to give it a try with you on one of the hyperscale build tag and if that works apply wherever needed if that works for you ?
Metadata Update from @arrfab: - Issue assigned to arrfab
Metadata Update from @arrfab: - Issue tagged with: cbs, feature-request, medium-gain, medium-trouble
Yeah, let's do it! Let's start with the Hyperscale experimental build tags. :smile:
Done for these two tags so you can give it a try when you want :
for build_tag in hyperscale8s-packages-experimental-el8-build hyperscale9s-packages-experimental-el9s-build ; do echo "== $build_tag" ; cbs taginfo $build_tag |grep rpm.macro.vendor ; done == hyperscale8s-packages-experimental-el8-build rpm.macro.vendor : 'CentOS Hyperscale SIG' == hyperscale9s-packages-experimental-el9s-build rpm.macro.vendor : 'CentOS Hyperscale SIG'
Metadata Update from @arrfab: - Issue priority set to: Waiting on Reporter (was: Needs Review)
I've triggered a scratch build here: https://cbs.centos.org/koji/taskinfo?taskID=2662884
Bah, take 2: https://cbs.centos.org/koji/taskinfo?taskID=2662913
Meh, take 3 with something shorter to build: https://cbs.centos.org/koji/taskinfo?taskID=2662945
@arrfab Looks like it works!
ngompa@localhost ~/tmpdata> rpm -qip btrfs-progs-5.14.2-1.1.hsx.el9.src.rpm Name : btrfs-progs Version : 5.14.2 Release : 1.1.hsx.el9 Architecture: x86_64 Install Date: (not installed) Group : Unspecified Size : 2282312 License : GPLv2 Signature : (none) Source RPM : (none) Build Date : Wed 26 Jan 2022 12:30:20 PM EST Build Host : x86-07.rdu2.centos.org Packager : CBS <cbs@centos.org> Vendor : CentOS Hyperscale SIG URL : https://btrfs.wiki.kernel.org/index.php/Main_Page Summary : Userspace programs for btrfs Description : The btrfs-progs package provides all the userspace programs needed to create, check, modify and correct any inconsistencies in the btrfs filesystem.
@arrfab Since we know it works, can you at least apply this to all the Hyperscale tags?
@arrfab While at it can you please change Vendor to "CentOS Kmods SIG" for all kmods* tags?
(Probably easier/faster than opening a new issue for this request)
Thanks!
Done
@arrfab While at it can you please change Vendor to "CentOS Kmods SIG" for all kmods* tags? (Probably easier/faster than opening a new issue for this request) Thanks!
Done too
pushed in the following commit for the whole cbs kojid builders
* 3910006 - (HEAD -> master, origin/master, origin/HEAD) Switching default vendor rpm macro on cbs #621 (9 seconds ago) <Fabian Arrotin>
I'll modify the way we create tags to inherit a different CentOS <SIG name> SIG vendor to be different from the new default one
CentOS <SIG name> SIG
Closing this ticket as it was changed "system wide" with default value and SIGs can opt-in for specific vendor rpm macro if needed (and the two requested ones here were implemented)
Metadata Update from @arrfab: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.