| 
									
										
										
										
											2017-09-05 10:11:56 +08:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # NetBSD VM image | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Copyright 2017 Red Hat Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Authors: | 
					
						
							|  |  |  | #  Fam Zheng <famz@redhat.com> | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # This code is licensed under the GPL version 2 or later.  See | 
					
						
							|  |  |  | # the COPYING file in the top-level directory. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import subprocess | 
					
						
							|  |  |  | import basevm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NetBSDVM(basevm.BaseVM): | 
					
						
							|  |  |  |     name = "netbsd" | 
					
						
							|  |  |  |     BUILD_SCRIPT = """ | 
					
						
							|  |  |  |         set -e; | 
					
						
							|  |  |  |         cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); | 
					
						
							|  |  |  |         tar -xf /dev/rld1a; | 
					
						
							|  |  |  |         ./configure --python=python2.7 {configure_opts}; | 
					
						
							| 
									
										
										
										
											2018-08-03 09:52:28 +01:00
										 |  |  |         gmake -j{jobs} {verbose}; | 
					
						
							|  |  |  |         gmake -j{jobs} check {verbose}; | 
					
						
							| 
									
										
										
										
											2017-09-05 10:11:56 +08:00
										 |  |  |     """ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def build_image(self, img): | 
					
						
							|  |  |  |         cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz", | 
					
						
							|  |  |  |                                          sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732') | 
					
						
							|  |  |  |         img_tmp_xz = img + ".tmp.xz" | 
					
						
							|  |  |  |         img_tmp = img + ".tmp" | 
					
						
							|  |  |  |         subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) | 
					
						
							|  |  |  |         subprocess.check_call(["xz", "-df", img_tmp_xz]) | 
					
						
							|  |  |  |         if os.path.exists(img): | 
					
						
							|  |  |  |             os.remove(img) | 
					
						
							|  |  |  |         os.rename(img_tmp, img) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     sys.exit(basevm.main(NetBSDVM)) |