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

Sat Dec 4 23:30:33 UTC 2021
Josh Boyer <jwboyer at redhat.com>

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.

There are cases, such as embargoed CVEs, where RHEL gets work first,
but drawing diagrams for every possible scenario isn't really helpful.

> So far, I haven't seen any updates released for RHEL 9 beta, but any
> updates would be released from auto-rebuilds for c9s to the rhel9.0
> branch internally, most likely.
>
> I hope there is a refresh soon, because the current media calls itself
> beta0, which implies beta1 or beta2 composes will exist.

RHEL major releases have two different kinds of Betas.  There is the
public beta, which is accessible via FTP by anyone, and there is a
customer Beta program for RHEL customers that have subscriptions.  We
do not refresh the public Beta.

As a reminder, those interested in any possible updates to RHEL 9
before the GA can sign up for a free Developer subscription and have
access to the Beta channels on CDN.

> If you think of the development process of CentOS Stream and RHEL like
> how Fedora packages are developed, it'll probably be easier to
> understand. That is, c9s is the head branch, and developers would
> merge that back into rhel9.0 and rhel9.0-pre branches.

This is a good way to think about the general development flow.

josh