mirror of https://github.com/FreeRDP/FreeRDP
79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
function run {
|
|
"$@"
|
|
RES=$?
|
|
if [[ $RES -ne 0 ]];
|
|
then
|
|
echo "[ERROR] $@ returned $RES" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
if [ -z ${TAG:-} ];then
|
|
echo "No TAG set - trying to detect"
|
|
TAG=$(git describe --tags)
|
|
echo "Is the TAG ${TAG} ok (YES|NO)?"
|
|
read answ
|
|
case "$answ" in
|
|
YES):
|
|
;;
|
|
*)
|
|
echo 'stopping here'
|
|
exit 1
|
|
esac
|
|
fi
|
|
|
|
function create_hash {
|
|
NAME=$1
|
|
run md5sum ${NAME} > ${NAME}.md5
|
|
run sha1sum ${NAME} > ${NAME}.sha1
|
|
run sha256sum ${NAME} > ${NAME}.sha256
|
|
run sha512sum ${NAME} > ${NAME}.sha512
|
|
}
|
|
|
|
function create_tar {
|
|
ARGS=$1
|
|
EXT=$2
|
|
TAG=$3
|
|
|
|
NAME=freerdp-${TAG}${EXT}
|
|
run tar $ARGS ${NAME} freerdp-${TAG}
|
|
create_hash ${NAME}
|
|
}
|
|
|
|
TMPDIR=$(mktemp -d -t release-${TAG}-XXXXXXXXXX)
|
|
|
|
run git archive --prefix=freerdp-${TAG}/ --format=tar.gz -o ${TMPDIR}/freerdp-${TAG}.tar.gz ${TAG}
|
|
run tar xzvf ${TMPDIR}/freerdp-${TAG}.tar.gz -C ${TMPDIR}
|
|
run echo ${TAG} > ${TMPDIR}/freerdp-${TAG}/.source_version
|
|
|
|
pushd .
|
|
cd $TMPDIR
|
|
create_tar czf .tar.gz ${TAG}
|
|
create_tar cvjSf .tar.bz2 ${TAG}
|
|
create_tar cfJ .tar.xz ${TAG}
|
|
|
|
ZIPNAME=freerdp-${TAG}.zip
|
|
run zip -r ${ZIPNAME} freerdp-${TAG}
|
|
create_hash ${ZIPNAME}
|
|
popd
|
|
|
|
# Sign the release tarballs
|
|
for EXT in tar.gz tar.bz2 tar.xz zip;
|
|
do
|
|
run gpg --local-user 0xA49454A3FC909FD5 --sign --armor --output ${TMPDIR}/freerdp-${TAG}.${EXT}.asc --detach-sig ${TMPDIR}/freerdp-${TAG}.${EXT}
|
|
done
|
|
|
|
run mv ${TMPDIR}/freerdp-${TAG}.tar* .
|
|
run mv ${TMPDIR}/freerdp-${TAG}.zip* .
|
|
run rm -rf ${TMPDIR}
|
|
|
|
# Verify the release tarball signatures
|
|
for EXT in tar.gz tar.bz2 tar.xz zip;
|
|
do
|
|
run gpg --verify freerdp-${TAG}.${EXT}.asc
|
|
done
|
|
|
|
exit 0
|