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

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

 



On Tue, Mar 24, 2020 at 10:32:26AM +0100, Aleksandra Fedorova wrote:
As Ben is on PTO, I'd like to present the System-Wide Change

https://fedoraproject.org/wiki/Changes/ELN_Buildroot_and_Compose
[snip]

It has taken me some time, but I have read through the entire thread in
addition to the change proposal.  The idea sounds really interesting to me and
a lot of points have come up on the thread.  I decided to group my responses
together as this single email after reading through the entire thread to make
it a bit easier to read (and to write).

TL;DR -- I think this proposal should be broken up in to 2 proposals

The turning point for me in the change proposal was the discussion of the RPM
spec file macros and getting in to the mechanics of how ELN will work.  It
looks like a lot of other people had the same reaction because many of the
responses get in to the technical details and for some questions, there are no
answers yet.  After thinking about it for a while, it would make sense to me
to have ELN come up in multiple phases/proposals.

Suggested Proposals:

1) ELN buildroot and install media

   In this proposal, I'd like to see the ELN buildroot defined, the Koji
   changes implemented, the automated builds implemented, and install media
   composes happening.

   The expectation here should be that it is rough around the edges.  But
   doing this gives the community something to see, use, and discuss further
   when reviewing the next change proposals.

   We should have some community goals with this proposal to capture a list of
   EL vs. Fedora differences and how to address those per package and in the
   context of ELN.

2) ELN lifecycle

   This gets in to more of the mechanics of how ELN builds can be handled by
   the community.  I do not think there is a one size fits all and we should
   give developers control over how best to handle this for the packages they
   maintain.

   The spec file macros, git branch ideas, inheritance, pull request workflow,
   what builds block what composes, who is responsible for ELN failures, and
   other expectations of package maintainers (both Fedora and RHEL) should be
   discussed here.  This proposal is definitely the policy side of things, but
   I think it would be easier to talk about after #1 is done.

Having seen multiple efforts to do a "RHEL rawhide" in a way (one even called
rhel-rawhide at one point), the ELN idea is one where the work is being
targeted in the right place.  As a Fedora contributor, I see RHEL as a
customer and if we can make their work easier, I want to do that.  As a RHEL
package maintainer, I see Fedora as a place where I can make my job easier as
a RHEL package maintainer.  The more things we get right on the community side
of things, the easier it is to produce RHEL.

Various comments from reading the thread:

* I'm not crazy about the %{?rhel} macro name.  I would prefer we use 'el'
  instead to cover RHEL and CentOS and EPEL.  Or at least have a 'el' macro
  that covers all three of those.

* I prefer the '.eln' dist tag carry a number indicating N+1 from the RHEL
  major release.  This should be ok in the community since Red Hat ultimately
  makes the decision to version RHEL.  This is an engineering decision and I
  think it would help imply that ELN is _not_ meant for current RHEL.  This
  also lets us entertain the idea of multiple ELN major versions concurrently
  should we ever want to do that.

* There has to be a deliverable for ELN.  What I would prefer is a live or
  install .iso.  Something I can install on a spare system or in a virt
  guest.  If it is only available as a buildroot in Koji, that becomes "black
  box" development which makes me less interested in working on it.

* There were a lot of comments about build differences between RHEL and Fedora
  where certain features are disabled or build dependencies reduced (e.g.,
  docs).  I think this is something that the community could even discuss
  rearchitecting at the package level in Fedora.  Things like vim-minimal, for
  instance.  Having different packages built with different features
  enabled/disabled.  Some of these things may be easiest handled with macros
  and others might be something we could handle by refactoring the packages
  themselves.

* Regardless of the mechanics, there is going to be more work here.  We all
  need to understand the expectations of the work required of a package
  maintainer and how best to coordinate with RHEL downstream.  In many cases,
  the package maintainers between RHEL and Fedora are the same.  But in many
  other cases they are not.  As a community we should set some clear
  guidelines on where the responsibility lies and have the right communication
  workflow in place to make sure that's easy for everyone.

* On that same note, RHEL package maintainers should have an expectation to
  co-maintain the corresponding package(s) in Fedora if they do not already.

Most of my comments here are on the mechanics, but before getting in to that
I'd like to see proposal #1 in some form happen first.  I'd like to talk about
the actual details once I have download an ELN iso and installed in a virt
guest.

This is a huge effort and I appreciate the proposal and discussion so far.
I've wanted something like this in Fedora for a long time simply because it
makes RHEL easier to work on.

Thanks,

--
David Cantrell <dcantrell@xxxxxxxxxx>
Red Hat, Inc. | Boston, MA | EST5EDT
_______________________________________________
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