diff --git a/scripts/mkimage b/scripts/mkimage index 6c64b454c5..7868b19fc5 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -43,7 +43,8 @@ DISK_START_PADDING=$(( ($SYSTEM_PART_START + 2048 - 1) / 2048 )) DISK_GPT_PADDING=1 DISK_SIZE=$(( $DISK_START_PADDING + $SYSTEM_SIZE + $STORAGE_SIZE + $DISK_GPT_PADDING )) - DISK="$TARGET_IMG/$IMAGE_NAME.img" + DISK_BASENAME="$TARGET_IMG/$IMAGE_NAME" + DISK="${DISK_BASENAME}.img" # functions cleanup() { @@ -305,7 +306,7 @@ fi # bootloader if [ "$PROJECT" = "Generic" ]; then echo "image: creating open virtual appliance..." # duplicate $DISK so anything we do to it directly doesn't effect original - dd if="$DISK" of="${DISK/img/tmp}" bs=1M >"$SAVE_ERROR" 2>&1 || show_error + dd if="$DISK" of="${DISK_BASENAME}.tmp" bs=1M >"$SAVE_ERROR" 2>&1 || show_error # change syslinux default to 'run' echo "image: modifying fs on part1 for open virtual appliance..." sed -i "/DEFAULT/ s/installer/run/" "$LE_TMP"/syslinux.cfg @@ -318,20 +319,20 @@ fi # bootloader sync # merge modified part1 back to tmp disk image echo "image: merging part1 back to open virtual appliance..." - dd if="$LE_TMP/part1.fat" of="${DISK/img/tmp}" bs=512 seek="$SYSTEM_PART_START" conv=fsync,notrunc >"$SAVE_ERROR" 2>&1 || show_error + dd if="$LE_TMP/part1.fat" of="${DISK_BASENAME}.tmp" bs=512 seek="$SYSTEM_PART_START" conv=fsync,notrunc >"$SAVE_ERROR" 2>&1 || show_error # create vmdk from tmp $DISK - qemu-img convert -O vmdk -o subformat=streamOptimized "${DISK/img/tmp}" "${DISK/img/vmdk}" + qemu-img convert -O vmdk -o subformat=streamOptimized "${DISK_BASENAME}.tmp" "${DISK_BASENAME}.vmdk" # generate ovf from template - sed -e "s,@DISTRO@,$DISTRO,g" -e "s,@DISK@,$(basename ${DISK/.img}),g" \ + sed -e "s,@DISTRO@,$DISTRO,g" -e "s,@DISK@,${IMAGE_NAME},g" \ -e "s,@DISK_SIZE@,$(($DISK_SIZE*1024*1024)),g" \ - $PROJECT_DIR/$PROJECT/config/ovf.template > ${DISK/img/ovf} + $PROJECT_DIR/$PROJECT/config/ovf.template > ${DISK_BASENAME}.ovf # combine ovf and vmdk into official ova - tar -C $TARGET_IMG -cf ${DISK/img/ova} $(basename ${DISK/img/ovf}) $(basename ${DISK/img/vmdk}) + tar -C $TARGET_IMG -cf ${DISK_BASENAME}.ova ${IMAGE_NAME}.ovf ${IMAGE_NAME}.vmdk echo "image: cleaning up..." # remove tmp $DISK, vmdk and ovf - rm ${DISK/img/tmp} ${DISK/img/vmdk} ${DISK/img/ovf} + rm ${DISK_BASENAME}.tmp ${DISK_BASENAME}.vmdk ${DISK_BASENAME}.ovf # set owner - [ -n "$SUDO_USER" ] && chown $SUDO_USER: ${DISK/img/ova} + [ -n "$SUDO_USER" ] && chown $SUDO_USER: ${DISK_BASENAME}.ova fi # gzip