]>
Commit | Line | Data |
---|---|---|
fdfaa332 FZ |
1 | #!/usr/bin/env python |
2 | # | |
3 | # OpenBSD 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 OpenBSDVM(basevm.BaseVM): | |
20 | name = "openbsd" | |
21 | BUILD_SCRIPT = """ | |
22 | set -e; | |
23 | cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); | |
24 | tar -xf /dev/rsd1c; | |
25 | ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts}; | |
f2d4becd | 26 | gmake --output-sync -j{jobs} {verbose}; |
fdfaa332 | 27 | # XXX: "gmake check" seems to always hang or fail |
f2d4becd | 28 | #gmake --output-sync -j{jobs} check {verbose}; |
fdfaa332 FZ |
29 | """ |
30 | ||
31 | def build_image(self, img): | |
32 | cimg = self._download_with_cache("http://download.patchew.org/openbsd-6.1-amd64.img.xz", | |
33 | sha256sum='8c6cedc483e602cfee5e04f0406c64eb99138495e8ca580bc0293bcf0640c1bf') | |
34 | img_tmp_xz = img + ".tmp.xz" | |
35 | img_tmp = img + ".tmp" | |
36 | subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) | |
37 | subprocess.check_call(["xz", "-df", img_tmp_xz]) | |
38 | if os.path.exists(img): | |
39 | os.remove(img) | |
40 | os.rename(img_tmp, img) | |
41 | ||
42 | if __name__ == "__main__": | |
43 | sys.exit(basevm.main(OpenBSDVM)) |