https://github.com/domoticz/domoticz
Raw File
Tip revision: 3503953ddecfa68bfcd0e28149f8526cd88f95b8 authored by gizmocuz on 24 January 2024, 07:40:07 UTC
Merge pull request #6000 from domoticz/stable-2024.3
Tip revision: 3503953
makebeta
#!/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;
back to top