zypper dup failed

During the zypper dup precess I had the following problem:

(211/308) Installing: libQt6MultimediaWidgets6-6.4.0-1.1.x86_64 ............................................................[done] 
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f5900: 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 
(212/308) 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. 
**Abort, retry, ignore? [a/r/i] (a): **r 
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f5908: 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 
(212/308) 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. 
**Abort, retry, ignore? [a/r/i] (a): **r 
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f5921: 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 
(212/308) 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. 
**Abort, retry, ignore? [a/r/i] (a): **
Warning: %posttrans scripts skipped while aborting: 
    kernel-firmware-usb-network-20220930-1.1.noarch.rpm 
    libreoffice-icon-themes-7.4.1.2-2.1.noarch.rpm 
    ucode-amd-20220930-1.1.noarch.rpm 
    kernel-firmware-ueagle-20220930-1.1.noarch.rpm 
    openSUSE-release-20221004-1863.1.x86_64.rpm 
    kernel-firmware-ti-20220930-1.1.noarch.rpm 
    open-iscsi-2.1.8-93.1.x86_64.rpm 
    libreoffice-l10n-en-7.4.1.2-2.1.noarch.rpm 
    kernel-firmware-sound-20220930-1.1.noarch.rpm 
    kernel-firmware-serial-20220930-1.1.noarch.rpm 
    kernel-firmware-realtek-20220930-1.1.noarch.rpm 
    kernel-firmware-radeon-20220930-1.1.noarch.rpm 
    kernel-firmware-qlogic-20220930-1.1.noarch.rpm 
    kernel-firmware-qcom-20220930-1.1.noarch.rpm 

Problem occurred during or after installation or removal of packages: 
Installation has been aborted as directed. 
Please see the above error message for a hint. 
**linux-4skc:~ #** 

I tried zypper dup again and got

(39/97) Installing: ffmpeg-4-4.4.2-5.8.x86_64 ..............................................................................[done] 
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f5a75: 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 
(40/97) 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. 
**Abort, retry, ignore? [a/r/i] (a): **r 
error: unpacking of archive failed on file /usr/lib/firmware/qcom/LENOVO/21BX;633f5a86: 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 
(40/97) 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. 
**Abort, retry, ignore? [a/r/i] (a): ** 
Warning: %posttrans scripts skipped while aborting: 
    java-18-openjdk-headless-18.0.2.0-13.53.x86_64.rpm 
    kernel-firmware-qcom-20220930-1.1.noarch.rpm 

Problem occurred during or after installation or removal of packages: 
Installation has been aborted as directed. 
Please see the above error message for a hint. 
**linux-4skc:~ #** 

So each time failed - what is wrong and how do I complete the upgrade?

Sorry I should have looked first. After seeing karlmistelberger’s thread (https://forums.opensuse.org/showthread.php/576361-dup-to-20221004-requires-removal-of-directory-usr-lib-firmware-qcom-LENOVO-21BX) I removed the directory /usr/lib/firmware/qcom/LENOVO/21BX and zypper dup completed without further problems. Thank you Karl
Uli

Just a suggestion.

When something like this happens, I suggest you use “i” (ignore) rather than “a” (abort). That allows all of the other updates to install.

thank you, nrickert, my thought (without much reflecting) was to abort and if the problem is not solved until then wait for the next snapshot… I didn’t think of the option to complete the install without this kernel-firmware.

The reported problem just happened to me here.

Yeah, but it feels scary to install a kernel without firmware, I would think the boot might fail next time, or something important (such as network) not working.

I resolved it by removing the directory usr/lib/firmware/qcom/LENOVO/21BX directory, as suggeted in the post .

I am curious though why something like this happens, on a server that has nothing to do with Lenovo. Not trying to be a pain, honestly curious.

The firmware is now many small packages, rather than one large package. Without this update, you would only be missing a small part of the firmware. And if you are not running a lenovo, the chances are that you don’t really need it.

As for why this happens: it seems to be a limitation of “rpm” that it cannot replace a directory with a file.

Thanks for the feedback. I intentionally ran a series of dups:

**erlangen:~ #** journalctl -q -u dupa -g Consumed 
Sep 20 22:39:24 erlangen systemd[1]: dupa.service: Consumed 3.619s CPU time. 
...
Oct 06 00:52:28 erlangen systemd[1]: dupa.service: Consumed 19.349s CPU time. 
Oct 06 20:34:21 erlangen systemd[1]: dupa.service: Consumed 3.184s CPU time. 
Oct 06 20:34:45 erlangen systemd[1]: dupa.service: Consumed 3.593s CPU time. 
Oct 06 20:35:29 erlangen systemd[1]: dupa.service: Consumed 3.657s CPU time. 
Oct 06 20:36:38 erlangen systemd[1]: dupa.service: Consumed 3.243s CPU time. 
Oct 06 20:41:37 erlangen systemd[1]: dupa.service: Consumed 10.184s CPU time. 
Oct 06 20:47:33 erlangen systemd[1]: dupa.service: Consumed 9.119s CPU time. 
Oct 06 20:47:56 erlangen systemd[1]: dupa.service: Consumed 4.200s CPU time. 
Oct 06 20:51:39 erlangen systemd[1]: dupa.service: Consumed 27.686s CPU time. 
**erlangen:~ #**

The first of the above failed with different error messages. I kept going until messages stabilized and clearly pointed to directory /usr/lib/firmware/qcom/LENOVO/21BX.

When encountering similar issues users may want to wait for one up to several hours before retrying.

Another approach which worked, was to ignore the conflict and proceed with the other pending updates. After that deinstall the old kernel-firmware-qcom (it will remove the directory structure also) and install the new version afterwards. Everything went through flawlessly.

Thanks for this solution @hui, it worked for my system.
I use an old Lenovo laptop as a personal server, not sure if I really need that FW but installed it just in case :).

Thanks! Deleting the package kernel-firmware-qcom using YAST Software and direct installation of the same package afterwards worked also for me!

Best,

Michael