-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey,

This patch adds support for the VPC/VHD image format. Like a few
before it, koji will call qemu-img on the host to do the conversion.

Users can make use of this by passing "--format vpc" to the
image-build command. The resulting image will have the .vhd file
extension. I tested scratch and normal builds locally using this format.

- - Jay
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)

iQEcBAEBAgAGBQJVSPjHAAoJEMzORChHoQ3aa/EH/jNP0TRqjoOILQreSsCdHbII
5Qm6CPcRb8MsjnRsTnNk1Ozh2sj61PkKldN6lxMLCGWNxjU6JtSamUJIoMFTkYmr
t2d1QoRGjzvdPEtjnCrTgy2q8VCpduUFKYjwtL6fGwWChP+DMxQVZ3PERDW1h4z3
nI2wd4f0FHsYdFklc+2tDVzS79fHmRjXemKyAOp85nZdqztmrJKLKe9hQ13ne4xb
UpzVxTMMjnZT4hYteYZ1hSjkvuQI7vF5xPVZXH4SqkM3AL7p8AX4+a+Bk7g5S33C
i/qyMxMULWEH858mBys5y3W4V9eAprUvwMVAjGD9gZb4rKruTt/jNNzFhcKqIV0=
=FpTG
-----END PGP SIGNATURE-----
>From da04ca8cabdf0bfd81705007b72cc37a49f18b4c Mon Sep 17 00:00:00 2001
From: Jay Greguske <[email protected]>
Date: Tue, 5 May 2015 13:04:15 -0400
Subject: [PATCH] add vhd/vpc support

---
 builder/kojid |   11 +++++++++--
 cli/koji      |    7 +++----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/builder/kojid b/builder/kojid
index e460ccc..cbe9814 100755
--- a/builder/kojid
+++ b/builder/kojid
@@ -3051,7 +3051,7 @@ class BaseImageTask(OzImageTask):
         Some image formats require others to be processed first, which is why
         we have to do this. raw files in particular may not be kept.
         """
-        supported = ('raw', 'raw-xz', 'vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova', 'docker', 'vagrant-virtualbox', 'vagrant-libvirt')
+        supported = ('raw', 'raw-xz', 'vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova', 'docker', 'vagrant-virtualbox', 'vagrant-libvirt', 'vpc')
         for f in formats:
             if f not in supported:
                 raise koji.ApplianceError('Invalid format: %s' % f)
@@ -3081,6 +3081,7 @@ class BaseImageTask(OzImageTask):
                   'vdi':   self._buildConvert,
                   'qcow':  self._buildConvert,
                   'qcow2': self._buildConvert,
+                  'vpc':   self._buildConvert,
                   'rhevm-ova':   self._buildOVA,
                   'vsphere-ova': self._buildOVA,
                   'vagrant-virtualbox': self._buildOVA,
@@ -3291,7 +3292,11 @@ class BaseImageTask(OzImageTask):
         @returns
             a dict with some metadata about the image
         """
-        newimg = os.path.join(self.workdir, self.imgname + '.%s' % format)
+        self.logger.debug('converting an image to "%s"' % format)
+        ofmt = format
+        if format == 'vpc':
+            ofmt = 'vhd'
+        newimg = os.path.join(self.workdir, self.imgname + '.%s' % ofmt)
         cmd = ['/usr/bin/qemu-img', 'convert', '-f', 'raw', '-O',
             format, self.base_img.base_image.data, newimg]
         if format in ('qcow', 'qcow2'):
@@ -3401,6 +3406,8 @@ class BaseImageTask(OzImageTask):
                 newname = self.imgname + '.' + format + '.box'
             elif format == 'docker':
                 newname = self.imgname + '.' + 'tar.xz'
+            elif format == 'vpc':
+                newname = self.imgname + '.' + 'vhd'
             else:
                 newname = self.imgname + '.' + format
             if format != 'docker':
diff --git a/cli/koji b/cli/koji
index 473bcb8..b08f078 100755
--- a/cli/koji
+++ b/cli/koji
@@ -5238,12 +5238,11 @@ def _build_image_indirection(options, task_opts, session, args):
     #    return
 
 
-
-
 def handle_image_build(options, session, args):
     """Create a disk image given an install tree"""
-    formats = ('vmdk', 'qcow', 'qcow2', 'vdi', 'rhevm-ova', 'vsphere-ova',
-               'vagrant-virtualbox', 'vagrant-libvirt', 'docker', 'raw-xz')
+    formats = ('vmdk', 'qcow', 'qcow2', 'vdi', 'vpc', 'rhevm-ova',
+               'vsphere-ova', 'vagrant-virtualbox', 'vagrant-libvirt',
+               'docker', 'raw-xz')
     usage = _("usage: %prog image-build [options] <name> <version> " +
               "<target> <install-tree-url> <arch> [<arch>...]")
     usage += _("\n       %prog image-build --config FILE")
-- 
1.7.1

Attachment: 0001-add-vhd-vpc-support.patch.sig
Description: PGP signature

--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys

Reply via email to