https://bugzilla.redhat.com/show_bug.cgi?id=2277782
Bug ID: 2277782 Summary: Package older clang-formats on newer Fedoras Product: Fedora Version: 39 OS: Linux Status: NEW Component: clang16 Keywords: RFE Severity: medium Assignee: tuliom@redhat.com Reporter: alyssa@rosenzweig.io CC: epel-packagers-sig@lists.fedoraproject.org, fedora-llvm-team@lists.fedoraproject.org, michel@michel-slm.name, tuliom@redhat.com Target Milestone: --- Classification: Fedora
Fedora packages clang-format, an automatic C/C++ code reformatting tool used by various FOSS projects, including the kernel and Mesa. Some project's CI systems enforce developer use of clang-format to produce a consistent style across the code base.
However, clang-format's output is not stable from version to version, as upstream clang-format tweaks affect the results. Projects therefore pin a single "blessed" version of clang-format that all contributors use.
Other distributions like Debian package simultaneously multiple versions of LLVM (and hence multiple version suffixed clang-formats), so contributors can install whatever the agreed upon version is without needing the whole team to use the same distro. Unfortunately, Fedora only packages a single latest clang version... and as soon as the Fedora LLVM is newer than what the project was using, boom! formatting changes randomly and the developer can no longer contribute.
Therefore, this is a request to package older clang-formats even on newer Fedoras. For my own use case, I need clang-format-16 on F39 (soon F40), since that's the version FEX-Emu pins. But F39 only has clang-format-17, which is incompatible.
Is it reasonable to include the older binaries in the newer Fedoras? If not, what is a reasonable workaround (that doesn't require switching from Fedora to another distro)?
Reproducible: Always