Bug 437113
Summary: | Conflicting files when upgrading perl from RHEL 5.1 to RHEL 5.2 beta | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Alexander Todorov <atodorov> |
Component: | perl | Assignee: | Stepan Kasal <kasal> |
Status: | CLOSED NOTABUG | QA Contact: | desktop-bugs <desktop-bugs> |
Severity: | high | Docs Contact: | |
Priority: | low | ||
Version: | 5.1 | CC: | borgan, jlaska, kasal |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2008-03-13 12:27:07 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Alexander Todorov
2008-03-12 14:35:38 UTC
Is this a multilib issue? Why not have the manuals in perl-manuals.noarch and add it as a dependency to the actual perl packages? workaround is to remove perl.i386 on the x86_64 system The i386 package has version 5.8.8-10, which is not the same as 5.8.8-10.el5_0.2. This is why I suspect this is not a bug. I'll have an opportunity to discuss this with the reporter in person tomorrow. Results from more testing: 1. Install RHEL-5-Server/U1/x86_64. perl-5.8.8-10.x86_64 is installed 2. Configure yum repo for RHEL-5-Server/U1/i386 and install perl-5.8.8-10.i386. No file conflicts. 3. Configure yum repo for RHEL5.2 Server beta/x86_64. yum upgrade perl will try to upgrade the x86_64 version of the package which leads to file conflicts (probably with the i386 version of the old package) 4. Configure yum repo for RHEL5.2 Server beta i386. Both perl packages are upgraded to perl-5.8.8-10.el5_0.2 without errors. I agree that this is a corner case but will need answers to some questions before we move this to NOTABUG. Stepan, I have some questions: 1) Why do not both perl packages conflict? If they are 32bit vs. 64bit then they are different but contain the same manual pages. Is that by design? 2) How does perl-5.8.8-10.el5_0.2.x86_64 relate to perl-5.8.8-10.i386 wrt 1)? i.e. how does the newer x86_64 package know that conflicting manual pages are from the old i386 package but not from the old x86_64 package? That seems odd. 3) How is the upgrade of both 32/64 bit packages possible when they still have the same man pages even in the new version? There is no conflict. Alexander, short answer for the record: When you have foo-1.0-5.i386 and foo-1.0-5.x86_64, they are allowed to contain the same file, if their content is identical. This is because both packages have the same name-version-release triple, the arch is the only difference. When installed, the file is owned by these two packages, but iin this case, rpm allows it. I believe this answers bith 1) and 3). About 2): Upgrading the x86_64 package is very similar to uninstalling the old version and installing the new version. As explained above, the man pages were owned "twice" but that was not conflict. When perl-5.8.8-10.x86_64 in uninstalled, these man pages are owned by only one package (perl-5.8.8-10.i386), which is ok, of course. Then, perl-5.8.8-10.el5_0.2.x86_64 is installed. The manual page in this new build differs from the manual page from the previous build, and this is the conflict. Stepan, thank you for your explanation. As in comment #4 if both 32/64 bit packages are present for upgrade they are upgraded without any errors. |