]>
Commit | Line | Data |
---|---|---|
111e30c0 FZ |
1 | #!/usr/bin/env python |
2 | # | |
3 | # FreeBSD VM image | |
4 | # | |
5 | # Copyright 2017 Red Hat Inc. | |
6 | # | |
7 | # Authors: | |
8 | # Fam Zheng <[email protected]> | |
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" | |
31719c37 | 21 | arch = "x86_64" |
111e30c0 FZ |
22 | BUILD_SCRIPT = """ |
23 | set -e; | |
44b69d50 | 24 | rm -rf /var/tmp/qemu-test.* |
111e30c0 FZ |
25 | cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); |
26 | tar -xf /dev/vtbd1; | |
27 | ./configure {configure_opts}; | |
5c2ec9b6 | 28 | gmake --output-sync -j{jobs} {target} {verbose}; |
111e30c0 FZ |
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" | |
920fff90 | 36 | sys.stderr.write("Extracting the image...\n") |
111e30c0 | 37 | subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) |
920fff90 | 38 | subprocess.check_call(["xz", "-dvf", img_tmp_xz]) |
111e30c0 FZ |
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)) |