mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-01 09:24:10 +01:00
f5a7345d75
retrieve actual volume name with hdiutil
63 lines
2.1 KiB
Bash
Executable File
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}"
|