Re: Fedora 33 System-Wide Change proposal: ELN Buildroot and Compose

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26. 03. 20 16:13, Miro Hrončok wrote:
On 25. 03. 20 17:10, Miro Hrončok wrote:
Finally, of the set of packages that we're going to be including, we
anticipate around 200-300 of them will have distro conditionals that
need investigation (with fewer needing actual modification). The ELN
SIG will be doing this initial investigation and will provide guidance
(and/or PRs) to affected packagers.

My concerns still remain, although I am now not so scared that this will alienate the community. Now the concern is more personal (= previously I was worried that everybody will be encouraged to use the conditionals, while now I'm mostly concerned they I will be encouraged to use the conditionals).

Also, to make this more clear:

I am not worried about the conditionals because I would need to maintain them.

I am worried that "my" packages will be harder to co-maintain (or generally changed) by people from the community.

As an example, I will know the RHEL 9 (10, 11...) plans and I can structure my specs accordingly. However if there is a passionate Fedora contributor who would like so submit a Pull Request for e.g. python-virtualenv to update it to a new fancy version that does things differently, they are not familiar about our RHEL plans and they would not be capable to wrap their head around such conditionals. They would also need to rebase any RHEL-only patches for this to work. At the end, they are more likely to just go away and not do it at all.

Another example. In a corporate meeting with the product owners/managers, we decide that the next major RHEL release will include Brainfuck 7 because it an LTS release. Fedora rawhide is updated to Brainfuck 7 and everything is nice and fine.

Later, Brainfuck 8 is released. The Fedora community wants this new version, because it finally has a support for Brainloller and the Ook! stack depends on this new feature. The Ook! stack is not planned to be in RHEL, so from RHEL perspective, this new feature is not that important. But the Ook! SIG obviously wants this.

The RHEL maintainer now needs to artificially block the Brainfuck 8 update from rawhide until next RHEL is branched (they probably cannot even share when this is going to be with the Fedora community because NDA). This prevents the "First" foundation of Fedora (and TBH it also prevents "Friends", the RHEL maintainer is actively blocking the Ook SIG here by their (in)action).


The conditional approach will only allow this:

  %if 0%{?rhel}
  Version: 7.4.5
  %else
  Version: 8.0.0~rc1
  %endif

(And I assume the rest of the spec file would need major %if/%else mess as well, because Brainfuck 8 is built with meson, while Brainfuck 7 is built with autotools. Or the implementation language changed from C to Rust...)

And trust me, you don't want to maintain that. It is not maintainable. And it has problems like this:
  https://pagure.io/copr/copr/issue/1315

Another approach is compat packages, but Brainfuck 8 is backwards compatible with 7, so it brings no benefit for Fedora.

Another approach is modularity, but the Ook! SIG doesn't want to use modules because they want their Ook-based apps to be easily available to Fedora users.

Sorry for going artificial with the example, but I didn't want you to say "you are always talking about Python, what you say is Python specific" -- because it isn't.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux