mirror of
https://github.com/pbek/QOwnNotes.git
synced 2025-06-28 21:09:52 +00:00
105 lines
2.8 KiB
Bash
Executable file
105 lines
2.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# This is the deploy script of the source archives for SourceForge
|
|
#
|
|
# We need to setup a ssh key to copy files to SourceForge
|
|
# https://sourceforge.net/auth/shell_services
|
|
#
|
|
# Files will be uploaded to:
|
|
# https://sourceforge.net/projects/qownnotes/files/src/
|
|
#
|
|
# Files will be accessible like that:
|
|
# http://downloads.sourceforge.net/project/qownnotes/src/qownnotes-16.05.2.tar.xz
|
|
#
|
|
|
|
# uncomment this if you want to force a version
|
|
#QOWNNOTES_VERSION=1.1.3.2
|
|
|
|
BRANCH=main
|
|
#BRANCH=master
|
|
|
|
PROJECT_PATH="/tmp/QOwnNotes-sourceforge-$$"
|
|
|
|
echo "Started the SourceForge packaging process, using latest '$BRANCH' git tree"
|
|
|
|
if [ -d $PROJECT_PATH ]; then
|
|
rm -rf $PROJECT_PATH
|
|
fi
|
|
|
|
mkdir $PROJECT_PATH
|
|
cd $PROJECT_PATH || exit 1
|
|
|
|
echo "Project path: $PROJECT_PATH"
|
|
|
|
# checkout the source code
|
|
git clone --depth=1 git@github.com:pbek/QOwnNotes.git QOwnNotes -b $BRANCH
|
|
cd QOwnNotes || exit 1
|
|
|
|
# checkout submodules
|
|
git submodule update --init
|
|
|
|
# build binary translation files
|
|
lrelease src/QOwnNotes.pro
|
|
|
|
# remove huge .git folder
|
|
rm -Rf .git
|
|
|
|
if [ -z $QOWNNOTES_VERSION ]; then
|
|
# get version from version.h
|
|
QOWNNOTES_VERSION=$(cat src/version.h | sed "s/[^0-9,.]//g")
|
|
else
|
|
# set new version if we want to override it
|
|
echo "#define VERSION \"$QOWNNOTES_VERSION\"" >src/version.h
|
|
fi
|
|
|
|
# set the release string
|
|
echo '#define RELEASE "SourceForge"' >src/release.h
|
|
|
|
echo "Using version $QOWNNOTES_VERSION..."
|
|
|
|
qownnotesSrcDir="qownnotes-${QOWNNOTES_VERSION}"
|
|
|
|
# copy some needed files file
|
|
cp LICENSE src
|
|
cp README.md src
|
|
cp CHANGELOG.md src
|
|
cp webpage/src/getting-started/shortcuts.md src
|
|
|
|
# rename the src directory
|
|
mv src $qownnotesSrcDir
|
|
|
|
archiveFile="$qownnotesSrcDir.tar.xz"
|
|
|
|
# archive the source code
|
|
echo "Creating archive $archiveFile..."
|
|
tar -cJf $archiveFile $qownnotesSrcDir
|
|
|
|
md5sum $archiveFile >$archiveFile.md5
|
|
sha256sum $archiveFile | awk '{ print $1 }' >$archiveFile.sha256
|
|
sha512sum $archiveFile | awk '{ print $1 }' >$archiveFile.sha512
|
|
|
|
remotePath="patbek@frs.sourceforge.net:/home/frs/project/qownnotes/src"
|
|
sourceForgeReadme="sourceforge-readme.md"
|
|
|
|
# generate the readme for sourceforge with a screenshot from GitHub
|
|
cat README.md | sed 's/screenshots\/screenshot.png/https:\/\/raw.githubusercontent.com\/pbek\/QOwnNotes\/main\/screenshots\/screenshot.png/g' >>${sourceForgeReadme}
|
|
echo >>${sourceForgeReadme}
|
|
echo >>${sourceForgeReadme}
|
|
cat CHANGELOG.md >>${sourceForgeReadme}
|
|
|
|
echo "Uploading files to SourceForge..."
|
|
|
|
# upload the changelog file as README.md
|
|
# it will be viewed on the sourceforge webpage
|
|
rsync -ahv --progress ${sourceForgeReadme} ${remotePath}/README.md
|
|
|
|
## upload the screenshots
|
|
#rsync -ahv --progress screenshots/* ${remotePath}/screenshots
|
|
|
|
# upload archive and checksum files
|
|
rsync -ahv --progress ${archiveFile}* ${remotePath}
|
|
|
|
# remove everything after we are done
|
|
if [ -d $PROJECT_PATH ]; then
|
|
rm -rf $PROJECT_PATH
|
|
fi
|