From 1cf5fe3eb3c05b5574e53c5426691081e0c7b16e Mon Sep 17 00:00:00 2001 From: eabdullin Date: Thu, 30 Mar 2023 14:14:46 +0300 Subject: [PATCH] Use symlinks instead of patch --- SOURCES/almalinux_runners.patch | 139 -------------------------------- SPECS/osbuild.spec | 4 +- 2 files changed, 2 insertions(+), 141 deletions(-) delete mode 100644 SOURCES/almalinux_runners.patch diff --git a/SOURCES/almalinux_runners.patch b/SOURCES/almalinux_runners.patch deleted file mode 100644 index 953103d..0000000 --- a/SOURCES/almalinux_runners.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -aruN osbuild-53/runners/org.osbuild.almalinux88 osbuild-53_alma/runners/org.osbuild.almalinux88 ---- osbuild-53/runners/org.osbuild.almalinux88 1970-01-01 02:00:00.000000000 +0200 -+++ osbuild-53_alma/runners/org.osbuild.almalinux88 2022-03-24 02:05:32.000000000 +0300 -@@ -0,0 +1,83 @@ -+#!/usr/libexec/platform-python -+ -+import os -+import platform -+import subprocess -+import sys -+ -+import osbuild.api -+ -+ -+def quirks(): -+ # Platform specific quirks -+ env = os.environ.copy() -+ -+ if platform.machine() == "aarch64": -+ # Work around a bug in qemu-img on aarch64 that can lead to qemu-img -+ # hangs when more then one coroutine is use (which is the default) -+ # See https://bugs.launchpad.net/qemu/+bug/1805256 -+ env["OSBUILD_QEMU_IMG_COROUTINES"] = "1" -+ -+ return env -+ -+ -+def ldconfig(): -+ # ld.so.conf must exist, or `ldconfig` throws a warning -+ subprocess.run(["touch", "/etc/ld.so.conf"], check=True) -+ subprocess.run(["ldconfig"], check=True) -+ -+ -+def sysusers(): -+ try: -+ subprocess.run(["systemd-sysusers"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True) -+ except subprocess.CalledProcessError as error: -+ sys.stderr.write(error.stdout) -+ sys.exit(1) -+ -+ -+def tmpfiles(): -+ # Allow systemd-tmpfiles to return non-0. Some packages want to create -+ # directories owned by users that are not set up with systemd-sysusers. -+ subprocess.run(["systemd-tmpfiles", "--create"], check=False) -+ -+ -+def nsswitch(): -+ # the default behavior is fine, but using nss-resolve does not -+ # necessarily work in a non-booted container, so make sure that -+ # is not configured. -+ try: -+ os.remove("/etc/nsswitch.conf") -+ except FileNotFoundError: -+ pass -+ -+ -+def python_alternatives(): -+ """/usr/bin/python3 is a symlink to /etc/alternatives/python3, which points -+ to /usr/bin/python3.6 by default. Recreate the link in /etc, so that -+ shebang lines in stages and assemblers work. -+ """ -+ os.makedirs("/etc/alternatives", exist_ok=True) -+ try: -+ os.symlink("/usr/bin/python3.6", "/etc/alternatives/python3") -+ except FileExistsError: -+ pass -+ -+ -+def main(): -+ with osbuild.api.exception_handler(): -+ ldconfig() -+ sysusers() -+ tmpfiles() -+ nsswitch() -+ python_alternatives() -+ -+ env = quirks() -+ -+ r = subprocess.run(sys.argv[1:], -+ env=env, -+ check=False) -+ sys.exit(r.returncode) -+ -+ -+if __name__ == "__main__": -+ main() -diff -aruN osbuild-53/runners/org.osbuild.almalinux92 osbuild-53_alma/runners/org.osbuild.almalinux92 ---- osbuild-53/runners/org.osbuild.almalinux92 1970-01-01 02:00:00.000000000 +0200 -+++ osbuild-53_alma/runners/org.osbuild.almalinux92 2022-03-24 02:05:32.000000000 +0300 -@@ -0,0 +1,48 @@ -+#!/usr/bin/python3 -+ -+import os -+import subprocess -+import sys -+ -+import osbuild.api -+ -+ -+def ldconfig(): -+ # ld.so.conf must exist, or `ldconfig` throws a warning -+ subprocess.run(["touch", "/etc/ld.so.conf"], check=True) -+ subprocess.run(["ldconfig"], check=True) -+ -+ -+def sysusers(): -+ try: -+ subprocess.run(["systemd-sysusers"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True) -+ except subprocess.CalledProcessError as error: -+ sys.stderr.write(error.stdout) -+ sys.exit(1) -+ -+ -+def tmpfiles(): -+ # Allow systemd-tmpfiles to return non-0. Some packages want to create -+ # directories owned by users that are not set up with systemd-sysusers. -+ subprocess.run(["systemd-tmpfiles", "--create"], check=False) -+ -+ -+def nsswitch(): -+ # the default behavior is fine, but using nss-resolve does not -+ # necessarily work in a non-booted container, so make sure that -+ # is not configured. -+ try: -+ os.remove("/etc/nsswitch.conf") -+ except FileNotFoundError: -+ pass -+ -+ -+if __name__ == "__main__": -+ with osbuild.api.exception_handler(): -+ ldconfig() -+ sysusers() -+ tmpfiles() -+ nsswitch() -+ -+ r = subprocess.run(sys.argv[1:], check=False) -+ sys.exit(r.returncode) diff --git a/SPECS/osbuild.spec b/SPECS/osbuild.spec index 426627f..672898d 100644 --- a/SPECS/osbuild.spec +++ b/SPECS/osbuild.spec @@ -124,8 +124,8 @@ manifests and osbuild. %prep %forgesetup -# AlmaLinux patch -%patch10000 -p1 -b .runners +ln -rs %{_builddir}/%{name}-%{version}/runners/org.osbuild.rhel82 %{_builddir}/%{name}-%{version}/runners/org.osbuild.almalinux88 +ln -rs %{_builddir}/%{name}-%{version}/runners/org.osbuild.centos9 %{_builddir}/%{name}-%{version}/runners/org.osbuild.almalinux92 %build %py3_build