#!/bin/sh me=`basename "$0"` for pid in $(pidof -x $me); do if [ $pid != $$ ]; then echo "[$(date)] : Process $me is already running with PID $pid" exit 1 fi done # We use sourceforge to stash our beta/release archives # To be able to upload, you need to install sshpass (sudo apt-get install sshpass) # and after installation (first time) ssh to sourceforge so the key is accepted # ssh USERNAME@web.sourceforge.net SVN_UPLOAD_USER="USERNAME" SVN_UPLOAD_PASSWORD="PASSWORD" lowercase(){ echo "$1" | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/" } OS=`lowercase \`uname -s\`` # KERNEL=`uname -r` MACH=`uname -m` archive_file="domoticz_${OS}_${MACH}.tgz" version_file="version_${OS}_${MACH}.h" history_file="history_${OS}_${MACH}.txt" # Make sure we are on latest commit echo "Updating to server revision..." git fetch --all TOTCOUNT="$(git rev-list HEAD...origin/development --count)" if [ "$TOTCOUNT" -lt 1 ]; then echo "No Changes..." exit; fi git reset --hard origin/development cmake -DCMAKE_BUILD_TYPE=Release . if [ $? -ne 0 ] then echo "CMake failed!"; exit 1 fi make -j 2 if [ $? -ne 0 ] then echo "Compilation failed!..."; exit 1 fi echo "Success, making beta..."; cp -f appversion.h ${version_file} cp -f History.txt ${history_file} # Generate the archive echo "Generating Archive: ${archive_file}..." if [ -f ${archive_file} ]; then rm ${archive_file} fi if [ -f ${archive_file}.sha256sum ]; then rm ${archive_file}.sha256sum fi tar -zcf ${archive_file} domoticz History.txt License.txt domoticz.sh server_cert.pem updatebeta updaterelease www/ scripts/ Config/ plugins/ dzVents/ if [ $? -ne 0 ] then echo "Error creating archive!..."; exit 1 fi echo "Creating checksum file..."; hash="$(sha256sum ${archive_file} | sed -e 's/\s.*$//') update.tgz"; echo $hash > ${archive_file}.sha256sum if [ ! -f ${archive_file}.sha256sum ]; then echo "Error creating archive checksum file!..."; exit 1 fi ################################# echo "Uploading to SourceForge..."; sshpass -p ${SVN_UPLOAD_PASSWORD} scp ${archive_file} ${archive_file}.sha256sum ${version_file} ${history_file} ${SVN_UPLOAD_USER}@web.sourceforge.net:/home/project-web/domoticz/htdocs/beta if [ $? -ne 0 ] then echo "Error uploading to SourceForge!..."; exit 1 fi ################################# # Cleaning up rm -f ${version_file} rm -f ${history_file} echo "Done!..."; exit 0;