Bug 1204103 - error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f2acf: cpio: File from package already exists as a directory in system
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX...
Status: RESOLVED FIXED
: 1204161 1204163 (view as bug list)
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
Current
Other Other
: P5 - None : Normal with 6 votes (vote)
: ---
Assigned To: Takashi Iwai
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-10-06 19:54 UTC by John Shand
Modified: 2022-11-09 13:48 UTC (History)
18 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
last boot log (293.64 KB, text/plain)
2022-10-06 19:55 UTC, John Shand
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Shand 2022-10-06 19:54:40 UTC
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f2acf: cpio: File from package already exists as a directory in system
error: kernel-firmware-qcom-20220930-1.1.noarch: install failed
error: kernel-firmware-qcom-20220902-1.1.noarch: erase skipped
( 82/133) Installing: kernel-firmware-qcom-20220930-1.1.noarch ...............................................................[error]
Installation of kernel-firmware-qcom-20220930-1.1.noarch failed:
Error: Subprocess failed. Error: RPM failed: Command exited with status 1.
Comment 1 John Shand 2022-10-06 19:55:24 UTC
Created attachment 862011 [details]
last boot log
Comment 2 Rushdoony 2022-10-06 20:33:24 UTC
Confirming same error on my system during 10/6 update of kernel-firmware-qcom.
Comment 3 Blaine Stone 2022-10-06 21:59:37 UTC
Confirm same error on my system 10/06/2023 during upgrade. Exact same message of kernel-firmware-qcom failure.
Comment 4 Sebastian Wagner 2022-10-06 22:04:39 UTC
Added the package maintainers to cc list (via https://build.opensuse.org/package/users/Kernel:HEAD/kernel-firmware)
Comment 5 Andreas Stieger 2022-10-07 11:08:31 UTC
This is from https://build.opensuse.org/request/show/1007673

> qcom: rename Lenovo ThinkPad X13s firmware paths
Comment 6 ulfbart 2022-10-08 08:04:41 UTC
Same on all my 3 Tumbleweed PCs have same issue.

# mv /usr/lib/firmware/qcom/LENOVO/21BX/ /usr/lib/firmware/qcom/LENOVO/21BX.sik

Solve the issue.
Comment 7 ulfbart 2022-10-08 11:31:58 UTC
(In reply to ulfbart from comment #6)
> Same on all my 3 Tumbleweed PCs have same issue.
> 
> # mv /usr/lib/firmware/qcom/LENOVO/21BX/
> /usr/lib/firmware/qcom/LENOVO/21BX.sik
> 
> Solve the issue.

Feedback from Freek de Kruijf at factory@lists.opensuse.org
| I did as root:
| rm -rf /usr/lib/firmware/qcom/LENOVO/21BX/
| and
| zypper in -f kernel-firmware-all kernel-firmware-qcom
| kernel-firmware-all was removed when I removed kernel-firmware-qcom after 
| which installing both did not work.
| After the above commands a zypper dup showed all was OK.
Comment 8 Takashi Iwai 2022-10-08 15:08:07 UTC
Sorry for the late follow up, as I've been off in this week.

It's an unfortunate problem that is specific to rpm about the package update; we've hit a similar problem in the past for sof-firmware package (happening at switching from a directory to a symlink), and a similar *very dirty* workaround would be needed for kernel-firmware, too.  Sigh.

As a workaround, simply remove the directory /usr/lib/firmware/qcom/LENOVO before the update.  Or, just uninstall kernel-firmware-qcom package once
  rpm -e --nodeps kernel-firmware-qcom
then update kernel-firmware-* again.

Will work on the workaround in the package soon later.
Comment 9 Takashi Iwai 2022-10-09 09:26:35 UTC
The fix update was submitted to TW now (via OBS Kernel:HEAD/kernel-firmware).
Comment 10 Andreas Stieger 2022-10-09 09:46:25 UTC
https://build.opensuse.org/request/show/1009073
Comment 11 Frank Krüger 2022-10-09 12:27:22 UTC
*** Bug 1204161 has been marked as a duplicate of this bug. ***
Comment 12 Dev Guy 2022-10-09 23:10:19 UTC
Hi did the following rm -rf /usr/lib/firmware/qcom/LENOVO/21BX/

However now when I reboot I drop into console mode? For kernel 6.0.0.1-default

I have to select the previous kernel to boot into desktop mode.
How can I correct this?
Comment 13 Takashi Iwai 2022-10-10 06:09:57 UTC
(In reply to Dev Guy from comment #12)
> Hi did the following rm -rf /usr/lib/firmware/qcom/LENOVO/21BX/
> 
> However now when I reboot I drop into console mode? For kernel
> 6.0.0.1-default
> 
> I have to select the previous kernel to boot into desktop mode.
> How can I correct this?

Try to uninstall kernel-firmware-qcom at first, then re-install kernel-firmwre-all again.

% rpm -e --nodeps kernel-firmware-qcom
% zypper in -f kernel-firmware-all

Also, if the previous update was aborted due to this bug, finish the rest.

% zypper up

If the problem still happens after that, it must be a different bug.  Please open another bug report.

***

BTW, "rm -rf /usr/lib/firmware/qcom/LENOVO/21BX/" is actually an incorrect workaround.  Performing this before the package update will end up with the missing firmware files, and for users who do require those firmware may hit another problem (although it's OK-ish for most users who don't need those files).

A safer workaround is to uninstall the previous kernel-firmware-qcom at first as  shown in the above.
Comment 14 Takashi Iwai 2022-10-10 06:10:55 UTC
*** Bug 1204163 has been marked as a duplicate of this bug. ***
Comment 15 Fabian Vogt 2022-10-10 08:39:33 UTC
The uncompressed kernel-firmware needs the same workaround.
Comment 16 OBSbugzilla Bot 2022-10-10 09:05:03 UTC
This is an autogenerated message for OBS integration:
This bug (1204103) was mentioned in
https://build.opensuse.org/request/show/1009300 Factory / kernel-firmware
Comment 17 Takashi Iwai 2022-10-10 09:07:37 UTC
(In reply to Fabian Vogt from comment #15)
> The uncompressed kernel-firmware needs the same workaround.

Indeed (although it shouldn't be used on normal systems at all).  Will fix it.
Comment 18 Takashi Iwai 2022-10-10 09:27:38 UTC
https://build.opensuse.org/request/show/1009318