]> git.proxmox.com Git - mirror_qemu.git/blob - tests/vm/freebsd
docs/devel/testing: Fix typo in dockerfile path
[mirror_qemu.git] / tests / vm / freebsd
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
14 import os
15 import sys
16 import subprocess
17 import basevm
18
19 class FreeBSDVM(basevm.BaseVM):
20 name = "freebsd"
21 arch = "x86_64"
22 BUILD_SCRIPT = """
23 set -e;
24 rm -rf /var/tmp/qemu-test.*
25 cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
26 tar -xf /dev/vtbd1;
27 ./configure {configure_opts};
28 gmake --output-sync -j{jobs} {target} {verbose};
29 """
30
31 def build_image(self, img):
32 cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
33 sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
34 img_tmp_xz = img + ".tmp.xz"
35 img_tmp = img + ".tmp"
36 sys.stderr.write("Extracting the image...\n")
37 subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
38 subprocess.check_call(["xz", "-dvf", img_tmp_xz])
39 if os.path.exists(img):
40 os.remove(img)
41 os.rename(img_tmp, img)
42
43 if __name__ == "__main__":
44 sys.exit(basevm.main(FreeBSDVM))