Project

General

Profile

« Previous | Next » 

Revision ff3cfa9a

Added by Renato Botelho almost 10 years ago

We do not need a separate path variable for ovf, use IMAGES_FINAL_DIR instead

View differences:

tools/builder_common.sh
794 794
	ova_remove_old_tmp_files
795 795
	ova_setup_ovf_file
796 796
	ova_create_raw_backed_file
797
	/bin/echo -n ">>> Creating mdconfig image ${OVFPATH}/${OVFVMDK}.raw... " | tee -a ${LOGFILE}
798
	MD=$(mdconfig -a -t vnode -f ${OVFPATH}/${OVFVMDK}.raw)
797
	/bin/echo -n ">>> Creating mdconfig image ${IMAGES_FINAL_DIR}/${OVFVMDK}.raw... " | tee -a ${LOGFILE}
798
	MD=$(mdconfig -a -t vnode -f ${IMAGES_FINAL_DIR}/${OVFVMDK}.raw)
799 799
	# Just in case
800 800
	trap "mdconfig -d -u ${MD}" 1 2 15 EXIT
801 801

  
......
820 820
	BUILDPLATFORM=$(uname -p)
821 821
	POPULATEDSIZE=$(du -d0 -m $FINAL_CHROOT_DIR | awk '{ print \$1 }')
822 822
	POPULATEDSIZEBYTES=$(echo "${POPULATEDSIZE}*1024^2" | bc)
823
	REFERENCESSIZE=$(stat -f "%z" ${OVFPATH}/${OVFVMDK})
823
	REFERENCESSIZE=$(stat -f "%z" ${IMAGES_FINAL_DIR}/${OVFVMDK})
824 824
	echo ">>> Setting REFERENCESSIZE to ${REFERENCESSIZE}..." | tee -a ${LOGFILE}
825
	file_search_replace REFERENCESSIZE ${REFERENCESSIZE} ${OVFPATH}/${PRODUCT_NAME}.ovf
825
	file_search_replace REFERENCESSIZE ${REFERENCESSIZE} ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
826 826
	echo ">>> Setting POPULATEDSIZEBYTES to ${POPULATEDSIZEBYTES}..." | tee -a ${LOGFILE}
827 827
	#  OperatingSystemSection (${PRODUCT_NAME}.ovf)
828 828
	#  42   FreeBSD 32-Bit
829 829
	#  78   FreeBSD 64-Bit
830 830
	if [ "$BUILDPLATFORM" = "i386" ]; then
831
		file_search_replace '"101"' '"42"' ${OVFPATH}/${PRODUCT_NAME}.ovf
832
		file_search_replace 'FreeBSD XX-Bit' 'FreeBSD' ${OVFPATH}/${PRODUCT_NAME}.ovf
831
		file_search_replace '"101"' '"42"' ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
832
		file_search_replace 'FreeBSD XX-Bit' 'FreeBSD' ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
833 833
	fi
834 834
	if [ "$BUILDPLATFORM" = "amd64" ]; then
835
		file_search_replace '"101"' '"78"' ${OVFPATH}/${PRODUCT_NAME}.ovf
836
		file_search_replace 'FreeBSD XX-Bit' 'FreeBSD 64-Bit' ${OVFPATH}/${PRODUCT_NAME}.ovf
835
		file_search_replace '"101"' '"78"' ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
836
		file_search_replace 'FreeBSD XX-Bit' 'FreeBSD 64-Bit' ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
837 837
	fi
838
	file_search_replace DISKSECTIONPOPULATEDSIZE $POPULATEDSIZEBYTES ${OVFPATH}/${PRODUCT_NAME}.ovf
838
	file_search_replace DISKSECTIONPOPULATEDSIZE $POPULATEDSIZEBYTES ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
839 839
	# 10737254400 = 10240MB = virtual box vmdk file size XXX grab this value from vbox creation
840 840
	# 10737418240 = 10GB
841 841
	echo ">>> Setting DISKSECTIONALLOCATIONUNITS to 10737254400..." | tee -a ${LOGFILE}
842
	file_search_replace DISKSECTIONALLOCATIONUNITS $OVA_DISKSECTIONALLOCATIONUNITS ${OVFPATH}/${PRODUCT_NAME}.ovf
842
	file_search_replace DISKSECTIONALLOCATIONUNITS $OVA_DISKSECTIONALLOCATIONUNITS ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
843 843
	echo ">>> Setting DISKSECTIONCAPACITY to 10737418240..." | tee -a ${LOGFILE}
844
	file_search_replace DISKSECTIONCAPACITY $OVADISKSIZE ${OVFPATH}/${PRODUCT_NAME}.ovf
844
	file_search_replace DISKSECTIONCAPACITY $OVADISKSIZE ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
845 845
	echo ">>> Repacking OVA with universal OVF file..." | tee -a ${LOGFILE}
846
	mv ${OVFPATH}/${OVFVMDK} ${OVFPATH}/${PRODUCT_NAME}-disk1.vmdk
847
	gtar -C ${OVFPATH} -cpf ${PRODUCT_NAME}.ova ${PRODUCT_NAME}.ovf ${PRODUCT_NAME}-disk1.vmdk
