Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-17690

"yum update --security" breaks due to multiarch

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Normal Normal
    • None
    • rhel-8.8.0
    • libdnf
    • None
    • Normal
    • sst_cs_software_management
    • ssg_core_services
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • None

      What were you trying to do that didn't work?

      Trying to update packages having security issues, the update fails because of multiarch not selecting the proper package in the transaction:

      # yum update --security
      [...]
      Error: 
       Problem: ncurses-libs-6.1-9.20180224.el8_8.1.i686 from @System  does not belong to a distupgrade repository
        - cannot install both ncurses-libs-6.1-10.20180224.el8.x86_64 from os and ncurses-libs-6.1-9.20180224.el8_8.1.x86_64 from @System
        - cannot install both ncurses-libs-6.1-10.20180224.el8.x86_64 from os and ncurses-libs-6.1-9.20180224.el8_8.1.x86_64 from os
        - cannot install both ncurses-libs-6.1-9.20180224.el8_8.1.x86_64 from os8eus and ncurses-libs-6.1-10.20180224.el8.x86_64 from os
        - cannot install the best update candidate for package ncurses-libs-6.1-9.20180224.el8_8.1.i686
        - cannot install the best update candidate for package ncurses-libs-6.1-9.20180224.el8_8.1.x86_64
      

      yum check-update --security shows only ncurses-libs.x86_64 needs an update:

      # yum check-update --security
      [...]
      ncurses-libs.x86_64                                       6.1-10.20180224.el8                                       os
      

      The solution to workaround this is to do a non-security update of the failing package:

      # yum update ncurses-libs
      [...]
      

      Then eventually the --security command will work:

      # yum check-update --security
      [...]
      glibc-gconv-extra.i686                                         2.28-236.el8.7                                       os
      glibc-gconv-extra.x86_64                                       2.28-236.el8.7                                       os
      nss_db.i686                                                    2.28-236.el8.7                                       os
      nss_db.x86_64                                                  2.28-236.el8.7                                       os
      

      All this looks very confusing to customers hitting the issue.

      Please provide the package NVR for which bug is seen:

      libsolv-0.7.20-6.el8.x86_64

      How reproducible:

      Always

      Steps to reproduce

      1. Update the system to latest packages (8.9)
      2. Install an older ncurses-libs for i686 arch
          # yum install ncurses-c++-libs-6.1-9.20180224.el8_8.1.i686
          
      3. Install nss_db and downgrade glibc and libgcc
          # yum -y install nss_db
          # yum -y downgrade glibc-2.28-225.el8_8.6 libgcc-8.5.0-18.el8
          
      4. Try applying security updates
          # yum update --security 
          

      Expected results

      Works

      Actual results

      Fails:

      Error: 
       Problem 1: glibc-gconv-extra-2.28-225.el8_8.6.i686 from @System  does not belong to a distupgrade repository
        - cannot install both glibc-gconv-extra-2.28-236.el8.7.x86_64 from os and glibc-gconv-extra-2.28-225.el8_8.6.x86_64 from @System
        - cannot install both glibc-gconv-extra-2.28-236.el8.7.x86_64 from os and glibc-gconv-extra-2.28-225.el8_8.6.x86_64 from os
        - cannot install both glibc-gconv-extra-2.28-225.el8_8.6.x86_64 from os8eus and glibc-gconv-extra-2.28-236.el8.7.x86_64 from os
        - cannot install the best update candidate for package glibc-gconv-extra-2.28-225.el8_8.6.i686
        - cannot install the best update candidate for package glibc-gconv-extra-2.28-225.el8_8.6.x86_64
       Problem 2: nss_db-2.28-225.el8_8.6.i686 from @System  does not belong to a distupgrade repository
        - cannot install both nss_db-2.28-236.el8.7.x86_64 from os and nss_db-2.28-225.el8_8.6.x86_64 from @System
        - cannot install both nss_db-2.28-236.el8.7.x86_64 from os and nss_db-2.28-225.el8_8.6.x86_64 from os
        - cannot install both nss_db-2.28-225.el8_8.6.x86_64 from os8eus and nss_db-2.28-236.el8.7.x86_64 from os
        - cannot install the best update candidate for package nss_db-2.28-225.el8_8.6.x86_64
        - cannot install the best update candidate for package nss_db-2.28-225.el8_8.6.i686
      

            amatej@redhat.com Ales Matej
            rhn-support-rmetrich Renaud Métrich
            packaging-team-maint packaging-team-maint
            Software Management QE Software Management QE
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: