Bug 2272860

Summary: alsa-sof-firmware-2024.03-1.fc41 incorrectly tries to replace a directory with a symlink
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: alsa-sof-firmwareAssignee: Jaroslav Kysela <jkysela>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: rawhideCC: jkysela
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: openqa
Fixed In Version: alsa-sof-firmware-2024.03-2.fc41 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-03 07:20:06 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 Adam Williamson 2024-04-03 01:39:53 UTC
alsa-sof-firmware-2024.03-1.fc41 tried to replace a regular directory - /usr/lib/firmware/intel/sof-ace-tplg - with a symlink:

https://src.fedoraproject.org/rpms/alsa-sof-firmware/c/42c8bff6d2d34af050a562b0daae2f4718c6835c?branch=rawhide

this is no bueno, per https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/ . rpm just can't do that very well. There is a hack, but it's especially ugly for a populated directory.

It seems what happened here is upstream renamed the directory from "sof-ace-tplg" to "sof-ipc4-tplg" - right? But we want to preserve access under the old name too.

The most pragmatic option may just be to keep the "old" name as the canonical one and have the symlink be the *new* name. But it may also be possible to use a lua pretrans script to rename the existing directory to the new name; I'm not entirely sure that would do the trick, but I think it might.

I am going to request the update be untagged for now, though, so it doesn't make the next compose and we have a bit of time to decide the correct fix without having to try and rush it through.

This breaks `dnf update` entirely if alsa-sof-firmware is installed, so it's pretty bad:

2024-04-02T18:55:50-0400 CRITICAL Transaction couldn't start:
2024-04-02T18:55:50-0400 CRITICAL file /usr/lib/firmware/intel/sof-ace-tplg from install of alsa-sof-firmware-2024.03-1.fc41.noarch conflicts with file from package alsa-sof-firmware-2023.1
2.1-1.fc41.noarch

Comment 1 Jaroslav Kysela 2024-04-03 06:53:40 UTC
Thank you for this analysis. PR trying to fix this issue: https://src.fedoraproject.org/rpms/alsa-sof-firmware/pull-request/1

Comment 2 Jaroslav Kysela 2024-04-03 07:20:06 UTC
Fixed in alsa-sof-firmware-2024.03-2.fc41. The upgrade works correctly now.

Comment 3 Michael Beyonce 2024-10-14 09:43:55 UTC Comment hidden (spam)