1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00
LibrePilot/package/osx/package
2014-01-09 20:05:14 +01:00

63 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# the following environment variables must be set
: ${ROOT_DIR?} ${BUILD_DIR?} ${PACKAGE_LBL?} ${PACKAGE_DIR?} ${FW_DIR?} ${PACKAGE_NAME?} ${PACKAGE_SEP?}
# more variables
APP_PATH="${BUILD_DIR}/openpilotgcs_release/bin/OpenPilot GCS.app"
TEMP_FILE="${PACKAGE_DIR}/OpenPilot-temp.dmg"
OUT_FILE="${PACKAGE_DIR}/../${PACKAGE_NAME}${PACKAGE_SEP}${PACKAGE_LBL}${PACKAGE_SEP}osx.dmg"
VOL_NAME="OpenPilot"
# prepare the stage
rm -f "${TEMP_FILE}"
rm -f "${OUT_FILE}"
# if an OpenPilot volume is already mounted, unmount it
if [ -f "/Volumes/${VOL_NAME}" ]
then
echo "Unmount existing /Volumes/${VOL_NAME}"
hdiutil unmount "/Volumes/${VOL_NAME}"
fi
hdiutil convert "${ROOT_DIR}/package/osx/OpenPilot.dmg" \
-format UDRW -o "${TEMP_FILE}"
device=$(hdiutil attach "${TEMP_FILE}" | \
egrep '^/dev/' | sed 1q | awk '{print $1}')
#Just in case something is still mounted as ${VOL_NAME}, check the correct mount point
mountvolume=$(hdiutil info | egrep "^${device}"| egrep "${VOL_NAME}" | sed 's/.*Volumes\///;s/*//' | sed 1q)
echo "Image mounted as /Volumes/${mountvolume}"
if [ ! -d "/Volumes/${mountvolume}/OpenPilot GCS.app" ]
then
echo "Cannot find a valid image at /Volumes/${mountvolume}"
exit 1
fi
# packaging goes here
cp -a "${APP_PATH}" "/Volumes/${mountvolume}"
#ls "${FW_DIR}" | xargs -n 1 -I {} cp "${FW_DIR}/{}" "/Volumes/${VOL_NAME}/Firmware"
cp "${BUILD_DIR}/uavobject-synthetics/matlab/OPLogConvert.m" "/Volumes/${mountvolume}/Utilities"
cp "${ROOT_DIR}/WHATSNEW.txt" "/Volumes/${mountvolume}"
cp "${ROOT_DIR}/README.txt" "/Volumes/${mountvolume}/Docs"
cp "${ROOT_DIR}/MILESTONES.txt" "/Volumes/${mountvolume}/Docs"
cp "${ROOT_DIR}/LICENSE.txt" "/Volumes/${mountvolume}/Docs"
cp "${ROOT_DIR}/GPLv3.txt" "/Volumes/${mountvolume}/Docs"
"${ROOT_DIR}/package/osx/libraries" \
"/Volumes/${mountvolume}/OpenPilot GCS.app" || exit 1
hdiutil detach ${device}
min=`hdiutil resize ${TEMP_FILE} | awk \{print\ \$\1\}`
echo "Resizing dmg to ${min}"
hdiutil resize -sectors ${min} ${TEMP_FILE}
hdiutil convert "${TEMP_FILE}" -format UDZO -o "${OUT_FILE}"
# cleanup
rm "${TEMP_FILE}"