Bug 2103293

Summary: libxml2-devel-2.9.7-14.el8.x86_64.rpm missing from AppStream
Product: Red Hat Enterprise Linux 8 Reporter: Wong Hoi Sing Edison <hswong3i>
Component: libxml2Assignee: David King <dking>
Status: CLOSED NOTABUG QA Contact: Vera Budikova <vbudikov>
Severity: medium Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: ashankar, bstinson, codonell, dj, fweimer, jwboyer, mnewsome, ohudlick, pfrankli, sipoyare, vbudikov
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-07-05 17:13:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
nothing provides libxml2(x86-64) = 2.9.7-11.el8 needed by libxml2-devel, (got version 2.9.7-14.el8 provided by libxml2) none

Description Wong Hoi Sing Edison 2022-07-02 00:45:48 UTC
Created attachment 1894011 [details]
nothing provides libxml2(x86-64) = 2.9.7-11.el8 needed by libxml2-devel, (got version 2.9.7-14.el8 provided by libxml2)

Description of problem:


From https://bugzilla.redhat.com/show_bug.cgi?id=2102548, we are facing a limitation from OBS (https://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#Adding_multiple_repositories_to_a_project):

> The order of the included repositories is important: The BuildService will try to use a package from the first repository that includes the package, even if the version doesn't match.

From https://lists.opensuse.org/archives/list/buildservice@lists.opensuse.org/message/HHGG5FZEZZYK33BXP7QEEOO67B2XRPE2/, we support to move OBS repo order in "BaseOS > AppStream":

> However, this order is supposed to work, see https://bugzilla.redhat.com/show_bug.cgi?id=2102548#c8. Based on some internal discussions, I expect that we treat violations of the BaseOS > AppStream rule as content glitches that need to be fixed.

It does solve most of the problem, but my project still coming with 15 packages with missing dependency (https://build.opensuse.org/project/monitor/home:alvistack?arch_x86_64=1&defaults=0&repo_CentOS_8_Stream=1&unresolvable=1):

> nothing provides libxml2(x86-64) = 2.9.7-11.el8 needed by libxml2-devel, (got version 2.9.7-14.el8 provided by libxml2)

From https://pkgs.org/search/?q=libxml2, we could find that libxml2-devel-2.9.7-13.el8.x86_64.rpm and libxml2-devel-2.9.7-14.el8.x86_64.rpm ONLY exists in AppStream, but missing from BaseOS. Since libxml2-2.9.7-14.el8.x86_64.rpm is now coming from BaseOS ONLY, corresponding libxml2-devel-2.9.7-14.el8.x86_64.rpm should also co-exist in BaseOS, too?

Comment 1 Wong Hoi Sing Edison 2022-07-03 12:59:22 UTC
With AlviStack's "Just patch it, don't wait" principal, I solve this issue for my self by backport libxml2 2.9.14 from Debian Sid / Fedora Rawhide / openSUSE Thumbleweed with OBS: https://build.opensuse.org/package/show/home:alvistack/GNOME-libxml2-2.9.14.

Comment 2 Josh Boyer 2022-07-05 17:13:53 UTC
RHEL repo enablement in OBS continues to not understand the RHEL content split and we cannot fix that.

Both BaseOS and AppStream are required for RHEL installation and operation.  BaseOS is the foundational repo, with AppStream requiring BaseOS for dependencies.  In this specific case, it is perfectly fine for BaseOS to contain libxml2 and AppStream to contain libxml2-devel as both repositories are required to be enabled.