On Mon, Jan 13, 2020 at 8:07 AM Panu Matilainen <pmatilai(a)redhat.com> wrote:
On 1/13/20 2:44 PM, Nicolas Mailhot via devel wrote:
> Le 2020-01-13 12:52, Florian Weimer a écrit :
>
>> I have trouble matching this claim to my experience working on
>> redhat-rpm-config. Why is it painful to use Git as it was designed?
>
> Because redhat-rpm-config is not "using Git as it was designed". It’s
> using git as a centralized flat and linear SCM (à la SVN/CVS) without
> putting the project info in the repository but in a static spec mapping.
>
> In sane macro project that use separate sources you can do things like
> "install rpm/macros.d/* to %{_rpmconfigdir}/macros.d/" (because if you
> accepted a PR that puts things in rpm/macros.d and tagged the result you
> *want* this result deployed in %{_rpmconfigdir}/macros.d/, right?). In
> redhat-rpm-config that does not work. Every single file is a different
> source with custom spec handling.
>
> Apart from being inefficient this custom handling badly collides
> whenever two PRs try to add new files. With a real detached source
> project, with a real tree managed by git, all the eventual tree
> collisions would be managed by git. With everything-is-a-separate-source
> files collide (at the source number level) even when they have different
> filenames, and will be deployed in different places.
Well yes, nothing is perfect. These are such minor issues compared to
the patches-on-patches-of-patches horror that was before that it fails
to register on my annoyance scale at all, it's nothing but a nice
tradeoff for being able to use git as deity meant it for this content.
It's also important to note that splitting is only useful if there are
multiple disparate downstreams. In this case, there isn't. Only Fedora
(and its downstream RHEL) use redhat-rpm-config. Contrast that to
Mageia's rpm-setup and OpenMandriva's rpm-openmandriva-setup, which
are managed this way *because* it is the upstream for multiple
disparate distributions (rpm-setup is the upstream for Mageia and
PCLinuxOS, while rpm-omv-setup is the upstream for OpenMandriva and
ROSA).
--
真実はいつも一つ!/ Always, there's only one truth!