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

Wed Jan 13 02:11:11 UTC 2021
Carl George <carl at redhat.com>

MBS (the module build system) injects it's own dist tag into the
release.  We don't have control over it.  The rest of the release
field is right there in the spec file, and is what we get exported
from internal RHEL dist-git to git.centos.org.  As noted when
comparing the spec files, this isn't actually a downgrade.  If/when
there is an actual change to httpd planned for RHEL 8.4, we'll get a
new export, which will be built against the platform:8.4.0 module,
which will result in a properly evaluated release field, either by
having a higher number at the beginning of the release (e.g. -31), or
with module_el8.4.0 in the middle.

On Tue, Jan 12, 2021 at 10:42 AM redbaronbrowser via CentOS-devel
<centos-devel at centos.org> wrote:
>
> On Tuesday, January 12, 2021 9:16 AM, Johnny Hughes <johnny at centos.org> wrote:
>
> > 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.
>
> Please re-read what is asking here because you seem to be skipping over some helpful feedback.
>
> We have no expectation Stream and CentOS/RHEL 8 to perfectly match up.  Respectfully, that is not what is being asked.
>
> Instead, please look at this from a novice user's point of view.
>
> A novice is told from the Project Shift FAQ the following:
> "CentOS Stream will be getting fixes and features ahead of RHEL. Generally speaking we expect CentOS Stream to have fewer bugs and more runtime features as it moves forward in time but always giving direct indication of what is going into a RHEL release"
>
> Then the novice's first experience switch to Stream is to get a message from dnf that packages will be "downgraded."  This is the point we get to the confusion and discouraging adoption of Stream.  The word "downgrade" implies Stream is not living up to being ahead in getting fixes and features.
>
> But unlike a novice, Yedidyah Bar David has done his homework and shown Stream is providing everything it should.  All the same sources and patches.  It is just the Koji build number causing Stream to get flagged as a "downgrade" instead of being shown as the "side-grade" that is actually being performed.
>
> So just please treat this as a Feature request to avoid novice user confusion:
>
> Why is Stream using "Release: 30%{?dist}.0.1" instead of "Release: 30.0.1%{?dist}"?
>
> The current release format is resulting in misleading output from dnf based on koji build numbers.  Since CentOS 8/RHEL 8 will frequently have build number later than Stream, wouldn't it be preferable to prefix the build number such that Stream gets treated by dnf as an upgrade instead of a downgrade?
>
>
> _______________________________________________
> CentOS-devel mailing list
> CentOS-devel at centos.org
> https://lists.centos.org/mailman/listinfo/centos-devel
>


-- 
Carl George