-
Sub-task
-
Resolution: Obsolete
-
Major
-
None
-
None
-
False
-
False
-
-
0
-
Testable
-
rhel-conversions
-
-
-
The parent issue RHELC-1602 has the label that triggered autocreation of this subtask to track the relative story point estimation for the integration test part of the issue.
The parent issue description at the time of creation of this issue was:
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
- Get a Rocky 9.4 machine
- Run convert2rhel analyze --debug -u username -p password ...
- Observe the error
Minimal reproducer out of convert2rhel
- Get a Rocky 9.4 machine
- run a dnf shell
# dnf -v shell > ts > swap rocky-logos https://rhsm-pulp.corp.redhat.com/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
- 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://rhsm-pulp.corp.redhat.com/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