848
	rm $OVFPATH/${PRODUCT_NAME}-disk1.vmdk
849
	ls -lah ${OVFPATH}/${PRODUCT_NAME}*ov*
846
	mv ${IMAGES_FINAL_DIR}/${OVFVMDK} ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}-disk1.vmdk
847
	gtar -C ${IMAGES_FINAL_DIR} -cpf ${PRODUCT_NAME}.ova ${PRODUCT_NAME}.ovf ${PRODUCT_NAME}-disk1.vmdk
848
	rm $IMAGES_FINAL_DIR/${PRODUCT_NAME}-disk1.vmdk
849
	ls -lah ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}*ov*
850 850
}
851 851

  
852 852
# called from create_ova_image
......
876 876
# called from create_ova_image
877 877
ova_setup_ovf_file() {
878 878
	if [ -f ${OVFFILE} ]; then
879
		cp ${OVFFILE} ${OVFPATH}/${PRODUCT_NAME}.ovf
879
		cp ${OVFFILE} ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
880 880
	fi
881 881

  
882
	if [ ! -f ${OVFPATH}/${PRODUCT_NAME}.ovf ]; then
883
		cp ${BUILDER_TOOLS}/conf/ovf/${PRODUCT_NAME}.ovf ${OVFPATH}/${PRODUCT_NAME}.ovf
884
		file_search_replace PRODUCT_VERSION $PRODUCT_VERSION ${OVFPATH}/${PRODUCT_NAME}.ovf
885
		file_search_replace PRODUCT_URL $PRODUCT_URL ${OVFPATH}/${PRODUCT_NAME}.ovf
882
	if [ ! -f ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf ]; then
883
		cp ${BUILDER_TOOLS}/conf/ovf/${PRODUCT_NAME}.ovf ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
884
		file_search_replace PRODUCT_VERSION $PRODUCT_VERSION ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
885
		file_search_replace PRODUCT_URL $PRODUCT_URL ${IMAGES_FINAL_DIR}/${PRODUCT_NAME}.ovf
886 886
	fi
887 887
}
888 888

  
......
908 908
	DISKSIZE=$OVADISKSIZE
909 909
	BLOCKSIZE=$OVABLOCKSIZE
910 910
	COUNT=$((${DISKSIZE}/${BLOCKSIZE}))
911
	DISKFILE=${OVFPATH}/${OVFVMDK}.raw
911
	DISKFILE=${IMAGES_FINAL_DIR}/${OVFVMDK}.raw
912 912
	echo ">>> Creating raw backing file ${DISKFILE} (Disk Size: ${DISKSIZE}, Block Size: ${BLOCKSIZE}, Count: ${COUNT})..." | tee -a ${LOGFILE}
913 913
	dd if=/dev/zero of=$DISKFILE bs=$BLOCKSIZE count=0 seek=$COUNT
914 914
}
915 915

  
916 916
# called from create_ova_image
917 917
ova_remove_old_tmp_files() {
918
	rm ${OVFPATH}/*.ovf.final 2>/dev/null
919
	rm ${OVFPATH}/*.ova 2>/dev/null
918
	rm ${IMAGES_FINAL_DIR}/*.ovf.final 2>/dev/null
919
	rm ${IMAGES_FINAL_DIR}/*.ova 2>/dev/null
920 920
}
921 921

  
922 922
# called from create_ova_image
923 923
ova_create_vbox_image() {
924 924
	# VirtualBox
925 925
	echo ">>> Creating image using vmdktool..." | tee -a ${LOGFILE}
926
	rm ${OVFPATH}/${OVFVMDK} 2>/dev/null
927
	vmdktool -v ${OVFPATH}/${OVFVMDK} ${OVFPATH}/${OVFVMDK}.raw
928
	rm -rf ${OVFPATH}/${OVFVMDK}.raw
929
	echo ">>> ${OVFPATH}/${OVFVMDK} created." | tee -a ${LOGFILE}
926
	rm ${IMAGES_FINAL_DIR}/${OVFVMDK} 2>/dev/null
927
	vmdktool -v ${IMAGES_FINAL_DIR}/${OVFVMDK} ${IMAGES_FINAL_DIR}/${OVFVMDK}.raw
928
	rm -rf ${IMAGES_FINAL_DIR}/${OVFVMDK}.raw
929
	echo ">>> ${IMAGES_FINAL_DIR}/${OVFVMDK} created." | tee -a ${LOGFILE}
930 930
}
931 931

  
932 932
# called from create_ova_image
tools/builder_defaults.sh
192 192
export MEMORYDISK_SIZE=${MEMORYDISK_SIZE:-"768M"}
193 193

  
194 194
# OVF/vmdk parms
195
export OVFPATH=${OVFPATH:-"${IMAGES_FINAL_DIR}"}
196 195
# Name of ovf file included inside OVA archive
197 196
export OVFFILE=${OVFFILE:-"${PRODUCT_NAME}.ovf"}
198 197
# On disk name of VMDK file included in OVA

Also available in: Unified diff