]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
openmandriva: Copy kernel image to /usr
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 19 Oct 2023 09:41:40 +0000 (11:41 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 19 Oct 2023 10:05:29 +0000 (12:05 +0200)
Same as for Debian and Mageia, except we have to get rid of a symlink
as well.

mkosi/distributions/openmandriva.py

index bce607124bc7c8e14b1f0f66ecad57b71d0aa55d..ee7aaacc4232c8fa8fb13204bc7d8b774508d880 100644 (file)
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: LGPL-2.1+
 
+import shutil
 from collections.abc import Sequence
 
 from mkosi.architecture import Architecture
@@ -67,6 +68,16 @@ class Installer(DistributionInstaller):
     def install_packages(cls, state: MkosiState, packages: Sequence[str], apivfs: bool = True) -> None:
         invoke_dnf(state, "install", packages, apivfs=apivfs)
 
+        for d in state.root.glob("boot/vmlinuz-*"):
+            kver = d.name.removeprefix("vmlinuz-")
+            vmlinuz = state.root / "usr/lib/modules" / kver / "vmlinuz"
+            # Openmandriva symlinks /usr/lib/modules/<kver>/vmlinuz to /boot/vmlinuz-<kver>, so get rid of the symlink
+            # and put the actual vmlinuz in /usr/lib/modules/<kver>.
+            if vmlinuz.is_symlink():
+                vmlinuz.unlink()
+            if not vmlinuz.exists():
+                shutil.copy2(d, vmlinuz)
+
     @classmethod
     def remove_packages(cls, state: MkosiState, packages: Sequence[str]) -> None:
         invoke_dnf(state, "remove", packages)