RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2150102 - libsolv-0.7.20-3.el8.x86_64 pulls in non-latest dependency on upgrade path
Summary: libsolv-0.7.20-3.el8.x86_64 pulls in non-latest dependency on upgrade path
Keywords:
Status: CLOSED DUPLICATE of bug 2150300
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: libsolv
Version: 8.7
Hardware: All
OS: Unspecified
urgent
urgent
Target Milestone: rc
: ---
Assignee: Packaging Maintenance Team
QA Contact: swm-qe
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-12-01 20:32 UTC by jcastran
Modified: 2022-12-05 13:04 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-12-05 13:03:59 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-141081 0 None None None 2022-12-01 20:46:28 UTC

Description jcastran 2022-12-01 20:32:47 UTC
Description of problem:
yum install poppler is incorrectly resolving dependencies. When we install poppler, we get a lower version of nss.
 
> NOTE Ubi systems will only see this if they also see a full repo such as the CDN since ubi repos don't have multiple versions of nss
> NOTE this is more widespread than just poppler and nss. This is just my example

**Reproducer Steps**
# podman run --rm -it --entrypoint=bash registry.access.redhat.com/ubi8/ubi-minimal:8.7-923
# microdnf install yum
[root@7bfe6edc1e56 /]# yum install poppler --assumeno
Last metadata expiration check: 2:15:55 ago on Thu Dec  1 17:28:23 2022.
Dependencies resolved.
==============================================================================================
 Package                  Arch    Version             Repository                         Size
==============================================================================================
Installing:
 poppler                  x86_64  20.11.0-5.el8       rhel-8-for-x86_64-appstream-rpms  1.1 M
Installing dependencies:
 dejavu-fonts-common      noarch  2.35-7.el8          rhel-8-for-x86_64-baseos-rpms      74 k
 dejavu-sans-fonts        noarch  2.35-7.el8          rhel-8-for-x86_64-baseos-rpms     1.5 M
 fontconfig               x86_64  2.13.1-4.el8        rhel-8-for-x86_64-baseos-rpms     274 k
 fontpackages-filesystem  noarch  1.44-22.el8         rhel-8-for-x86_64-baseos-rpms      16 k
 freetype                 x86_64  2.9.1-9.el8         rhel-8-for-x86_64-baseos-rpms     394 k
 jbigkit-libs             x86_64  2.1-14.el8          rhel-8-for-x86_64-appstream-rpms   55 k
 lcms2                    x86_64  2.9-2.el8           rhel-8-for-x86_64-appstream-rpms  165 k
 libjpeg-turbo            x86_64  1.5.3-12.el8        rhel-8-for-x86_64-appstream-rpms  157 k
 libpng                   x86_64  2:1.6.34-5.el8      rhel-8-for-x86_64-baseos-rpms     126 k
 libtiff                  x86_64  4.0.9-23.el8        rhel-8-for-x86_64-appstream-rpms  189 k
 nspr                     x86_64  4.34.0-3.el8_6      rhel-8-for-x86_64-appstream-rpms  143 k
 nss                      x86_64  3.44.0-15.el8       rhel-8-for-x86_64-appstream-rpms  703 k   <<<<<
 nss-softokn              x86_64  3.79.0-10.el8_6     rhel-8-for-x86_64-appstream-rpms  1.2 M
 nss-softokn-freebl       x86_64  3.79.0-10.el8_6     rhel-8-for-x86_64-appstream-rpms  398 k
 nss-sysinit              x86_64  3.44.0-15.el8       rhel-8-for-x86_64-appstream-rpms   70 k
 nss-util                 x86_64  3.79.0-10.el8_6     rhel-8-for-x86_64-appstream-rpms  139 k
 openjpeg2                x86_64  2.4.0-5.el8         rhel-8-for-x86_64-appstream-rpms  165 k
 poppler-data             noarch  0.4.9-1.el8         rhel-8-for-x86_64-appstream-rpms  2.1 M


[root@7bfe6edc1e56 /]# yum downgrade libsolv
Downgraded:
  libdnf-0.63.0-8.2.el8_6.x86_64                libsolv-0.7.20-1.el8.x86_64
  python3-hawkey-0.63.0-8.2.el8_6.x86_64        python3-libdnf-0.63.0-8.2.el8_6.x86_64

