RetroShare/build_scripts/RedHat+Fedora/makePackages.sh
2017-07-17 10:45:18 +02:00

86 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
###################### PARAMETERS ####################
VERSION="0.6.0"
######################################################
dirs -c
echo "This script is going to build the RedHat family source package for RetroShare, from a clone of the GitHub repository."
# Parse options
while [[ ${#} > 0 ]]
do
case ${1} in
"-h") shift
echo "Package building script for RedHat family distributions"
echo "Usage:"
echo " ${0}"
exit 1
;;
"*") echo "Unknown option"
exit 1
;;
esac
done
GITROOT=$(git rev-parse --show-toplevel)
DATE=$(git log --pretty=format:"%ai" | head -1 | cut -d\ -f1 | sed -e s/-//g)
HASH=$(git log --pretty=format:"%H" | head -1 | cut -c1-8)
REV=${DATE}.${HASH}
FULL_VERSION=${VERSION}.${REV}
echo "Using version number: ${VERSION}"
echo "Using revision: ${REV}"
echo "Hit ENTER if this is correct. Otherwise hit Ctrl+C"
read tmp
WORKDIR="retroshare-${FULL_VERSION}"
if [[ -d ${WORKDIR} ]]
then
echo "Removing the directory ${WORKDIR}..."
rm -rf ${WORKDIR}
fi
mkdir -p ${WORKDIR}/src
echo "Copying sources into workdir..."
rsync -rc --exclude build_scripts ${GITROOT}/* ${WORKDIR}/src
rsync -rc --copy-links data ${WORKDIR}/src
pushd ${WORKDIR} >/dev/null
# Cloning sqlcipher
echo "Cloning sqlcipher repository..."
mkdir lib
pushd lib >/dev/null
git clone https://github.com/sqlcipher/sqlcipher.git
pushd sqlcipher >/dev/null
git checkout v3.3.1
rm -rf .git
popd >/dev/null
popd >/dev/null
# VOIP tweak
cp src/retroshare-gui/src/gui/chat/PopupChatDialog.ui src/plugins/VOIP/gui/PopupChatDialog.ui
# cleaning up protobof generated files
rm -f src/retroshare-nogui/src/rpc/proto/gencc/*.pb.h
rm -f src/retroshare-nogui/src/rpc/proto/gencc/*.pb.cc
# setup version numbers
echo "Setting version numbers..."
sed -e "s%RS_REVISION_NUMBER.*%RS_REVISION_NUMBER 0x${HASH}%" src/libretroshare/src/retroshare/rsversion.in >src/libretroshare/src/retroshare/rsversion.h
popd >/dev/null
echo "Creating RPMs..."
[[ -d rpm-build/rpm ]] || mkdir -p rpm-build/rpm
pushd rpm-build/rpm >/dev/null
for DIR in BUILD RPMS SOURCES SPECS SRPMS
do
[[ -d ${DIR} ]] || mkdir ${DIR}
done
popd >/dev/null
tar -zcf rpm-build/rpm/SOURCES/${WORKDIR}.tar.gz ${WORKDIR}
rpmbuild --define="%rev ${REV}" --define="%_usrsrc $PWD/rpm-build" --define="%_topdir %{_usrsrc}/rpm" -ba retroshare.spec
rm -rf ${WORKDIR}
exit 0