Upgrade from 15.2 to 15.3 fails

Hi openSUSE community,

Today I decided to upgrade my son’s computer from 15.2 to 15.3 (I know, should have done it sooner, but lack of time) and mid upgrade this is what I encounter and can’t ‘ignore’ but ‘abort’ :


..........
..........

( 434/3226) Removing virtualbox-kmp-default-6.1.18_k5.3.18_lp152.69-lp152.2.18.1.x86_64 ..............................................................................................................................................................................................................................[done]
( 435/3226) Removing virtualbox-kmp-default-6.1.20_k5.3.18_lp152.72-lp152.2.21.1.x86_64 ..............................................................................................................................................................................................................................[done]
( 436/3226) Removing virtualbox-kmp-default-6.1.22_k5.3.18_lp152.75-lp152.2.24.2.x86_64 ..............................................................................................................................................................................................................................[done]
( 437/3226) Removing virtualbox-kmp-default-6.1.22_k5.3.18_lp152.78-lp152.2.27.2.x86_64 ..............................................................................................................................................................................................................................[done]
( 438/3226) Removing virtualbox-kmp-default-6.1.22_k5.3.18_lp152.81-lp152.2.30.2.x86_64 ..............................................................................................................................................................................................................................[done]
( 439/3226) Removing virtualbox-kmp-default-6.1.26_k5.3.18_lp152.84-lp152.2.35.1.x86_64 ..............................................................................................................................................................................................................................[done]
( 440/3226) Removing virtualbox-kmp-default-6.1.28_k5.3.18_lp152.95-lp152.2.38.1.x86_64 ..............................................................................................................................................................................................................................[done]
( 441/3226) Installing: virtualbox-kmp-default-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 .............................................................................................................................................................................................................................[error]
Installation of virtualbox-kmp-default-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.nOYbPa: line 1: /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre: No such file or directory
error: %prein(virtualbox-kmp-default-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64) scriptlet failed, exit status 127
error: virtualbox-kmp-default-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64: install failed


Abort, retry, ignore? [a/r/i] (a): i
( 442/3226) Installing: kernel-preempt-5.3.18-59.10.1.x86_64 ......................................................................................................................................................................................................................................................<100%>/]( 442/3226) Installing: kernel-preempt-5.3.18-59.10.1.x86_64 .............................................................................................................................................................................................[done]
( 443/3226) Removing virtualbox-kmp-preempt-6.1.16_k5.3.18_lp152.57-lp152.2.8.1.x86_64 ...................................................................................................................................................................[done]
( 444/3226) Removing virtualbox-kmp-preempt-6.1.18_k5.3.18_lp152.60-lp152.2.11.1.x86_64 ..................................................................................................................................................................[done]
( 445/3226) Removing virtualbox-kmp-preempt-6.1.18_k5.3.18_lp152.63-lp152.2.14.1.x86_64 ..................................................................................................................................................................[done]
( 446/3226) Removing virtualbox-kmp-preempt-6.1.18_k5.3.18_lp152.69-lp152.2.18.1.x86_64 ..................................................................................................................................................................[done]
( 447/3226) Removing virtualbox-kmp-preempt-6.1.20_k5.3.18_lp152.72-lp152.2.21.1.x86_64 ..................................................................................................................................................................[done]
( 448/3226) Removing virtualbox-kmp-preempt-6.1.22_k5.3.18_lp152.75-lp152.2.24.2.x86_64 ..................................................................................................................................................................[done]
( 449/3226) Removing virtualbox-kmp-preempt-6.1.22_k5.3.18_lp152.78-lp152.2.27.2.x86_64 ..................................................................................................................................................................[done]
( 450/3226) Removing virtualbox-kmp-preempt-6.1.22_k5.3.18_lp152.81-lp152.2.30.2.x86_64 ..................................................................................................................................................................[done]
( 451/3226) Removing virtualbox-kmp-preempt-6.1.26_k5.3.18_lp152.84-lp152.2.35.1.x86_64 ..................................................................................................................................................................[done]
( 452/3226) Removing virtualbox-kmp-preempt-6.1.28_k5.3.18_lp152.95-lp152.2.38.1.x86_64 ..................................................................................................................................................................[done]
( 453/3226) Installing: virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 .................................................................................................................................................................[error]
Installation of virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.7cxbC7: line 1: /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre: No such file or directory
error: %prein(virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64) scriptlet failed, exit status 127
error: virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64: install failed


