Hi, all, I'd like to discuss how we can add Build tag in the RPM. As one of the key points is to turn it into a common standard for rpm packages across the ecosystem, the conversation is currently opened upstream [1] and in RHEL Engineering. And I'd like to get Fedora community on board. This is not a finalized proposal and I think it is not ready yet to be a Fedora Change. But I want to start a conversation and ask for opinions. There are also some open questions which need help, especially the requirements around build reason. And alternative suggestions are welcome as well. I've posted long version at https://discussion.fedoraproject.org/t/rfc-build-tag-in-rpms/39954 You can comment there (simply login with your FAS id) or here on the mailing list. And I am going to update that post with the new feedback. Shorter version: ================================================ We'd like to introduce Build Number/Tag/Id in the rpm metadata. By this change we would like to: * Provide a possibility to change build environment and rebuild rpm packages without changing their content: neither sources nor spec files. * Set a common standard for the RPM-based ecosystem, which can be used not just within Fedora, but also by Remixes, downstreams, SIGs and other distributions. The most visible impact of the proposal would be the filename change: Current: dnf-4.9.0-12.fc36.noarch.rpm Proposed: dnf-4.9.0-12.fc36.34897715.noarch.rpm It can be implemented in two steps: 1) Now → Compatibility mode * Introduce Build tag in the rpm metadata * Introduce “build reason” to be added to rpm changelog as a top entry * Enable passing Build tag value to the build in Koji. The value of the Build tag will be set from Koji build id. * Introduce macro in Release field of the rpm spec files, which adds Build tag after the usual disttag Release: 12.%{?dist}%{?build:.%{build}} * Introduce option to pass “build reason” to a Koji build via koji cli and fedpkg/centpkg tooling. 2) Compatibility mode → Final * Implement support for the upgrade path on the rpm side in a compatible way. So that NV(R’=R+B) and NVRB are treated the same. * Remove %{build} part from Release tag and use independent Build tag for versioning. ================================================ [1] https://github.com/rpm-software-management/rpm/discussions/2031 -- Aleksandra Fedorova CI for Fedora/CentOS Stream/RHEL bookwar on Matrix/IRC _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure