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

Sun Dec 5 13:55:23 UTC 2021
Leon Fauster <leonfauster at googlemail.com>

Am 05.12.21 um 01:26 schrieb Phil Perry:
> 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.
>


I find this illustration interesting (starting at second 1355)


https://www.youtube.com/watch?v=oktwEpjO38M&t=1355s


--
Leon