freebsd 1.1 KB
Newer Older
F
Fam Zheng 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/usr/bin/env python
#
# FreeBSD VM image
#
# Copyright 2017 Red Hat Inc.
#
# Authors:
#  Fam Zheng <famz@redhat.com>
#
# 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 FreeBSDVM(basevm.BaseVM):
    name = "freebsd"
    BUILD_SCRIPT = """
        set -e;
        cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
        tar -xf /dev/vtbd1;
        ./configure {configure_opts};
26 27
        gmake -j{jobs} {verbose};
        gmake -j{jobs} check {verbose};
F
Fam Zheng 已提交
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
    """

    def build_image(self, img):
        cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
                sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
        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(FreeBSDVM))