summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/build-vmware-ovf8
-rwxr-xr-xscripts/check-vm-build-env2
-rw-r--r--scripts/template.ovf8
3 files changed, 14 insertions, 4 deletions
diff --git a/scripts/build-vmware-ovf b/scripts/build-vmware-ovf
index f3424a03..8890ba69 100755
--- a/scripts/build-vmware-ovf
+++ b/scripts/build-vmware-ovf
@@ -43,8 +43,12 @@ qemu-img convert -f raw ${source_image} -O vmdk -o adapter_type=lsilogic ${tmp_v
vmdk-convert ${tmp_vmdk} ${vmdk}
# Generate OVF
-vmdk_file_size=$(du --bytes ${vmdk} | awk '{print $1}')
-cat scripts/template.ovf | sed "s/{{vmdk_file_size}}/${vmdk_file_size}/" > ${ovf}
+vmdk_file_size=$(vmdk-convert -i ${vmdk} | jq .capacity)
+vmdk_populated_size=$(vmdk-convert -i ${vmdk} | jq .used)
+version=$(cat build/version)
+cat scripts/template.ovf | sed "s/{{vmdk_file_size}}/${vmdk_file_size}/" > ${ovf}
+sed -i "s/{{vmdk_populated_size}}/${vmdk_populated_size}/" ${ovf}
+sed -i "s/{{version}}/${version}/" ${ovf}
# Generate manifest file
cd ${DST_DIR}
diff --git a/scripts/check-vm-build-env b/scripts/check-vm-build-env
index 47ec5922..c32f2b13 100755
--- a/scripts/check-vm-build-env
+++ b/scripts/check-vm-build-env
@@ -26,7 +26,7 @@ import util
deps = {
'packages': [
- 'make',
+ 'jq',
'qemu-system-x86',
'qemu-utils'
],
diff --git a/scripts/template.ovf b/scripts/template.ovf
index 7e341c3e..b7c9aa32 100644
--- a/scripts/template.ovf
+++ b/scripts/template.ovf
@@ -5,7 +5,7 @@
</References>
<DiskSection>
<Info>Virtual disk information</Info>
- <Disk ovf:capacity="4" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>
+ <Disk ovf:capacity="4" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="{{vmdk_populated_size}}"/>
</DiskSection>
<NetworkSection>
<Info>The list of logical networks</Info>
@@ -111,5 +111,11 @@
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="soft"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="soft"/>
</VirtualHardwareSection>
+ <ProductSection>
+ <Info>VyOS is a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality.</Info>
+ <Product>VyOS</Product>
+ <Vendor>VyOS maintainers and contributors</Vendor>
+ <Version>{{version}}</Version>
+ </ProductSection>
</VirtualSystem>
</Envelope>