15cd2b138SFam Zheng#!/usr/bin/env python 25cd2b138SFam Zheng# 35cd2b138SFam Zheng# NetBSD VM image 45cd2b138SFam Zheng# 55cd2b138SFam Zheng# Copyright 2017 Red Hat Inc. 65cd2b138SFam Zheng# 75cd2b138SFam Zheng# Authors: 85cd2b138SFam Zheng# Fam Zheng <famz@redhat.com> 95cd2b138SFam Zheng# 105cd2b138SFam Zheng# This code is licensed under the GPL version 2 or later. See 115cd2b138SFam Zheng# the COPYING file in the top-level directory. 125cd2b138SFam Zheng# 135cd2b138SFam Zheng 145cd2b138SFam Zhengimport os 155cd2b138SFam Zhengimport sys 165cd2b138SFam Zhengimport subprocess 175cd2b138SFam Zhengimport basevm 185cd2b138SFam Zheng 195cd2b138SFam Zhengclass NetBSDVM(basevm.BaseVM): 205cd2b138SFam Zheng name = "netbsd" 2131719c37SPhilippe Mathieu-Daudé arch = "x86_64" 225cd2b138SFam Zheng BUILD_SCRIPT = """ 235cd2b138SFam Zheng set -e; 2444b69d50SPeter Maydell rm -rf /var/tmp/qemu-test.* 255cd2b138SFam Zheng cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); 265cd2b138SFam Zheng tar -xf /dev/rld1a; 275cd2b138SFam Zheng ./configure --python=python2.7 {configure_opts}; 28*5c2ec9b6SAlex Bennée gmake --output-sync -j{jobs} {target} {verbose}; 295cd2b138SFam Zheng """ 305cd2b138SFam Zheng 315cd2b138SFam Zheng def build_image(self, img): 325cd2b138SFam Zheng cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz", 335cd2b138SFam Zheng sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732') 345cd2b138SFam Zheng img_tmp_xz = img + ".tmp.xz" 355cd2b138SFam Zheng img_tmp = img + ".tmp" 365cd2b138SFam Zheng subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) 375cd2b138SFam Zheng subprocess.check_call(["xz", "-df", img_tmp_xz]) 385cd2b138SFam Zheng if os.path.exists(img): 395cd2b138SFam Zheng os.remove(img) 405cd2b138SFam Zheng os.rename(img_tmp, img) 415cd2b138SFam Zheng 425cd2b138SFam Zhengif __name__ == "__main__": 435cd2b138SFam Zheng sys.exit(basevm.main(NetBSDVM)) 44