Complete!

[root@7bfe6edc1e56 /]# yum install poppler --assumeno
Last metadata expiration check: 2:17:29 ago on Thu Dec  1 17:28:23 2022.
Dependencies resolved.
==============================================================================================
 Package              Arch   Version                   Repository                        Size
==============================================================================================
Installing:
 poppler              x86_64 20.11.0-5.el8             rhel-8-for-x86_64-appstream-rpms 1.1 M
Installing dependencies:
 cpio                 x86_64 2.12-11.el8               rhel-8-for-x86_64-baseos-rpms    266 k
 crypto-policies-scripts
                      noarch 20211116-1.gitae470d6.el8 rhel-8-for-x86_64-baseos-rpms     83 k
 dejavu-fonts-common  noarch 2.35-7.el8                rhel-8-for-x86_64-baseos-rpms     74 k
 dejavu-sans-fonts    noarch 2.35-7.el8                rhel-8-for-x86_64-baseos-rpms    1.5 M
 dracut               x86_64 049-209.git20220815.el8   rhel-8-for-x86_64-baseos-rpms    378 k
 file                 x86_64 5.33-21.el8               rhel-8-for-x86_64-baseos-rpms     77 k
 findutils            x86_64 1:4.6.0-20.el8            rhel-8-for-x86_64-baseos-rpms    528 k
 fontconfig           x86_64 2.13.1-4.el8              rhel-8-for-x86_64-baseos-rpms    274 k
 fontpackages-filesystem
                      noarch 1.44-22.el8               rhel-8-for-x86_64-baseos-rpms     16 k
 freetype             x86_64 2.9.1-9.el8               rhel-8-for-x86_64-baseos-rpms    394 k
 gettext              x86_64 0.19.8.1-17.el8           rhel-8-for-x86_64-baseos-rpms    1.1 M
 gettext-libs         x86_64 0.19.8.1-17.el8           rhel-8-for-x86_64-baseos-rpms    313 k
 grub2-common         noarch 1:2.02-142.el8            rhel-8-for-x86_64-baseos-rpms    894 k
 grub2-tools          x86_64 1:2.02-142.el8            rhel-8-for-x86_64-baseos-rpms    2.0 M
 grub2-tools-minimal  x86_64 1:2.02-142.el8            rhel-8-for-x86_64-baseos-rpms    212 k
 jbigkit-libs         x86_64 2.1-14.el8                rhel-8-for-x86_64-appstream-rpms  55 k
 kbd-legacy           noarch 2.0.4-10.el8              rhel-8-for-x86_64-baseos-rpms    481 k
 kbd-misc             noarch 2.0.4-10.el8              rhel-8-for-x86_64-baseos-rpms    1.5 M
 kmod                 x86_64 25-19.el8                 rhel-8-for-x86_64-baseos-rpms    126 k
 lcms2                x86_64 2.9-2.el8                 rhel-8-for-x86_64-appstream-rpms 165 k
 libcroco             x86_64 0.6.12-4.el8_2.1          rhel-8-for-x86_64-baseos-rpms    113 k
 libgomp              x86_64 8.5.0-15.el8              rhel-8-for-x86_64-baseos-rpms    207 k
 libjpeg-turbo        x86_64 1.5.3-12.el8              rhel-8-for-x86_64-appstream-rpms 157 k
 libkcapi             x86_64 1.2.0-2.el8               rhel-8-for-x86_64-baseos-rpms     48 k
 libkcapi-hmaccalc    x86_64 1.2.0-2.el8               rhel-8-for-x86_64-baseos-rpms     31 k
 libpng               x86_64 2:1.6.34-5.el8            rhel-8-for-x86_64-baseos-rpms    126 k
 libtiff              x86_64 4.0.9-23.el8              rhel-8-for-x86_64-appstream-rpms 189 k
 nspr                 x86_64 4.34.0-3.el8_6            rhel-8-for-x86_64-appstream-rpms 143 k
 nss                  x86_64 3.79.0-10.el8_6           rhel-8-for-x86_64-appstream-rpms 747 k   <<<<<
 nss-softokn          x86_64 3.79.0-10.el8_6           rhel-8-for-x86_64-appstream-rpms 1.2 M
 nss-softokn-freebl   x86_64 3.79.0-10.el8_6           rhel-8-for-x86_64-appstream-rpms 398 k
 nss-sysinit          x86_64 3.79.0-10.el8_6           rhel-8-for-x86_64-appstream-rpms  75 k
 nss-util             x86_64 3.79.0-10.el8_6           rhel-8-for-x86_64-appstream-rpms 139 k
 openjpeg2            x86_64 2.4.0-5.el8               rhel-8-for-x86_64-appstream-rpms 165 k
 os-prober            x86_64 1.74-9.el8                rhel-8-for-x86_64-baseos-rpms     51 k
 poppler-data         noarch 0.4.9-1.el8               rhel-8-for-x86_64-appstream-rpms 2.1 M
 procps-ng            x86_64 3.3.15-9.el8              rhel-8-for-x86_64-baseos-rpms    329 k
 systemd-udev         x86_64 239-68.el8                rhel-8-for-x86_64-baseos-rpms    1.6 M
 which                x86_64 2.21-18.el8               rhel-8-for-x86_64-baseos-rpms     50 k
 xz                   x86_64 5.2.4-4.el8_6             rhel-8-for-x86_64-baseos-rpms    153 k
