#!/usr/bin/env python # # OpenBSD VM image # # Copyright 2017 Red Hat Inc. # # Authors: # Fam Zheng # # This code is licensed under the GPL version 2 or later. See # the COPYING file in the top-level directory. # import os import sys import subprocess import basevm class OpenBSDVM(basevm.BaseVM): name = "openbsd" BUILD_SCRIPT = """ set -e; cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); tar -xf /dev/rsd1c; ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts}; gmake --output-sync -j{jobs} {verbose}; # XXX: "gmake check" seems to always hang or fail #gmake --output-sync -j{jobs} check {verbose}; """ def build_image(self, img): cimg = self._download_with_cache("http://download.patchew.org/openbsd-6.1-amd64.img.xz", sha256sum='8c6cedc483e602cfee5e04f0406c64eb99138495e8ca580bc0293bcf0640c1bf') img_tmp_xz = img + ".tmp.xz" img_tmp = img + ".tmp" subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) subprocess.check_call(["xz", "-df", img_tmp_xz]) if os.path.exists(img): os.remove(img) os.rename(img_tmp, img) if __name__ == "__main__": sys.exit(basevm.main(OpenBSDVM))