diff options
author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-08-29 09:54:18 -0300 |
---|---|---|
committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-08-29 09:54:18 -0300 |
commit | a877a30cd8e2346171b79d08d5a1edecac99de94 (patch) | |
tree | 5918ba1fedcf17b0492adce32029e793cba398fb /pkg | |
parent | 09a0eb25b4356419fc007149f27c8c205a5ba7ee (diff) | |
parent | c7ce3204b2e1335c159e991260a8670f62a56b9d (diff) |
Merge remote-tracking branch 'chiiph/feature/bundle_build_script' into develop
Diffstat (limited to 'pkg')
-rwxr-xr-x | pkg/linux/build_bundle.sh | 106 | ||||
-rwxr-xr-x | pkg/osx/build_bundle.sh | 123 | ||||
-rw-r--r-- | pkg/osx/build_bundle_from_linux.sh | 84 |
3 files changed, 313 insertions, 0 deletions
diff --git a/pkg/linux/build_bundle.sh b/pkg/linux/build_bundle.sh new file mode 100755 index 00000000..781884cb --- /dev/null +++ b/pkg/linux/build_bundle.sh @@ -0,0 +1,106 @@ +REPOS_ROOT=$1 +VERSION=$2 +TEMPLATE_BUNDLE=$3 +JOINT_CHANGELOG=$4 +DEST=$5 + +# clean template + +rm $TEMPLATE_BUNDLE/CHANGELOG +rm $TEMPLATE_BUNDLE/relnotes.txt +rm -rf $TEMPLATE_BUNDLE/apps/leap +rm $TEMPLATE_BUNDLE/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/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/apps/leap/bitmask/_version.py +cp leap.bitmask-$VERSION/src/leap/bitmask/util/reqs.txt $TEMPLATE_BUNDLE/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/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 + +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/apps/ + +# 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 + +# cp LICENSE to TEMPLATE_BUNDLE + +cp $REPOS_ROOT/leap_client/LICENSE $TEMPLATE_BUNDLE/LICENSE + +# clean pyc$ + +cd $TEMPLATE_BUNDLE +for i in $(find . | grep pyc$); + do + rm $i + done + +# create tarball + +ARCH=$(uname -m | sed 's/x86_//;s/i[3-6]86/32/') +BUNDLE_NAME=Bitmask-linux$ARCH-$VERSION +TMP=/tmp/$BUNDLE_NAME + +rm -rf $TMP +mkdir -p $TMP +cp -R $TEMPLATE_BUNDLE/* $TMP +cd /tmp +tar cjf $DEST/$BUNDLE_NAME.tar.bz2 $BUNDLE_NAME +cd +rm -rf $TMP + +# 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 diff --git a/pkg/osx/build_bundle.sh b/pkg/osx/build_bundle.sh new file mode 100755 index 00000000..a13746bf --- /dev/null +++ b/pkg/osx/build_bundle.sh @@ -0,0 +1,123 @@ +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 diff --git a/pkg/osx/build_bundle_from_linux.sh b/pkg/osx/build_bundle_from_linux.sh new file mode 100644 index 00000000..c98e1b7a --- /dev/null +++ b/pkg/osx/build_bundle_from_linux.sh @@ -0,0 +1,84 @@ +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 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 + +genisoimage -D -V "Bitmask" -no-pad -r -apple -o raw-Bitmask-OSX-$VERSION.dmg $TEMPLATE_BUNDLE +dmg dmg raw-Bitmask-OSX-$VERSION.dmg Bitmask-OSX-$VERSION.dmg + +# 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 |