Installing weak dependencies:
 grubby               x86_64 8.40-47.el8               rhel-8-for-x86_64-baseos-rpms     50 k
 hardlink             x86_64 1:1.3-6.el8               rhel-8-for-x86_64-baseos-rpms     29 k
 kbd                  x86_64 2.0.4-10.el8              rhel-8-for-x86_64-baseos-rpms    390 k
 kpartx               x86_64 0.8.4-28.el8_7.1          rhel-8-for-x86_64-baseos-rpms    117 k
 memstrack            x86_64 0.2.4-2.el8               rhel-8-for-x86_64-baseos-rpms     51 k
 pigz                 x86_64 2.4-4.el8                 rhel-8-for-x86_64-baseos-rpms     79 k

Transaction Summary
==============================================================================================
Install  47 Packages


Version-Release number of selected component (if applicable):
libsolv-0.7.20-3.el8.x86_64

How reproducible:
Everytime

Expected results:
The latest dependency should be installed.

Additional info:
This is marked urgent as this is more widespread than just a poppler dependency. For another example, installing nss for instance results in crypto-policies being downgraded.
=======================================
[root@e10d4c77f44a /]# yum install nss
Upgrading:
 nss                 x86_64 3.79.0-10.el8_6            rhel-8-for-x86_64-appstream-rpms 747 k
<snip>
Downgrading:
 crypto-policies     noarch 20191128-2.git23e1bf1.el8  rhel-8-for-x86_64-baseos-rpms    103 k
=======================================


It appears this was caused by 
 - https://bugzilla.redhat.com/show_bug.cgi?id=1988117
 - https://pkgs.devel.redhat.com/cgit/rpms/libsolv/tree/0003-Improve-choice-rule-generation.patch?h=rhel-8.7.0&id=5b1f0d9db3c5329323f02d187b4b70cfd692d398

**Workaround**
# microdnf install <pkg>
# microdnf update

OR with yum, if you downgrade libsolv to 0.7.20-1.el8
# yum downgrade libsolv-0.7.20-1.el8

Comment 1 Kyle Walker 2022-12-02 13:26:41 UTC
I'm still working through the why, but this is due to the following patch that was included in libsolv-0.7.20-3:

	From fd52342713012ec111b1559fa1647f88768fa782 Mon Sep 17 00:00:00 2001
	From: Michael Schroeder <mls>
	Date: Wed, 16 Mar 2022 15:17:20 +0100
	Subject: [PATCH 3/3] Improve choice rule generation

	New strategy: take the package update map into account when creating
	choice rules. This simplifies the code quite a bit. Also check at
	the end of the solving if a choice rule led to two packages providing
	the same thing. In that case, break the choice rule and re-run the
	solver.
	---
	 src/rules.c  | 169 +++++++++++++--------------------------------------
	 src/solver.c |  45 ++++++++++++++
	 2 files changed, 88 insertions(+), 126 deletions(-)


Reverting that single patch results in the correct behaviour.

Comment 2 amatej 2022-12-05 13:03:59 UTC

*** This bug has been marked as a duplicate of bug 2150300 ***


Note You need to log in before you can comment on or make changes to this bug.