1#!/usr/bin/env python 2# 3# FreeBSD VM image 4# 5# Copyright 2017 Red Hat Inc. 6# 7# Authors: 8# Fam Zheng <famz@redhat.com> 9# 10# This code is licensed under the GPL version 2 or later. See 11# the COPYING file in the top-level directory. 12# 13 14import os 15import sys 16import subprocess 17import basevm 18 19class FreeBSDVM(basevm.BaseVM): 20 name = "freebsd" 21 BUILD_SCRIPT = """ 22 set -e; 23 cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); 24 tar -xf /dev/vtbd1; 25 ./configure {configure_opts}; 26 gmake -j{jobs}; 27 gmake check; 28 """ 29 30 def build_image(self, img): 31 cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz", 32 sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891') 33 img_tmp_xz = img + ".tmp.xz" 34 img_tmp = img + ".tmp" 35 subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) 36 subprocess.check_call(["xz", "-df", img_tmp_xz]) 37 if os.path.exists(img): 38 os.remove(img) 39 os.rename(img_tmp, img) 40 41if __name__ == "__main__": 42 sys.exit(basevm.main(FreeBSDVM)) 43