Uploaded image for project: 'RHEL Conversions'
  1. RHEL Conversions
  2. RHELC-1602

DNF transaction fails with rocky-logos conflict on Rocky Linux 9.4

    • 3
    • Testable

      Any attempt of running either convert or analysis on Rocky Linux 9.4 fails on transaction validation, where rocky-logos conflicts with file from redhat-logos.

      Validating the dnf transaction set, no modifications to the system will happen this time.
      [2024-06-13T13:10:15+0000] DEBUG - Got the following exception message: Transaction test error:
        file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
      
      CRITICAL - Failed to validate the dnf transaction.
      ERROR - (ERROR) VALIDATE_PACKAGE_MANAGER_TRANSACTION::FAILED_TO_VALIDATE_TRANSACTION - Failed to validate dnf transaction.
       Description: During the dnf transaction execution an error occured and convert2rhel could no longer process the transaction.
       Diagnosis: Transaction processing failed with error: Transaction test error:
        file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
      
       Remediations: N/A
      
      CRITICAL - The conversion process failed.
      

      Reproducer

      1. Get a Rocky 9.4 machine
      2. Run convert2rhel analyze --debug -u username -p password ...
      3. Observe the error

      Minimal reproducer out of convert2rhel

      1. Get a Rocky 9.4 machine
      2. run a dnf shell
        # dnf -v shell
        > ts
        > swap rocky-logos https://<redacted>/content/dist/rhel9/9.4/x86_64/appstream/os/Packages/r/redhat-logos-90.4-2.el9.x86_64.rpm
        redhat-logos-90.4-2.el9.x86_64.rpm                                                                                                                                                                          2.7 MB/s | 234 kB     00:00    
        > run
         
      1. Observe the error
        --> Starting dependency resolution
        --> Finding unneeded leftover dependencies
        ---> Package redhat-logos.x86_64 90.4-2.el9 will be installed
        ---> Package rocky-logos.x86_64 90.15-2.el9 will be erased
        --> Finished dependency resolution
        ================================================================================================================================================================================
         Package                                     Architecture                          Version                                    Repository                                   Size
        ================================================================================================================================================================================
        Installing:
         redhat-logos                                x86_64                                90.4-2.el9                                 @commandline                                234 k
        Removing:
         rocky-logos                                 x86_64                                90.15-2.el9                                @appstream                                  763 k
        
        Transaction Summary
        ================================================================================================================================================================================
        Install  1 Package
        Remove   1 Package
        
        Total size: 234 k
        Is this ok [y/N]: y
        Downloading Packages:
        Running transaction check
        Transaction check succeeded.
        Running transaction test
        Error: Transaction test error:
          file /usr/share/redhat-logos from install of redhat-logos-90.4-2.el9.x86_64 conflicts with file from package rocky-logos-90.15-2.el9.x86_64
        
        repo: using cache for: baseos
        baseos: using metadata from Thu 13 Jun 2024 03:57:28 AM UTC.
        repo: using cache for: appstream
        appstream: using metadata from Wed 12 Jun 2024 10:23:09 PM UTC.
        repo: using cache for: extras
        extras: using metadata from Fri 10 May 2024 02:45:43 PM UTC.
        Last metadata expiration check: 0:37:21 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
        

      The culprit seems to be a file in /usr/share/redhat-logos directory.
      It looks like the package was poorly re-built and the directory with the files was left there including the ownership. Interestingly enough, the files in the dir are not owned by the rpm.

      ###
      # rpm -q --filesbypkg rocky-logos
      {output obfuscated}
      rocky-logos               /usr/share/redhat-logos
      rocky-logos               /usr/share/rocky-logos
      rocky-logos               /usr/share/rocky-logos/fedora_logo.svg
      rocky-logos               /usr/share/rocky-logos/fedora_logo_darkbackground.svg
      rocky-logos               /usr/share/rocky-logos/fedora_logo_lightbackground.svg
      
      ###
      # rpm -q --filesbypkg redhat-logos
      {output obfuscated}
      redhat-logos              /usr/share/redhat-logos
      redhat-logos              /usr/share/redhat-logos/fedora_logo.svg
      redhat-logos              /usr/share/redhat-logos/fedora_logo_darkbackground.svg
      

      Removing the /usr/share/redhat-logos directory prior to the transaction makes the swap possible.

      [root@ip-10-31-12-206 ~]# rm -rf /usr/share/redhat-logos
      [root@ip-10-31-12-206 ~]# dnf -vvv shell
      Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
      DNF version: 4.14.0
      cachedir: /var/cache/dnf
      User-Agent: constructed: 'libdnf (Rocky Linux 9.4; generic; Linux.x86_64)'
      repo: using cache for: baseos
      baseos: using metadata from Thu 13 Jun 2024 03:57:28 AM UTC.
      repo: using cache for: appstream
      appstream: using metadata from Wed 12 Jun 2024 10:23:09 PM UTC.
      repo: using cache for: extras
      extras: using metadata from Fri 10 May 2024 02:45:43 PM UTC.
      Last metadata expiration check: 0:39:20 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
      > ts
      --> Starting dependency resolution
      --> Finished dependency resolution
      > swap rocky-logos https://<redacted>/content/dist/rhel9/9.4/x86_64/appstream/os/Packages/r/redhat-logos-90.4-2.el9.x86_64.rpm
      redhat-logos-90.4-2.el9.x86_64.rpm                                                                                                              1.6 MB/s | 234 kB     00:00    
      > run
      --> Starting dependency resolution
      --> Finding unneeded leftover dependencies
      ---> Package redhat-logos.x86_64 90.4-2.el9 will be installed
      ---> Package rocky-logos.x86_64 90.15-2.el9 will be erased
      --> Finished dependency resolution
      ================================================================================================================================================================================
       Package                                     Architecture                          Version                                    Repository                                   Size
      ================================================================================================================================================================================
      Installing:
       redhat-logos                                x86_64                                90.4-2.el9                                 @commandline                                234 k
      Removing:
       rocky-logos                                 x86_64                                90.15-2.el9                                @appstream                                  763 k
      
      Transaction Summary
      ================================================================================================================================================================================
      Install  1 Package
      Remove   1 Package
      
      Total size: 234 k
      Is this ok [y/N]: y
      Downloading Packages:
      Running transaction check
      Transaction check succeeded.
      Running transaction test
      Transaction test succeeded.
      Running transaction
        Preparing        :                                                                                                                                                        1/1 
        Installing       : redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Running scriptlet: redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Erasing          : rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
      warning: file /usr/share/rocky-logos/fedora_logo_lightbackground.svg: remove failed: No such file or directory
      warning: file /usr/share/rocky-logos/fedora_logo_darkbackground.svg: remove failed: No such file or directory
      warning: file /usr/share/rocky-logos/fedora_logo.svg: remove failed: No such file or directory
      
        Running scriptlet: rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
        Running scriptlet: redhat-logos-90.4-2.el9.x86_64                                                                                                                         2/2 
        Running scriptlet: rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
        Verifying        : redhat-logos-90.4-2.el9.x86_64                                                                                                                         1/2 
        Verifying        : rocky-logos-90.15-2.el9.x86_64                                                                                                                         2/2 
      Completion plugin: Generating completion cache...
      Installed: redhat-logos-90.4-2.el9.x86_64
      Removed: rocky-logos-90.15-2.el9.x86_64
      
      Installed:
        redhat-logos-90.4-2.el9.x86_64                                                                                                                                                
      Removed:
        rocky-logos-90.15-2.el9.x86_64                                                                                                                                                
      
      Complete!
      

      Note that this conflict works also the other way around. Again, removing the directory helps to resolve the conflict. Just to keep in mind for possible rollback implementation.

      # dnf shell
      Last metadata expiration check: 0:51:22 ago on Thu 13 Jun 2024 01:48:01 PM UTC.
      > ts
      > swap redhat-logos rocky-logos
      > run
      ============================================================================================================================================================================================================================================================================================================================
       Package                                                                       Architecture                                                            Version                                                                         Repository                                                                      Size
      ============================================================================================================================================================================================================================================================================================================================
      Installing:
       rocky-logos                                                                   x86_64                                                                  90.15-2.el9                                                                     appstream                                                                      715 k
      Removing:
       redhat-logos                                                                  x86_64                                                                  90.4-2.el9                                                                      @@commandline                                                                  254 k
      
      Transaction Summary
      ============================================================================================================================================================================================================================================================================================================================
      Install  1 Package
      Remove   1 Package
      
      Total download size: 715 k
      Is this ok [y/N]: y
      Downloading Packages:
      rocky-logos-90.15-2.el9.x86_64.rpm                                                                                                                                                                                                                                                          6.8 MB/s | 715 kB     00:00    
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Total                                                                                                                                                                                                                                                                                       3.6 MB/s | 715 kB     00:00     
      Running transaction check
      Transaction check succeeded.
      Running transaction test
      Error: Transaction test error:
        file /usr/share/redhat-logos from install of rocky-logos-90.15-2.el9.x86_64 conflicts with file from package redhat-logos-90.4-2.el9.x86_64
      

              ddiblik@redhat.com Daniel Diblik
              ddiblik@redhat.com Daniel Diblik
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: