From 692dc5773c63ffa086fde69a99321f8f7cb40895 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Tue, 7 Dec 2021 14:13:11 -0800 Subject: [PATCH] mkksiso: Check the iso's arch against the host's mkksiso cannot be run on an iso from another arch, some of the files and tools are arch specific. Catch this problem and tell the user that the iso doesn't match the host's architecture. Related: rhbz#2028048 --- src/sbin/mkksiso | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/sbin/mkksiso b/src/sbin/mkksiso index afbf8088..fecbe109 100755 --- a/src/sbin/mkksiso +++ b/src/sbin/mkksiso @@ -398,6 +398,16 @@ class MakeKickstartISO(): self.label = self.iso.label if volid is None else volid if not self.label: raise RuntimeError("No volume id found, cannot create iso.") + + # If the iso contains a .discinfo file check the arch against the host's + if os.path.exists(os.path.join(self.iso.mount_dir, ".discinfo")): + with open(os.path.join(self.iso.mount_dir, ".discinfo")) as f: + discinfo = [l.strip() for l in f.readlines()] + + log.info("iso arch = %s", discinfo[2]) + if os.uname().machine != discinfo[2]: + raise RuntimeError("iso arch does not match the host arch.") + log.info("Volume Id = %s", self.label) if os.path.exists(os.path.join(self.iso.mount_dir, "images/efiboot.img")):