Bug 1232315
| Summary: | File conflict with libertas-sd8787-firmware | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Vadim Rutkovsky <vrutkovs> |
| Component: | linux-firmware | Assignee: | Rafael Aquini <aquini> |
| Status: | CLOSED ERRATA | QA Contact: | Rachel Sibley <rasibley> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.2 | CC: | emcnabb, oliver, vrutkovs |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | linux-firmware-20150727-41.git75cc3ef.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-11-19 10:17:48 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Vadim Rutkovsky
2015-06-16 13:19:42 UTC
seeing the same with a newer version of linux-firmware: Transaction check error: file /usr/lib/firmware/mrvl/sd8787_uapsta.bin from install of linux-firmware-20150612-38.git3161bfa.el7.noarch conflicts with file from package libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch going from RHEL 7.1 to RHEL 7.2 latest Rafael, is this what you are looking for: rpm -qpl libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch.rpm /usr/lib/firmware/mrvl /usr/lib/firmware/mrvl/sd8787_uapsta.bin /usr/share/doc/libertas-sd8787-firmware-20140804 /usr/share/doc/libertas-sd8787-firmware-20140804/LICENCE.Marvell /usr/share/doc/libertas-sd8787-firmware-20140804/WHENCE (In reply to Oliver Haessler from comment #4) > Rafael, is this what you are looking for: > > rpm -qpl libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch.rpm > > /usr/lib/firmware/mrvl > /usr/lib/firmware/mrvl/sd8787_uapsta.bin > /usr/share/doc/libertas-sd8787-firmware-20140804 > /usr/share/doc/libertas-sd8787-firmware-20140804/LICENCE.Marvell > /usr/share/doc/libertas-sd8787-firmware-20140804/WHENCE After a closer look, this smells to me like a 3rd party RPM trying to own files it should not own. For the sake of better clarifications before taking any further action, here goes a couple more questions: a) Who provides libertas-sd8787-firmware RPM? b) How/why it wasn't conflicting with the older linux-firmware releases, as that marvel blobs were already there? -- on 7.1 RHEL box: # rpm -q linux-firmware linux-firmware-20140911-0.1.git365e80c.el7.noarch # rpm -ql linux-firmware | grep mrvl /usr/lib/firmware/mrvl /usr/lib/firmware/mrvl/pcie8897_uapsta.bin /usr/lib/firmware/mrvl/sd8787_uapsta.bin /usr/lib/firmware/mrvl/sd8797_uapsta.bin /usr/lib/firmware/mrvl/sd8897_uapsta.bin /usr/lib/firmware/mrvl/usb8797_uapsta.bin c) the same in (d) is valid for Fedora linux-firmware variant RPM, so is it really desirable that we prevent any/all these Marvel blobs from being shipped with RHEL's variant of linux-firmware RPM because a 3rd party RPM will take care of shipping them? a) If i try to reinstall the rpm i get: ======================================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================================== Reinstalling: libertas-sd8787-firmware noarch 20140804-0.1.git6bce2b0.el7_0 internal-it-stage-rhel-x86_64-workstation-7 311 k Transaction Summary ======================================================================================================================================================== So it is part of the standard RHEL 7 isntall and not a 3rd party RPM b) you are right.. i have no idea why it was not a problem in RHEL 7.x (previous to 7.2): I also see: [root@ohaessle ~]# rpm -ql linux-firmware | grep mrvl /usr/lib/firmware/mrvl /usr/lib/firmware/mrvl/pcie8897_uapsta.bin /usr/lib/firmware/mrvl/sd8787_uapsta.bin /usr/lib/firmware/mrvl/sd8797_uapsta.bin /usr/lib/firmware/mrvl/sd8897_uapsta.bin /usr/lib/firmware/mrvl/usb8797_uapsta.bin [root@ohaessle ~]# rpm -ql libertas-sd8787-firmware | grep mrvl /usr/lib/firmware/mrvl /usr/lib/firmware/mrvl/sd8787_uapsta.bin The repository internal-it-stage-rhel-x86_64-workstation-7 is not part of our official distro compose, AFAICS. Who provides libertas-sd8787-firmware RPM is still a pertinent question, as it clearly is the one to blame here as it is attempting to own a file that belongs to another RPM (linux-firmware) already installed in the system -- and whoever who does maintain this libertas-sd8787-firmware RPM is the right person to get this conflict fixed. What I think probably have happened is that this package is a new addition to your internal repository for this release. Your repository might have a particular RPM to package the "libertas" blobs (from upstream linux-firmware/libertas directory) which we strip-off our RHEL variant linux-firmware rpm package. The libertas-sd8787-firmware rpm might be a new sub-package to that libertas one. If that's the case, then libertas-sd8787-firmware rpm is not required, as the blob it is attempting to package is already shipped on linux-firmware RPM. -- Rafael Hi Rafael the repository internal-it-stage-rhel-x86_64-workstation-7 is for internal usage and is a sync with the RHEL upstream channel. looking at https://brewweb.devel.redhat.com/buildinfo?buildID=374373, libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch.rpm was/is provided by linux-firmware-20140804-0.1.git6bce2b0.el7_0 Thanks for the feedback Oliver! I think I figured what's happening. libertas-*-firmware was removed from linux-firmware RPM package -- See Bug 1016595. However, the sd8787_uapsta.bin blob in the old libertas-sd8787-firmware ended up re-inserted into linux-firmware package file list because there was no need to remove it accordingly to the aforementioned BZ. So, as far as I reading all this, what was missed while fixing bug 1016595 was to declare libertas-*-firmware sub-packages obsolete in linux-firmware. Would you mind testing this linux-firmware build, to check if it does resolve the problem? https://brewweb.devel.redhat.com/taskinfo?taskID=9654862 As soon as I hear a positive feedback from you, I'll push it as the new update into linux-firmare errata. P.S.: These libertas-*-firmware present on internal-it-stage-rhel-x86_64-workstation-7 are stale and should not be there anymore. -- Rafael I tried to download https://brewweb.devel.redhat.com/taskinfo?taskID=9654861 but the rpm is no longer there. Any idea? Also we do a direct sync with upstream channel, so it must be in there too. (In reply to Oliver Haessler from comment #10) > I tried to download https://brewweb.devel.redhat.com/taskinfo?taskID=9654861 > but the rpm is no longer there. Any idea? > > Also we do a direct sync with upstream channel, so it must be in there too. That was a scratch build for testing. Brew swept it out after a couple of days. I re-submit the scratch build: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=9671300 As soon as I hear a positive feedback from you, I'll push it as the new update into linux-firmare errata (to make it the official one). -- Rafael The Package does not solve the problem: Transaction check error: file /usr/lib/firmware/mrvl/sd8787_uapsta.bin from install of linux-firmware-20150727-41.git75cc3ef.el7.noarch conflicts with file from package libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch (In reply to Oliver Haessler from comment #12) > The Package does not solve the problem: > > Transaction check error: > file /usr/lib/firmware/mrvl/sd8787_uapsta.bin from install of > linux-firmware-20150727-41.git75cc3ef.el7.noarch conflicts with file from > package libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7_0.noarch Sorry! Would you mind re-testing with this new scratch build? http://brewweb.devel.redhat.com/brew/taskinfo?taskID=9679418 I think the problem was in the way I declared libertas-*-firmware as Obsolete, in the rpm spec. Let's see if now it works OK. -- Rafael Would not mind at all. And it works:
Installing:
linux-firmware noarch 20150727-41.git75cc3ef.el7 /linux-firmware-20150727-41.git75cc3ef.el7.noarch 63 M
replacing libertas-sd8686-firmware.noarch 20140804-0.1.git6bce2b0.el7_0
replacing libertas-sd8787-firmware.noarch 20140804-0.1.git6bce2b0.el7_0
replacing libertas-usb8388-firmware.noarch 2:20140804-0.1.git6bce2b0.el7_0
and it installs.
(In reply to Oliver Haessler from comment #14) > Would not mind at all. And it works: > [...] > and it installs. Thanks a lot for your help here. I'll wrap up the official build for this fix ASAP. Soon it'll be available for your internal repo too. -- Rafael ALL TESTES PASSED
Environment:
=================================
~]# rpm -q linux-firmware
linux-firmware-20140804-0.1.git6bce2b0.el7.noarch
~]# rpm -q libertas-sd8787-firmware
libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7.noarch
~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.1 (Maipo)
~]# uname -r
3.10.0-229.el7.x86_64
Before:
=================================
~]# yum update linux-firmware-20150612-37.git3161bfa.el7.noarch.rpm
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
linux-firmware-20150612-37.git3161bfa.el7.noarch.rpm | 20 MB 00:00:00
Examining /var/tmp/yum-root-fJ8zoe/linux-firmware-20150612-37.git3161bfa.el7.noarch.rpm: linux-firmware-20150612-37.git3161bfa.el7.noarch
Marking /var/tmp/yum-root-fJ8zoe/linux-firmware-20150612-37.git3161bfa.el7.noarch.rpm as an update to linux-firmware-20140804-0.1.git6bce2b0.el7.noarch
Resolving Dependencies
--> Running transaction check
---> Package linux-firmware.noarch 0:20140804-0.1.git6bce2b0.el7 will be updated
---> Package linux-firmware.noarch 0:20150612-37.git3161bfa.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================
Updating:
linux-firmware noarch 20150612-37.git3161bfa.el7 /linux-firmware-20150612-37.git3161bfa.el7.noarch 54 M
Transaction Summary
============================================================================================================================================================================
Upgrade 1 Package
Total size: 54 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction check error:
file /usr/lib/firmware/mrvl/sd8787_uapsta.bin from install of linux-firmware-20150612-37.git3161bfa.el7.noarch conflicts with file from package libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7.noarch <------
Error Summary
-------------
After:
=================================
~]# yum update linux-firmware-20150727-41.git75cc3ef.el7.noarch.rpm
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
linux-firmware-20150727-41.git75cc3ef.el7.noarch.rpm | 23 MB 00:00:00
Examining /var/tmp/yum-root-fJ8zoe/linux-firmware-20150727-41.git75cc3ef.el7.noarch.rpm: linux-firmware-20150727-41.git75cc3ef.el7.noarch
Marking /var/tmp/yum-root-fJ8zoe/linux-firmware-20150727-41.git75cc3ef.el7.noarch.rpm as an update to linux-firmware-20140804-0.1.git6bce2b0.el7.noarch
Resolving Dependencies
--> Running transaction check
---> Package libertas-sd8787-firmware.noarch 0:20140804-0.1.git6bce2b0.el7 will be obsoleted
---> Package linux-firmware.noarch 0:20140804-0.1.git6bce2b0.el7 will be updated
---> Package linux-firmware.noarch 0:20150727-41.git75cc3ef.el7 will be obsoleting
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================
Installing:
linux-firmware noarch 20150727-41.git75cc3ef.el7 /linux-firmware-20150727-41.git75cc3ef.el7.noarch 63 M
replacing libertas-sd8787-firmware.noarch 20140804-0.1.git6bce2b0.el7
Transaction Summary
============================================================================================================================================================================
Install 1 Package
Total size: 63 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : linux-firmware-20150727-41.git75cc3ef.el7.noarch 1/3
Erasing : libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7.noarch 2/3
Cleanup : linux-firmware-20140804-0.1.git6bce2b0.el7.noarch 3/3
Verifying : linux-firmware-20150727-41.git75cc3ef.el7.noarch 1/3
Verifying : linux-firmware-20140804-0.1.git6bce2b0.el7.noarch 2/3
Verifying : libertas-sd8787-firmware-20140804-0.1.git6bce2b0.el7.noarch 3/3
Installed:
linux-firmware.noarch 0:20150727-41.git75cc3ef.el7
Replaced:
libertas-sd8787-firmware.noarch 0:20140804-0.1.git6bce2b0.el7
Complete!
~]# rpm -q linux-firmware
linux-firmware-20150727-41.git75cc3ef.el7.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHEA-2015-2123.html |