runners: add rhel7 runner

Create a runner for RHEL7. The one thing to note is that RHEL 7
makes use of ld.so.confd snippets and one important for us is
to include `/usr/lib64/iscsi` needed by qemu-img. Otherwise this
is a fairly simple and straight forward runner.
This commit is contained in:
Christian Kellner 2021-10-12 20:53:45 +00:00 committed by Tom Gundersen
parent f16b606716
commit f951a4931e

35
runners/org.osbuild.rhel7 Executable file
View file

@ -0,0 +1,35 @@
#!/usr/bin/python3
import os
import subprocess
import sys
import osbuild.api
def ldconfig():
# ld.so.conf must exist, or `ldconfig` throws a warning
with open("/etc/ld.so.conf", "w", ) as f:
# qemu-img needs `libiscsi`, which is located in /usr/lib64/iscsi
f.write("/usr/lib64/iscsi\n")
f.flush()
subprocess.run(["ldconfig"], check=True)
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()
nsswitch()
r = subprocess.run(sys.argv[1:], check=False)
sys.exit(r.returncode)