Abort, retry, ignore? [a/r/i] (a): i
: Invalid answer 'i'.
[a/r/i] (a): r
( 453/3226) Installing: virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 .................................................................................................................................................................[error]
Installation of virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.q7LZfb: line 1: /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre: No such file or directory
error: %prein(virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64) scriptlet failed, exit status 127
error: virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64: install failed


Abort, retry, ignore? [a/r/i] (a): i
( 454/3226) Removing kernel-default-5.3.18-lp152.102.1.x86_64 ...........................................................................................................................................................................................[error]
Removal of (95308)kernel-default-5.3.18-lp152.102.1.x86_64(@System) failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.MdtXrz: line 1: /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun: No such file or directory
error: %preun(kernel-default-5.3.18-lp152.102.1.x86_64) scriptlet failed, exit status 127
error: kernel-default-5.3.18-lp152.102.1.x86_64: erase failed


Abort, retry, ignore? [a/r/i] (a): 
Warning: %posttrans scripts skipped while aborting:
    coreutils-8.32-1.2.x86_64.rpm
    rpm-4.14.1-29.46.x86_64.rpm
    ca-certificates-mozilla-2.44-9.6.1.noarch.rpm
    systemd-presets-common-SUSE-15-8.9.1.noarch.rpm
    login_defs-4.8.1-2.43.noarch.rpm
    systemd-presets-branding-openSUSE-12.2-lp153.2.37.noarch.rpm
    blog-2.20-2.1.x86_64.rpm
    shadow-4.8.1-2.43.x86_64.rpm
    kbd-2.0.4-14.38.x86_64.rpm
    dbus-1-1.12.2-8.3.1.x86_64.rpm
    util-linux-2.36.2-2.29.x86_64.rpm
    openSUSE-release-15.3-lp1532.157.1.x86_64.rpm
    kmod-28-2.1.x86_64.rpm
    udev-246.13-5.1.x86_64.rpm
    dracut-049.1+suse.188.gbf445638-3.30.1.x86_64.rpm
    virtualbox-kmp-default-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64.rpm
    virtualbox-kmp-preempt-6.1.30_k5.3.18_59.34-lp153.2.15.1.x86_64.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.


zypper lr -d
#  | Alias                       | Name                                                                                        | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                      | Service
---+-----------------------------+---------------------------------------------------------------------------------------------+---------+-----------+---------+----------+--------+--------------------------------------------------------------------------+--------
 1 | repo-backports-debug-update | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/update/leap/15.3/backports_debug/           | 
 2 | repo-backports-update       | Update repository of openSUSE Backports                                                     | Yes     | ( p) Yes  | Yes     |   99     | NONE   | http://download.opensuse.org/update/leap/15.3/backports/                 | 
 3 | repo-debug                  | Debug Repository                                                                            | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/distribution/leap/15.3/repo/oss/      | 
 4 | repo-debug-non-oss          | Debug Repository (Non-OSS)                                                                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.3/repo/non-oss/  | 
 5 | repo-debug-update           | Update Repository (Debug)                                                                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/oss/                 | 
 6 | repo-debug-update-non-oss   | Update Repository (Debug, Non-OSS)                                                          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/non-oss/             | 
 7 | repo-non-oss                | Non-OSS Repository                                                                          | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/        | 
 8 | repo-oss                    | Main Repository                                                                             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/            | 
 9 | repo-sle-debug-update       | Update repository with debuginfo for updates from SUSE Linux Enterprise 15                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/sle/                 | 
10 | repo-sle-update             | Update repository with updates from SUSE Linux Enterprise 15                                | Yes     | ( p) Yes  | Yes     |   99     | NONE   | http://download.opensuse.org/update/leap/15.3/sle/                       | 
11 | repo-source                 | Source Repository                                                                           | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/source/distribution/leap/15.3/repo/oss/     | 
12 | repo-source-non-oss         | Source Repository (Non-OSS)                                                                 | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/source/distribution/leap/15.3/repo/non-oss/ | 
13 | repo-update                 | Main Update Repository                                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/oss                        | 
14 | repo-update-non-oss         | Update Repository (Non-Oss)                                                                 | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/                   | 



