REPOS_ROOT=$1 VERSION=$2 TEMPLATE_BUNDLE=$3 JOINT_CHANGELOG=$4 DEST=$5 # clean template rm $TEMPLATE_BUNDLE/CHANGELOG.txt rm $TEMPLATE_BUNDLE/relnotes.txt rm -rf $TEMPLATE_BUNDLE/Bitmask.app/Contentes/MacOS/apps/leap rm $TEMPLATE_BUNDLE/Bitmask.app/Contentes/MacOS/lib/leap/{common,keymanager,soledad,mail} # checkout VERSION in all repos for i in {leap_client,leap_pycommon,soledad,keymanager,leap_mail} do cd $REPOS_ROOT/$i git checkout $VERSION done # make ui in client cd $REPOS_ROOT/leap_client make # cp client cp -r $REPOS_ROOT/leap_client/src/leap $TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/leap # setup sdist client cd $REPOS_ROOT/leap_client python setup.py sdist # extract $VERSION and copy _version.py to TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/leap/bitmask/_version.py cd dist rm -rf leap.bitmask-$VERSION tar xzf leap.bitmask-$VERSION.tar.gz cp leap.bitmask-$VERSION/src/leap/bitmask/_version.py $TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/leap/bitmask/_version.py cp leap.bitmask-$VERSION/src/leap/bitmask/util/reqs.txt $TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/leap/bitmask/util/reqs.txt # cp common, soledad(client and common), mail and keymanager in TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/lib/leap/ LEAP_LIB=$TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/lib/leap/ cp -r $REPOS_ROOT/leap_pycommon/src/leap/common $LEAP_LIB cp -r $REPOS_ROOT/soledad/common/src/leap/soledad $LEAP_LIB cp -r $REPOS_ROOT/soledad/client/src/leap/soledad/client $LEAP_LIB/soledad cp -r $REPOS_ROOT/leap_mail/src/leap/mail $LEAP_LIB cp -r $REPOS_ROOT/keymanager/src/leap/keymanager $LEAP_LIB # cp leap_client launcher to TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/Bitmask BITMASK_BIN=$TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/Bitmask cd $REPOS_ROOT/leap_client_launcher/build/ make cp src/launcher $BITMASK_BIN # cp launcher.py to TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/ cd $REPOS_ROOT/leap_client_launcher/src/ cp launcher.py $TEMPLATE_BUNDLE/Bitmask.app/Contents/MacOS/apps/ # install_name_tool it install_name_tool -change libboost_python.dylib lib/libboost_python.dylib $BITMASK_BIN install_name_tool -change libboost_filesystem.dylib lib/libboost_filesystem.dylib $BITMASK_BIN install_name_tool -change libboost_system.dylib lib/libboost_system.dylib $BITMASK_BIN # cp relnotes to TEMPLATE_BUNDLE cp $REPOS_ROOT/leap_client/relnotes.txt $TEMPLATE_BUNDLE # cp joint_chglog to TEMPLATE_BUNDLE cp $JOINT_CHANGELOG $TEMPLATE_BUNDLE/CHANGELOG.txt # cp LICENSE to TEMPLATE_BUNDLE cp $REPOS_ROOT/leap_client/LICENSE $TEMPLATE_BUNDLE/LICENSE.txt # clean pyc$ cd $TEMPLATE_BUNDLE for i in $(find . | grep pyc$); do rm $i done # create dmg TMP=/tmp/Bitmask VOLUME_NAME=Bitmask DMG_FILE=Bitmask-OSX-$VERSION.dmg rm -rf $TMP mkdir -p $TMP cp -R $TEMPLATE_BUNDLE/* $TMP cp $REPOS_ROOT/leap_assets/mac/bitmask.icns $TMP/.VolumeIcon.icns SetFile -c icnC $TMP/.VolumeIcon.icns hdiutil create -srcfolder $TMP -volname $VOLUME_NAME -format UDRW -ov $DEST/raw-$DMG_FILE rm -rf $TMP mkdir -p $TMP hdiutil attach $DEST/raw-$DMG_FILE -mountpoint $TMP SetFile -a C $TMP hdiutil detach $TMP rm -rf $TMP rm -f $DEST/$DMG_FILE hdiutil convert $DEST/raw-$DMG_FILE -format UDZO -o $DEST/$DMG_FILE rm -f $DEST/raw-$DMG_FILE # go back to develop in all repos for i in {leap_client,leap_pycommon,soledad,keymanager,leap_mail} do cd $REPOS_ROOT/$i git checkout develop done