[CentOS-devel] De-branding in CentOS Stream 9

Sun Dec 5 01:27:03 UTC 2021
Neal Gompa <ngompa13 at gmail.com>

On Sat, Dec 4, 2021 at 7:26 PM Phil Perry <pperry at elrepo.org> wrote:
>
> On 04/12/2021 23:30, Josh Boyer wrote:
> > On Sat, Dec 4, 2021 at 3:50 PM Neal Gompa <ngompa13 at gmail.com> wrote:
> >>
> >> On Sat, Dec 4, 2021 at 3:21 PM Phil Perry <pperry at elrepo.org> wrote:
> >>>
> >>> On 04/12/2021 17:16, Neal Gompa wrote:
> >>>> On Sat, Dec 4, 2021 at 11:58 AM Phil Perry <pperry at elrepo.org> wrote:
> >>>>>
> >>>>> On 23/11/2021 12:24, Alex Iribarren wrote:
> >>>>>> Hi all,
> >>>>>>
> >>>>>> While trying to run the CentOS functional tests on CS9[*], I noticed
> >>>>>> that several fail because of branding issues. For example,
> >>>>>> p_httpd/httpd_centos_brand_server_tokens.sh expects the server string to
> >>>>>> match `Apache.*\ (CentOS)`, when in fact the server line is:
> >>>>>>
> >>>>>> Server: Apache/2.4.51 (Red Hat Enterprise Linux 9) OpenSSL/3.0.0
> >>>>>>
> >>>>>> This got me thinking about how de-branding is supposed to work in CS9. I
> >>>>>> would guess the usual process would have to be reversed now, where Red
> >>>>>> Hat would remove the CentOS brand from CS9 packages and add the Red Hat
> >>>>>> brand for the RHEL 9.0 builds, but clearly this isn't happening yet. I
> >>>>>> guess this is an oversight?
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Alex
> >>>>>>
> >>>>>> [*] I know, I know, but I have to run *something* before you guys
> >>>>>> release your own functional test suite for CS9!
> >>>>>
> >>>>> In the absence of anyone from the project commenting, I'm wondering how
> >>>>> RHEL branding could have possibly got into a CentOS Stream release in
> >>>>> the first place?
> >>>>>
> >>>>> The pictorial representation we are given is clear:
> >>>>>
> >>>>> https://blog.centos.org/2021/12/introducing-centos-stream-9/
> >>>>>
> >>>>> CentOS Stream is forked from Fedora Rawhide and exists upstream of any
> >>>>> RHEL release so it's hard to envisage how this could possibly have
> >>>>> happened. Surely now it is a case of RH removing CentOS branding for
> >>>>> their RHEL release if Stream is truly the upstream development of RHEL?
> >>>>>
> >>>>> Wouldn't it be simpler to just call it RHEL Stream and do away with the
> >>>>> extra layer of obfuscation and confusion, as that's more what it looks
> >>>>> like (if it walks like a duck...)
> >>>>
> >>>> That would be a significant deviation of Red Hat's own brand strategy.
> >>>> *All* of Red Hat's products have a "project brand" and a "product
> >>>> brand".
> >>>>
> >>>> This has two major advantages:
> >>>>
> >>>> 1. It enshrines branding as an aspect of differentiation for the Red
> >>>> Hat offering
> >>>> 2. It makes it easy for third parties to make their own branded
> >>>> product offerings based on the project and strengthen the ecosystem.
> >>>>
> >>>> In this particular case with Apache HTTPD, it's happening because
> >>>> CentOS Stream uses the "Red Hat Enterprise Linux" BZ support product,
> >>>> and that's how it gets set at build-time.
> >>>>
> >>>> See here: https://gitlab.com/redhat/centos-stream/rpms/httpd/-/blob/9d1c57410b67b48856876b6068b36bd3d1aa32d5/httpd.spec#L6
> >>>>
> >>>> It's an easy fix, I'll have it proposed momentarily.
> >>>>
> >>>>
> >>>>
> >>>
> >>> Hi Neal,
> >>>
> >>> Thanks for the explanation, most helpful. However, again I'm confused as
> >>> the spec file referenced above has two references in the changelog to
> >>> having been rebuilt for RHEL 9 Beta. Again, how can anything that has
> >>> happened downstream in a RHEL 9 Beta end up back in the upstream Stream
> >>> product? The fact the two changelog entries are 2 months apart suggest
> >>> there is little separation between the RHEL 9 Beta and CentOS Stream 9.
> >
> > RHEL 9 Beta was built from CentOS Stream 9.  We had a soft opening
> > back in April, and RHEL 9 work has been flowing through CentOS Stream
> > 9.  It takes a while to create any RHEL release, Beta or otherwise, so
> > having 2 commits months apart reference 9 Beta isn't uncommon.
> >
> >>> Clearly the pictorial representation presented of the relationship
> >>> between Stream and RHEL is not an accurate one.
> >
> > It is accurate.  Can you help me understand what is confusing?  It
> > shows CentOS Stream 9 being a continuously delivered OS, with RHEL
> > releases being derived from it.  In this case, work went into CentOS 9
> > Stream and a while later it showed up in 9 Beta.
> >
>
> The pictorial representation shows RHEL 9 Beta (or any RHEL release for
> that matter) being forks off the continuously delivered CentOS Stream.
> There is no feedback loop shown whereby once forked, anything that
> happens in RHEL 9 Beta can end up back in Stream, as Stream has moved on
> since then.
>
> As you say, this fork happened back in April. The httpd SPEC file shows
> a rebuild for RHEL 9 Beta on April 16th, and again on June 16th. How can
> the rebuild for RHEL 9 Beta on Jun 16th (or at least the changelog
> entry) that occurred 2 months _after_ the fork end up back in Stream?
> Their paths diverged (at least) 2 months previously, never to meet again
> according to the pictorial representation?
>
> Maybe it's just semantics, or a naming thing, but there are irresolvable
> inconsistencies between the pictorial representation presented and the
> SPEC file changelog entries.
>

The RHEL 9 Beta is largely based on CentOS Stream 9 content at the end
of August. You can tell because most packages have the changelog entry
for the mass build to add IMA signatures from the beginning of August
with a few others ending at mid to late August. There are some
packages that were backported from c9s to the beta, and you can tell
because they have the DistTag "el9_b", and their changelog entries
reach up to the end of September.

People have been fixing things in CentOS Stream 9 based on bugs found
in the RHEL 9 Beta, but I agree the feedback loop is pretty bad for
the Beta still.



-- 
真実はいつも一つ!/ Always, there's only one truth!