Hi,
I'm looking to bring in another piece of downstream work into Fedora sometime next week. The short summary is that Fedora will be bringing in some files to build against a RHEL buildroot but Fedora will still be the same.
The longer answer: The goal with this work is bring Fedora and RHEL closer together and reduce work between the kernels. What we'd like to happen is that if we build against a Fedora buildroot we bring in the Fedora kernel configuration options and if we're building against a RHEL buildroot we bring in the RHEL kernel configuration. What this will do is let us test and verify configuration options easily in both RHEL and Fedora configuration without having to do redundant work.
As a step towards this goal, I'll be bringing in some changes to the build scripts and moving some files around. You'll see a number of empty files brought in for the RHEL side just as a place holder. Part of this work also involves bringing in a few certificates for RHEL secureboot signing on powerpc and s390x.
A big part of this goal is to let Fedora do most of its work from a src-git tree. The reason I'm working to bring parts of these commits in now is so when it comes time to start using the src-git tree the diff doesn't look so scary. Small changes help make sure things aren't getting broken (I've already found a few things that need to be fixed during the course of this work)
My goal is to still keep Fedora stable and let Fedora be Fedora. I expect to keep tweaking the scripts to make the process easier. If you have feedback, feel free to let me know.
You can see the tree with some other changes at https://pagure.io/fedora-kernel-labbott/tree/ark_sync_nov8
Thanks, Laura
Hi
On 11/8/19 4:19 PM, Laura Abbott wrote:
Hi,
I'm looking to bring in another piece of downstream work into Fedora sometime next week. The short summary is that Fedora will be bringing in some files to build against a RHEL buildroot but Fedora will still be the same.
If you change a board in a boat is it still the same boat?, If you change 10 boards in the boat is it still the same boat? 100 boards, thousands and in the when you have replaced it all?
This looks like some backward move should not downstream be adopting Fedora not the other way around?
What's the end game here in general and for the other components in the distribution. How long before we be entirely colonized by RHEL?
JBG
On 11/9/19 12:51 PM, Jóhann B. Guðmundsson wrote:
Hi
On 11/8/19 4:19 PM, Laura Abbott wrote:
Hi,
I'm looking to bring in another piece of downstream work into Fedora sometime next week. The short summary is that Fedora will be bringing in some files to build against a RHEL buildroot but Fedora will still be the same.
If you change a board in a boat is it still the same boat?, If you change 10 boards in the boat is it still the same boat? 100 boards, thousands and in the when you have replaced it all?
This looks like some backward move should not downstream be adopting Fedora not the other way around?
What's the end game here in general and for the other components in the distribution. How long before we be entirely colonized by RHEL?
I can't speak for other components but at least for the kernel this work is attempting to bridge the gap between RHEL and Fedora that's been around for too long and keeps growing. The goal is to help both RHEL and Fedora take fixes and feedback from each other.
In an ideal world, yes downstream would be adopting Fedora and they do to a degree. The bigger issue is that changes happen in downstream and then don't get back into Fedora or only get added back as an afterthought. Some things we don't care about but some are actual bug fixes or fixes we might want. A good example is some downstream work for optimizing module compression in the spec file. This would help Fedora as well but it never got submitted.
Even when RHEL does take what Fedora has done upstream, there have been issues with integration. A good example here is the split into kernel-core and kernel-modules. This worked fine technically but when RHEL picked it up there were some unexpected issues (documentation updates and I think a few scripts)
To try and bridge this gap, we're working to get a src-git tree that works for both Fedora and RHEL. Even without the RHEL component, using a src-git tree for most of our daily work in Fedora would be a good thing. dist-git tends to trip up people who want to build their own kernels, especially if they are trying to build something non-trivial (e.g. an entire graphics branch). src-git is what most work is done in anyway. The RHEL kernel tree has been src-git based for a while so aligning on that makes sense.
I realize my wording about "Fedora will still be the same" was vague. None of this work should meaningfully impact the kernel binaries generated by the Fedora build process. Kernel configuration options are still the same, external modules should still build. Parts of the build process may change and some extra files will be packaged. So yes some things _will_ change but it should be changes that are transparent to users or have minimal impact. If these changes cause regressions or are not acceptable for other reasons, I'm more than willing to fix or revert. One of the changes I brought in (weak-updates) caused a regression due to missing a fix in kmod. I reverted it for now and will be bringing it back when things are built.
Part of "Fedora will still be the same" means that our current policies are still in place. Fedora still has the freedom to make changes how it wants. We can still turn on configuration options and make build changes as we need. We're not getting RHEL process (cheering from the background). What we'd like to change is to be more thoughtful about what will happen for RHEL down the road. This means that when Fedora sets configuration options and build changes, we'll be reviewing what we want to happen for RHEL as well. This doesn't mean RHEL gets to come in an dictate what happens but like other community members, RHEL can say "I see you are making change X. This impacts me in way Y. Can we consider change Z instead to lessen my impact?". Sometimes the answer is no, we're doing X and then RHEL gets to figure out how to workaround this. We already see this happening with things like configuration options (e.g. CONFIG_LIBNVDIMM https://bugzilla.redhat.com/show_bug.cgi?id=1696481) This freedom to make changes makes it easier for downstream as well since we can say "well Fedora has had CONFIG_BLAH on for months now and there have been no complaints".
Fedora has an incredibly valuable community and the goal here is not to subvert it but make sure we can bring the benefits of that community back to downstream in the kernel. I also look forward to bringing more downstream kernel developers into Fedora so they can continue making changes and fixes directly in Fedora.
Thanks, Laura
On 11/11/19 2:37 PM, Laura Abbott wrote:
Fedora has an incredibly valuable community and the goal here is not to subvert it but make sure we can bring the benefits of that community back to downstream in the kernel. I also look forward to bringing more downstream kernel developers into Fedora so they can continue making changes and fixes directly in Fedora.
You probably mean had since if you look at the distribution in whole and what has been happening increasingly, starting with the project being aligned to match RHEL 3 products few years back and then someone at Raleigh taking a concept that work so well on a generic distribution and apply that to *everything* and started dumping RHEL problems and alpha products into Fedora in the masses, dusting their hands, patting themselves on the back, problem solved, the community figures something out. With the community staring back o_O, saying thanks for dumping that load of crap onto us, <sigh> let's add it to the pile...
Originally it was the agility of the Fedora distribution, which reflected the industry direction through the community contribution in the project, which gave RH that valuable business insight to build upon and marketing advantage that came thereof but now the fact is, these changes to the project in whole are bubbling up from RH(EL) not tripling down from Fedora's community and all those RH changes that started small as you are proposing/doing have grown into this unmovable monstrosity of chopped fragmented blob resembling an distribution that is only move by "if it builds, let's ship it" chants.
People cant get anything done of what needs to be done since it's a political fight with RH or they end up hitting a wall with conservative RHEL maintainers since those changes might affect RH(EL) customer base or add to his or hers RH(EL) maintenance burden. If somehow people get passed that, through miracles or years of bribery and Cthulhu sacrifices, they end up getting smacked in the face with two ton bureaucracy machine and left for dead at the sidewalk, stamped feature 100% complete.
JBG
On Tue, Nov 12, 2019 at 01:55:05AM +0000, Jóhann B. Guðmundsson wrote:
Originally it was the agility of the Fedora distribution, which reflected the industry direction through the community contribution in the project, which gave RH that valuable business insight to build upon and marketing advantage that came thereof but now the fact is, these changes to the project in whole are bubbling up from RH(EL) not tripling down from Fedora's community and all those RH changes that started small as you are proposing/doing have grown into this unmovable monstrosity of chopped fragmented blob resembling an distribution that is only move by "if it builds, let's ship it" chants.
Let's not overgeneralize. If the RHEL spec has some changes that are also beneficial in Fedora (e.g. the module compression work), than we want to merge them "up". If there are differences between the Fedora and RHEL specs that make moving fixes back and forth awkward and make the life of kernel maintainers harder, then we want to synchronize the specs. We're not talking about developing some "technology" here, and while I agree that in general it is better to develop new code upstream, this hardly applies to a spec file.
(Also, in general, when stuff was developed downstream in the past, let's applaud the people who want to move it upstream, not make it sound like they are doing something wrong.)
Zbyszek
kernel@lists.fedoraproject.org