[CentOS-devel] Upgrade to Stream wants to downgrade e.g. httpd

Tue Jan 12 15:16:31 UTC 2021
Johnny Hughes <johnny at centos.org>

On 1/10/21 5:18 AM, Yedidyah Bar David wrote:
> Hi all,
> 
> I have a CentOS 8.3 machine I want to upgrade to Stream following [1].
> 
> After fighting with it a bit due to oVirt-specific issues [2], I
> reached the current point: doing 'dnf update' updated everything
> nicely, but now doing 'dnf distro-sync' wants to downgrade these
> packages:
> 
> Downgrading:
>  httpd       x86_64 2.4.37-30.module_el8.3.0+462+ba287492.0.1   appstream 1.7 M
>  httpd-filesystem
>              noarch 2.4.37-30.module_el8.3.0+462+ba287492.0.1   appstream  37 k
>  httpd-tools x86_64 2.4.37-30.module_el8.3.0+462+ba287492.0.1   appstream 104 k
>  mod_ssl     x86_64 1:2.4.37-30.module_el8.3.0+462+ba287492.0.1 appstream 133 k
>  python3-docutils
>              noarch 0.14-12.module_el8.3.0+389+6a62c88d         appstream 1.6 M
>  python36    x86_64 3.6.8-2.module_el8.3.0+389+6a62c88d         appstream  19 k
> 
> I specifically mention httpd in Subject because that's the one I spent
> some time looking at, but the issue is general.
> 
> I currently have httpd-2.4.37-30.module_el8.3.0+561+97fdbbcc.x86_64 .
> It seems to be the result of [3], which says it was built from:
> git+https://git.centos.org/rpms/httpd#2f74eecf85362e67c403b7b1386a729da3e5c33d
> .
> 
> distro-sync wants to downgrade to
> 2.4.37-30.module_el8.3.0+462+ba287492.0.1 , which seems to be the
> result of [4], which says it was built from:
> git+https://git.centos.org/rpms/httpd#fcb5444a5c0aefcd065e6c4a805a454e4988b78c
> .
> 
> cloning the git repo, and then checking the difference between them, I get:
> 
> $ git diff 2f74eecf fcb5444a
> diff --git a/SPECS/httpd.spec b/SPECS/httpd.spec
> index 8322bd8..7d66f2e 100644
> --- a/SPECS/httpd.spec
> +++ b/SPECS/httpd.spec
> @@ -13,7 +13,7 @@
>  Summary: Apache HTTP Server
>  Name: httpd
>  Version: 2.4.37
> -Release: 30%{?dist}
> +Release: 30%{?dist}.0.1
>  URL: https://httpd.apache.org/
>  Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
>  Source1: centos-noindex-8.0.tar.gz
> 
> So:
> 
> 1. The sources seem to be identical, right now, with the only
> difference being the 'Release:'.
> 
> 2. I failed to find where '462+ba287492' and '561+97fdbbcc' are coming
> from. I assume they are automatically-generated during the build
> process, but not saved in the dist-git repo. These seem to be what's
> causing the "newer" version in Stream to be considered a "Downgrade" -
> 462 < 561. Perhaps they are some kind of timestamps, or increasing
> counters, etc., and '462' was built earlier than '561', even if in all
> other regards it should be considered "newer".
> 
> 3. Perhaps the intention was to have the release in Stream:
> 
>     Release: 30.0.1%{?dist}
> 
> ?
> I think this would have caused this to not be considered a downgrade.
> I might be missing something.
> 
> 4. IMO this is a bit confusing/discouraging. Can/Do we do anything so
> that 8-Stream packages are always >= 8.3 ones? Perhaps a fix should be
> manually applied to each and every package (if at all), but just
> generating a report somewhere, perhaps with a place to a link to a bug
> per package as applicable, can be done in batch, more-or-less, if I
> got it right. Do we have something like this? Do we want something
> like this?
> 
> 5. Perhaps (alternatively?), Stream's version should just be rebuilt,
> e.g. with 'Release: 30%{?dist}.0.2'.
> 
> Thanks and best regards,
> 
> [1] https://www.centos.org/centos-stream/
> 
> [2] https://github.com/oVirt/ovirt-cockpit-sso/pull/30
> 
> [3] https://koji.mbox.centos.org/koji/buildinfo?buildID=14516
> 
> [4] https://koji.mbox.centos.org/koji/buildinfo?buildID=12971
> 

Some things, especially modules, will not matchup between stream and
CentOS Linux 8.  That is just how it is.