Would greatly appreciate guidance in this matter.

Thanks.

The whole commandline and the first output is missing…

I had to keep it below certain character count:

sudo zypper --releasever=15.3 refresh
Warning: Enforced setting: $releasever=15.3
Repository 'Main Repository' is up to date.                                                                                                                                                                                                                     
Repository 'Main Update Repository' is up to date.                                                                                                                                                                                                              
All repositories have been refreshed.
sudo zypper --releasever=15.3 dup --download-in-advance --force-resolution
Warning: Enforced setting: $releasever=15.3
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
....
.....

Or do you need the whole thing? In that case I have to do it through susepaste.

Thank you in advance.

sudo zypper --releasever=15.3 dup --download-in-advance --force-resolution

I would use:

sudo zypper --releasever=15.3 dup --download-in-advance --allow-vendor-change

Thank you for your reply.
Running that updated/recommended command would be OK to run the ‘dup’ again?

Got it working.
Thank you.

I was unaware I needed “–allow-vendor-change” but was able to fix in another window by…


sudo mkdir     /usr/lib/module-init-tools/kernel-scriptlets
sudo touch     /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun
sudo chmod 755 /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun

… and telling it to [r]etry

Curious as to why this was needed though. Is “–allow-vendor-change” the most official fix?

Should it be mentioned on https://en.opensuse.org/SDB:System_upgrade ? It currently says “this may have unintended consequences”
:open_mouth:

I think the reason it needed to change the vendor is because it wouldn’t be able to perform the update, at least in my case.

I am pretty sure that --allow-vendor-change does not fix the issue. It just works luckily the second time because the kernel is now installed. The installed package suse-module-tools from openSUSE:Leap:15.3/suse-module-tools:


S  | Name                     | Type       | Version              | Arch   | Repository
---+--------------------------+------------+----------------------+--------+-----------------------
i+ | suse-module-tools        | Paket      | 15.3.6-1.1           | x86_64 | (Systempakete)

does not install /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun. To check this please run:


foo@work:~> rpm -ql suse-module-tools | grep 'rpm-preun' || echo "No rpm-prerun"
No rpm-prerun

The original version I have in 15.2: 15.2.16-lp152.5.12.1 has the scriptlets.


foo@work:~> sudo zypper --releasever=15.3 up --allow-vendor-change suse-module-tools                                                                                              
Warnung: Erzwungene Einstellung: $releasever=15.3                                                                                                                                             
Repository-Daten werden geladen...                                                                                                                                                            
Installierte Pakete werden gelesen...                                                                                                                                                         
Paketabhängigkeiten werden aufgelöst...                                                                                                                                                       
      

 Lösung 1: Folgende Aktionen werden ausgeführt:
  Ersetzung von kernel-default-5.3.18-lp152.98.1.x86_64 durch kernel-default-5.3.18-59.10.1.x86_64
  Deinstallation von kernel-default-5.3.18-lp152.98.1.x86_64
  Ersetzung von kernel-default-5.3.18-lp152.106.1.x86_64 durch kernel-default-5.3.18-59.10.1.x86_64
  Deinstallation von kernel-default-5.3.18-lp152.106.1.x86_64
 Lösung 2: suse-module-tools-15.3.6-1.1.x86_64 nicht installieren
 Lösung 3: kernel-default-5.3.18-lp152.98.1.x86_64 durch Ignorieren einiger Abhängigkeiten brechen

Wählen Sie aus den obigen Lösungen mittels Nummer oder brechen Sie (a)b [1/2/3/a/d/?] (a): 1
Abhängigkeiten werden aufgelöst...
Paketabhängigkeiten werden aufgelöst...

Das folgende Paket wird aktualisiert:
  suse-module-tools

Das folgende Paket wird den Anbieter ändern:
  suse-module-tools  openSUSE -> SUSE LLC <https://www.suse.com/>

Das folgende NEUE Paket wird installiert:
  kernel-default-5.3.18-59.10.1

Die folgenden 2 Pakete werden GELÖSCHT:
  kernel-default-5.3.18-lp152.98.1 kernel-default-5.3.18-lp152.106.1

Das folgende Paket erfordert einen Systemneustart:
  kernel-default-5.3.18-59.10.1

