2013-05-12 21:19:04 +04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2013-05-12 21:22:11 +04:00
|
|
|
# build&upload script for linux & windows snapshot binaries
|
2013-05-12 21:19:04 +04:00
|
|
|
# tested under linux
|
|
|
|
|
|
|
|
# requirements -
|
|
|
|
# see http://mxe.cc for required tools (scons, perl, yasm, etc etc etc)
|
|
|
|
|
2013-05-12 21:22:11 +04:00
|
|
|
# todo - auto update webpage to link to proper snapshot
|
|
|
|
#
|
2013-05-12 21:19:04 +04:00
|
|
|
# todo - 64 bit windows (needs mxe 64 bit stable)
|
|
|
|
#
|
|
|
|
# todo - can we build 32 bit linux from within 64 bit linux?
|
|
|
|
#
|
|
|
|
# todo - make linux work
|
2013-05-15 08:45:40 +04:00
|
|
|
#
|
|
|
|
# todo - detect failure and stop
|
2013-05-12 21:19:04 +04:00
|
|
|
|
|
|
|
check_starting_path()
|
|
|
|
{
|
2013-05-15 08:45:40 +04:00
|
|
|
STARTPATH=$PWD
|
2013-05-12 21:19:04 +04:00
|
|
|
if [ -e openscad.pro ]; then
|
|
|
|
echo 'please start from a clean directory outside of openscad'
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
get_source_code()
|
|
|
|
{
|
|
|
|
git clone http://github.com/openscad/openscad.git
|
|
|
|
cd openscad
|
|
|
|
git submodule update --init # MCAD
|
|
|
|
}
|
|
|
|
|
|
|
|
build_win32()
|
|
|
|
{
|
|
|
|
. ./scripts/setenv-mingw-xbuild.sh
|
|
|
|
./scripts/mingw-x-build-dependencies.sh
|
|
|
|
./scripts/release-common.sh mingw32
|
|
|
|
}
|
|
|
|
|
|
|
|
build_lin32()
|
|
|
|
{
|
|
|
|
. ./scripts/setenv-unibuild.sh clang
|
|
|
|
./scripts/uni-build-dependencies.sh
|
|
|
|
./scripts/release-common.sh
|
|
|
|
}
|
|
|
|
|
|
|
|
upload_win_generic()
|
|
|
|
{
|
2013-05-15 08:45:40 +04:00
|
|
|
# 1=file summary, 2 = username, 3 = filename
|
2013-05-12 21:19:04 +04:00
|
|
|
if [ -e $3 ]; then
|
|
|
|
echo $3 found
|
|
|
|
else
|
|
|
|
echo $3 not found
|
|
|
|
fi
|
|
|
|
opts=
|
|
|
|
opts="$opts -p openscad"
|
|
|
|
opts="$opts -u $2"
|
|
|
|
opts="$opts $3"
|
|
|
|
python ./scripts/googlecode_upload.py -s "$1" $opts
|
|
|
|
}
|
|
|
|
|
|
|
|
upload_win32()
|
|
|
|
{
|
|
|
|
SUMMARY1="Windows x86-32 Snapshot Zipfile"
|
|
|
|
SUMMARY2="Windows x86-32 Snapshot Installer"
|
|
|
|
DATECODE=`date +"%Y.%m.%d"`
|
2013-05-15 08:45:40 +04:00
|
|
|
BASEDIR=./mingw32/
|
|
|
|
WIN32_PACKAGEFILE1=OpenSCAD-$DATECODE-x86-32.zip
|
|
|
|
WIN32_PACKAGEFILE2=OpenSCAD-$DATECODE-x86-32-Installer.exe
|
|
|
|
upload_win_generic "$SUMMARY1" $USERNAME $BASEDIR/$WIN32_PACKAGEFILE1
|
|
|
|
upload_win_generic "$SUMMARY2" $USERNAME $BASEDIR/$WIN32_PACKAGEFILE2
|
|
|
|
export WIN32_PACKAGEFILE1
|
|
|
|
export WIN32_PACKAGEFILE2
|
|
|
|
WIN32_PACKAGEFILE1_SIZE=`ls -sh $BASEDIR/$WIN32_PACKAGEFILE1 | awk ' {print $1} ';`
|
|
|
|
WIN32_PACKAGEFILE2_SIZE=`ls -sh $BASEDIR/$WIN32_PACKAGEFILE2 | awk ' {print $1} ';`
|
|
|
|
export WIN32_PACKAGEFILE1_SIZE
|
|
|
|
export WIN32_PACKAGEFILE2_SIZE
|
2013-05-12 21:19:04 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
read_username_from_user()
|
|
|
|
{
|
|
|
|
echo 'Please enter your username for https://code.google.com/hosting/settings'
|
|
|
|
echo -n 'Username:'
|
2013-05-13 15:57:19 +04:00
|
|
|
read USERNAME
|
2013-05-12 21:19:04 +04:00
|
|
|
echo 'username is ' $USERNAME
|
|
|
|
}
|
|
|
|
|
|
|
|
read_password_from_user()
|
|
|
|
{
|
|
|
|
echo 'Please enter your password for https://code.google.com/hosting/settings'
|
|
|
|
echo -n 'Password:'
|
|
|
|
read -s PASSWORD1
|
|
|
|
echo
|
|
|
|
echo -n 'Verify :'
|
|
|
|
read -s PASSWORD2
|
|
|
|
echo
|
|
|
|
if [ ! $PASSWORD1 = $PASSWORD2 ]; then
|
|
|
|
echo 'error - passwords dont match'
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
OSUPL_PASSWORD=$PASSWORD1
|
|
|
|
export OSUPL_PASSWORD
|
|
|
|
}
|
|
|
|
|
2013-05-15 08:45:40 +04:00
|
|
|
update_www_download_links()
|
|
|
|
{
|
|
|
|
cd $STARTPATH
|
|
|
|
git clone http://github.com/openscad/openscad.github.com.git
|
|
|
|
cd openscad.github.com
|
|
|
|
cd inc
|
|
|
|
echo `pwd`
|
|
|
|
BASEURL='https://openscad.google.com/files/'
|
|
|
|
DATECODE=`date +"%Y.%m.%d"`
|
|
|
|
|
|
|
|
rm win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT1_URL'] = '$BASEURL$WIN32_PACKAGEFILE1'" >> win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT2_URL'] = '$BASEURL$WIN32_PACKAGEFILE2'" >> win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT1_NAME'] = 'OpenSCAD $DATECODE'" >> win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT2_NAME'] = 'OpenSCAD $DATECODE'" >> win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT1_SIZE'] = '$WIN32_PACKAGEFILE1_SIZE'" >> win_snapshot_links.js
|
|
|
|
echo "snapinfo['WIN32_SNAPSHOT2_SIZE'] = '$WIN32_PACKAGEFILE2_SIZE'" >> win_snapshot_links.js
|
|
|
|
echo 'modified win_snapshot_links.js'
|
|
|
|
cat win_snapshot_links.js
|
|
|
|
|
|
|
|
git diff
|
2013-05-16 02:00:40 +04:00
|
|
|
echo git commit -a -m 'builder.sh - updated snapshot links'
|
2013-05-15 08:45:40 +04:00
|
|
|
echo git push origin
|
|
|
|
}
|
|
|
|
|
|
|
|
check_ssh_agent()
|
|
|
|
{
|
|
|
|
if [ ! $SSH_AUTH_SOCK ]; then
|
|
|
|
echo 'please start an ssh-agent for github.com/openscad/openscad.github.com uploads'
|
2013-05-16 02:00:40 +04:00
|
|
|
echo 'for example:'
|
2013-05-15 08:45:40 +04:00
|
|
|
echo
|
|
|
|
echo ' ssh-agent > .tmp && source .tmp && ssh-add'
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
check_ssh_agent
|
2013-05-12 21:19:04 +04:00
|
|
|
check_starting_path
|
|
|
|
read_username_from_user
|
|
|
|
read_password_from_user
|
|
|
|
get_source_code
|
|
|
|
build_win32
|
|
|
|
upload_win32
|
2013-05-15 08:45:40 +04:00
|
|
|
update_www_download_links
|
2013-05-12 21:19:04 +04:00
|
|
|
|
|
|
|
|
|
|
|
|