]>
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" | |
31719c37 | 21 | arch = "x86_64" |
fdfaa332 FZ |
22 | BUILD_SCRIPT = """ |
23 | set -e; | |
44b69d50 | 24 | rm -rf /var/tmp/qemu-test.* |
fdfaa332 FZ |
25 | cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); |
26 | tar -xf /dev/rsd1c; | |
27 | ./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts}; | |
f2d4becd | 28 | gmake --output-sync -j{jobs} {verbose}; |
fdfaa332 | 29 | # XXX: "gmake check" seems to always hang or fail |
f2d4becd | 30 | #gmake --output-sync -j{jobs} check {verbose}; |
fdfaa332 FZ |
31 | """ |
32 | ||
33 | def build_image(self, img): | |
34 | cimg = self._download_with_cache("http://download.patchew.org/openbsd-6.1-amd64.img.xz", | |
35 | sha256sum='8c6cedc483e602cfee5e04f0406c64eb99138495e8ca580bc0293bcf0640c1bf') | |
36 | img_tmp_xz = img + ".tmp.xz" | |
37 | img_tmp = img + ".tmp" | |
920fff90 | 38 | sys.stderr.write("Extracting the image...\n") |
fdfaa332 | 39 | subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) |
920fff90 | 40 | subprocess.check_call(["xz", "-dvf", img_tmp_xz]) |
fdfaa332 FZ |
41 | if os.path.exists(img): |
42 | os.remove(img) | |
43 | os.rename(img_tmp, img) | |
44 | ||
45 | if __name__ == "__main__": | |
46 | sys.exit(basevm.main(OpenBSDVM)) |