diff options
| author | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2016-03-08 09:08:36 +0900 | 
|---|---|---|
| committer | Yuya Kusakabe <yuya.kusakabe@gmail.com> | 2016-03-08 09:12:22 +0900 | 
| commit | c5df2dd17dffda133a0c0bb68d6a9a16c10f1c2e (patch) | |
| tree | b795d1391f23c175f7b2205354b1935c5d999cf8 /scripts | |
| parent | 01083886e1e861378ce16195c9ad76c1d5ce3e4a (diff) | |
| download | vyos-build-c5df2dd17dffda133a0c0bb68d6a9a16c10f1c2e.tar.gz vyos-build-c5df2dd17dffda133a0c0bb68d6a9a16c10f1c2e.zip  | |
Add support for signed VMware OVA (ref T14).
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build-vmware-ova (renamed from scripts/build-vmware-ovf) | 27 | 
1 files changed, 23 insertions, 4 deletions
diff --git a/scripts/build-vmware-ovf b/scripts/build-vmware-ova index 8890ba69..c0e85cdc 100755 --- a/scripts/build-vmware-ovf +++ b/scripts/build-vmware-ova @@ -25,6 +25,13 @@ else     echo "Your system has vmdk-convert."  fi +if [ ! $(which ovftool) ]; then +   echo "Your system doesn't have ovftool. Please install it from https://www.vmware.com/support/developer/ovf/." +   exit 1 +else +   echo "Your system has ovftool." +fi +  export PACKER_BUILD_DIR=packer_build  export PACKER_LOG_PATH=${PACKER_BUILD_DIR}/build_vmware_ovf.log  export PACKER_LOG=1 @@ -43,13 +50,25 @@ 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=$(vmdk-convert -i ${vmdk} | jq .capacity) +echo 'Generating OVF file...' +vmdk_file_size=$(du --bytes ${vmdk} | cut -f1)  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} +sed scripts/template.ovf \ +  -e "s/{{vmdk_file_size}}/${vmdk_file_size}/" \ +  -e "s/{{vmdk_populated_size}}/${vmdk_populated_size}/" \ +  -e "s/{{version}}/${version}/" \ +  > ${ovf}  # Generate manifest file  cd ${DST_DIR}  openssl sha1 *.vmdk *.ovf > vyos_vmware_image.mf + +# Convert the OVF to signed OVA... +echo 'Converting the OVF to signed OVA...' +private_key=${PRIVATE_KEY_PATH:-"../../key/privatekey.pem"} +if [ ! -f ${private_key} ]; then +  echo 'Please put your key to "key" directory in repository root, or set PRIVATE_KEY_PATH to environment variables.' +  exit 1 +fi +ovftool --privateKey=${PRIVATE_KEY_PATH} vyos_vmware_image.ovf vyos_vmware_image.ova  | 
