diff --git a/tools/appliance/build.sh b/tools/appliance/build.sh index 61ee7936e67..ddcaec9e43c 100644 --- a/tools/appliance/build.sh +++ b/tools/appliance/build.sh @@ -60,7 +60,7 @@ done vboxmanage modifyhd $hdd_uuid --compact # Start exporting -rm -fr dist *.ova *.vhd *.vdi *.qcow* *.bz2 +rm -fr dist *.ova *.vhd *.vdi *.qcow* *.bz2 *.vmdk *.ovf mkdir dist # Export for Xen @@ -92,7 +92,11 @@ echo "$appliance exported for KVM: dist/$appliance-$build_date-$branch-kvm.qcow2 vboxmanage clonehd $hdd_uuid $appliance-$build_date-$branch-vmware.vmdk --format VMDK bzip2 $appliance-$build_date-$branch-vmware.vmdk echo "$appliance exported for VMWare: dist/$appliance-$build_date-$branch-vmware.vmdk.bz2" -vboxmanage export $machine_uuid --output $appliance-$build_date-$branch-vmware.ova +vboxmanage export $machine_uuid --output $appliance-$build_date-$branch-vmware.ovf +mv $appliance-$build_date-$branch-vmware.ovf $appliance-$build_date-$branch-vmware.ovf-orig +java -cp convert Convert convert_ovf_vbox_to_esx.xslt $appliance-$build_date-$branch-vmware.ovf-orig $appliance-$build_date-$branch-vmware.ovf +tar -cf $appliance-$build_date-$branch-vmware.ova $appliance-$build_date-$branch-vmware.ovf $appliance-$build_date-$branch-vmware-disk1.vmdk +rm -f $appliance-$build_date-$branch-vmware.ovf $appliance-$build_date-$branch-vmware.ovf-orig $appliance-$build_date-$branch-vmware-disk1.vmdk echo "$appliance exported for VMWare: dist/$appliance-$build_date-$branch-vmware.ova" # Export for HyperV diff --git a/tools/appliance/convert/Convert.class b/tools/appliance/convert/Convert.class new file mode 100644 index 00000000000..3f243418fff Binary files /dev/null and b/tools/appliance/convert/Convert.class differ diff --git a/tools/appliance/convert/Convert.java b/tools/appliance/convert/Convert.java new file mode 100644 index 00000000000..e29fdb2a6a1 --- /dev/null +++ b/tools/appliance/convert/Convert.java @@ -0,0 +1,34 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import javax.xml.transform.*; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; + +public class Convert { + public static void main(String[] args) throws IOException, URISyntaxException, TransformerException { + TransformerFactory factory = TransformerFactory.newInstance(); + Source xslt = new StreamSource(new File(args[0])); + Transformer transformer = factory.newTransformer(xslt); + + Source text = new StreamSource(new File(args[1])); + transformer.transform(text, new StreamResult(new File(args[2]))); + } +} diff --git a/tools/appliance/convert_ovf_vbox_to_esx.xslt b/tools/appliance/convert_ovf_vbox_to_esx.xslt new file mode 100644 index 00000000000..a6c086d9ae1 --- /dev/null +++ b/tools/appliance/convert_ovf_vbox_to_esx.xslt @@ -0,0 +1,42 @@ + + + + + vmx-07 + + + + + scsiController0 + SCSI Controller + scsiController0 + + lsilogic + 6 + + + + + + + + + +