obosdi-pkg/makerelease
2022-10-16 02:30:34 +02:00

104 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
prjname=archdi
version=$(date +"%Y.%m.%d.%H.%M.%S")
branch=$(git rev-parse --abbrev-ref HEAD)
ssh -T git@github.com
if [ ! "$?" = "1" ]; then
echo "No Github ssh key loaded exiting..."
exit 1
fi
#scp "matmoul@web.sourceforge.net:/home/frs/project/$prjname/README.txt" /dev/null
scp "matmoul@web.sourceforge.net:/home/frs/project/archdi/release/bin/2018.06.05.01.34.45/README.txt" /dev/null
if [ ! "$?" = "0" ]; then
echo "No Sourceforge ssh key loaded exiting..."
exit 1
fi
clear
read -p "Current branch is $branch. Continue ? (y/N)" choice
case "$choice" in
n|N|'' )
echo "cancel build !"
exit 1
;;
y|Y ) echo "Begin Build Release...";;
* )
echo "cancel build !"
exit 1
;;
esac
echo "Building version $version..."
echo ""
echo "Finalise lib script..."
sed -i /apptitle=/c\apptitle=\""Arch Linux Desktop Install (archdi) - Version: $version (GPLv3)"\" lib
sed -i /baseurl=/c\baseurl=https://raw.githubusercontent.com/MatMoul/archdi-pkg/master lib
rm pkg.tar
tar -cf pkg.tar *
echo "Make last commit..."
git commit -a -m "New Release : $version"
if [ ! "$branch" = "master" ]; then
echo "Merge branch $branch to master..."
git checkout master
git pull
git merge $branch
read -p "Delete branch $branch ? (y/N)" choice
case "$choice" in
y|Y )
git branch -D $branch
;;
esac
fi
read -p "Publish to server ? (Y/n)" choice
case "$choice" in
n|N )
exit 1
;;
esac
echo "Push release..."
git push
#Sourceforge :
targetpath=.build/$version
mkdir -p $targetpath
cp -R * $targetpath
echo "Finalise lib script..."
sed -i "/baseurl=/c\baseurl=http://downloads.sourceforge.net/project/archdi/release/pkg/$version" $targetpath/lib
cd $targetpath
rm pkg.tar
tar -cf pkg.tar *
find . ! -name 'pkg.tar' -exec rm -rf "$1" {} \;
cd ../..
echo "Publish release..."
rsync -r $targetpath matmoul@web.sourceforge.net:/home/frs/project/$prjname/release/pkg/
echo "Update pkg redirect page..."
pubfile=.build/index.php
echo "<?php" > $pubfile
echo "header(\"Location: http://downloads.sourceforge.net/project/$prjname/release/pkg/$version/pkg.tar\");" >> $pubfile
echo "exit;" >> $pubfile
echo "?>" >> $pubfile
scp $pubfile matmoul@web.sourceforge.net:/home/project-web/$prjname/htdocs/$prjname-pkg/index.php
rm -R .build
if [ ! "$branch" = "master" ]; then
git checkout $branch
git merge master
git push
fi