diff options
Diffstat (limited to 'scripts/build_release.sh')
-rwxr-xr-x | scripts/build_release.sh | 58 |
1 files changed, 45 insertions, 13 deletions
diff --git a/scripts/build_release.sh b/scripts/build_release.sh index 8989eac6..b6480831 100755 --- a/scripts/build_release.sh +++ b/scripts/build_release.sh @@ -1,38 +1,70 @@ #!/bin/sh +# +# Usage: build_release.sh <version> [<release-candidate-tag>] +# + # config +version=$1 +rc=$2 cur_pwd=`pwd` -today=`date +%F-%T` +today=`date +%F-%H-%M-%S` git_uri=git@github.com:lsh123/xmlsec.git rpm_root=/usr/src/redhat -build_root="$rpm_root/BUILD/xmlsec-build-area-$today" +build_root="/tmp/xmlsec-build-area-$today" +tar_file="xmlsec1-$version.tar.gz" +sig_file="xmlsec1-$version.sig" +rc_tar_file="xmlsec1-$version-$rc.tar.gz" +rc_sig_file="xmlsec1-$version-$rc.sig" +git_release_branch="xmlsec-$version-release" +git_version_tag=`echo $version | sed 's/\./_/g'` + +if [ x"$version" = x ]; then + echo "Usage: $0 <version> [<release-candidate-tag>]" + exit 1 +fi -echo "Creating build area $build_root" +echo "============== Creating build area $build_root for building xmlsec1-$version" rm -rf "$build_root" mkdir -p "$build_root" cd "$build_root" -echo "Checking out the module '$git_url'" +echo "============== Checking out the module '$git_url'" git clone $git_uri cd xmlsec +if [ x"$rc" != x ]; then + echo "============== Switching to release branch '$git_release_branch' for RC build '$rc'" + git checkout $git_release_branch +fi find . -name ".git" | xargs rm -r +echo "============== Building xmlsec1-$version" ./autogen.sh --prefix=/usr --sysconfdir=/etc make tar-release # can't build rpm on ubuntu # make rpm-release -tar_file=`ls xmlsec*.tar.gz` -echo "Moving sources tar file to $rpm_root/SOURCES/$tar_file" -mv $tar_file $rpm_root/SOURCES - -echo "Cleanup" +echo "============== Moving tar file" +if [ x"$rc" = x ]; then + mv "$tar_file" "$cur_pwd/" +else + mv "$tar_file" "$cur_pwd/$rc_tar_file" +fi cd "$cur_pwd" -#rm -rf "$build_root" -echo "DO NOT FORGET TO TAG THE RELEASE" -echo "git tag -a xmlsec-1_2_N -m 'XMLSec release 1.2.N'" -echo "git push origin xmlsec-1_2_N" +echo "============== Signing tar file" +if [ x"$rc" = x ]; then + gpg --output "$sig_file" --detach-sig "$tar_file" +else + gpg --output "$rc_sig_file" --detach-sig "$rc_tar_file" +fi +if [ x"$rc" = x ]; then + echo "============== Tagging the release $version in the github" + echo "RUN MANUALLY: git tag -a "xmlsec-$git_version_tag" -m 'XMLSec release $version'" + echo "RUN MANUALLY: git push --follow-tags" +fi +echo "============== Cleanup" +#rm -rf "$build_root" |