xref: /openbmc/qemu/tests/vm/freebsd (revision dd873966)
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