1 Paket wird aktualisiert, 1 neu, 2 zu entfernen, 1 Anbieterwechsel.
Gesamtgröße des Downloads: 64,1 MiB. Bereits im Cache gespeichert: 0 B. Nach dem Vorgang werden 620,0 MiB freigegeben.

    Hinweis: Systemneustart erforderlich.
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): 
Paket suse-module-tools-15.3.6-1.1.x86_64 abrufen                                                                                                        (1/2),  43,5 KiB ( 79,7 KiB entpackt)
Abrufen: suse-module-tools-15.3.6-1.1.x86_64.rpm .....................................................................................................................................[fertig]
Paket kernel-default-5.3.18-59.10.1.x86_64 abrufen                                                                                                       (2/2),  64,0 MiB (148,3 MiB entpackt)
Abrufen: kernel-default-5.3.18-59.10.1.x86_64.rpm .......................................................................................................................[fertig (22,4 MiB/s)]

Überprüfung auf Dateikonflikte läuft: ................................................................................................................................................[fertig]
(1/4) kernel-default-5.3.18-lp152.98.1.x86_64  wird entfernt .........................................................................................................................[fertig]
(2/4) Installieren: suse-module-tools-15.3.6-1.1.x86_64 ..............................................................................................................................[fertig]
(3/4) Installieren: kernel-default-5.3.18-59.10.1.x86_64 .............................................................................................................................[fertig]
(4/4) kernel-default-5.3.18-lp152.106.1.x86_64  wird entfernt ........................................................................................................................[Fehler]
Entfernen von (140957)kernel-default-5.3.18-lp152.106.1.x86_64(@System) fehlgeschlagen:
Fehler: Subprocess failed. Error: RPM fehlgeschlagen: /var/tmp/rpm-tmp.JdzEds: line 1: /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun: No such file or directory
error: %preun(kernel-default-5.3.18-lp152.106.1.x86_64) scriptlet failed, exit status 127
error: kernel-default-5.3.18-lp152.106.1.x86_64: erase failed

Abbrechen, wiederholen, ignorieren? [a/w/i] (a)

Later zypper installs suse-module-tools with the scriptles again:


S  | Name                     | Type       | Version        | Arch   | Repository
---+--------------------------+------------+----------------+--------+-------------------------------------------------------------
i+ | suse-module-tools        | Paket      | 15.3.15-3.17.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15

I guess it’s related to Closing The Leap Gap. Adding the repo http://download.opensuse.org/update/leap/15.3/sle/ before has fixed it for me.

Correct.

It just works luckily the second time because the kernel is now installed.

No exactly correct.

Kernel packages (including drivers) run some scripts during installation. In the past these scripts were inlined into package itself; later scripts were separated out and consolidated into suse-module-tools and kernel packages modified to call these external programs. You can compare with “rpm -q --scripts” for original and updated virtualbox-kmp packages.

Now the problem is that while this specific virtualbox-kmp version was modified to use scripts from suse-module-tools, package description was not updated to indicate it. So RPM did not know that it must install suse-module-tools before installing virtualbox-kmp.

The latest update of virtualbox-kmp includes correct dependency:

bor@bor-Latitude-E5450:~$ rpm -qp tmp/virtualbox-kmp-default-6.1.32_k5.3.18_59.40-lp153.2.21.1.x86_64.rpm --qf '%{requires}(%{requireflags:deptype}) %{requireflags:depflags} %{requireversion}
]' | grep suse-kernel-rpm
suse-kernel-rpm-scriptlets(pre)  
suse-kernel-rpm-scriptlets(postun)  
bor@bor-Latitude-E5450:~$ 

so the problem should not happen anymore.

I recently upgraded a netbook from 15.2 to 15.3 as well. The netbook has VirtualBox installed to use Windows 7.

I updated all the repositories to point to 15.3 from wherever it said 15.2.

I did a zypper dup.

I ran into the same request to uninstall kernels and did ignore. It eventually ignored and continued the install.

Once it finished, I did a reboot.

After the reboot, I used YaST to update the system. There were still quite a few packages that needed updating.

I rebooted after that and used YaST again to see if there were more packages to update. None.

VirtualBox, itself, needed the Oracle VM Extensions package installed, which I download from Oracle’s website. Once installed, Windows 7 started normally.