Merge branch '1.5' into 1.6 Conflicts: assemble/build.sh
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/c6d1ce59 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/c6d1ce59 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/c6d1ce59 Branch: refs/heads/master Commit: c6d1ce5982fe1214bee1b2a7f9c2e8d2e9f28cfe Parents: 7c070bf 8782a01 Author: Christopher Tubbs <ctubb...@apache.org> Authored: Wed Jun 10 20:51:37 2015 -0400 Committer: Christopher Tubbs <ctubb...@apache.org> Committed: Wed Jun 10 20:51:37 2015 -0400 ---------------------------------------------------------------------- assemble/build.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/c6d1ce59/assemble/build.sh ---------------------------------------------------------------------- diff --cc assemble/build.sh index 5f65419,f2c9474..320390f --- a/assemble/build.sh +++ b/assemble/build.sh @@@ -45,21 -45,120 +45,104 @@@ cacheGPG() touch "${TESTFILE}" && gpg --sign "${TESTFILE}" && rm -f "${TESTFILE}" "${TESTFILE}.gpg" } -setupRPM() { - # if you want the RPM signed, copy contrib/dotfile-rpmmacros to $HOME/.rpmmacros - diff -q "contrib/dotfile-rpmmacros" "$HOME/.rpmmacros" - R=$? - if [[ $R = 0 ]]; then - true - elif [[ $R = 1 ]]; then - run mv -n "$HOME/.rpmmacros" "$HOME/.rpmmacros-bak-$(date -u +%s)" - run cp "contrib/dotfile-rpmmacros" "$HOME/.rpmmacros" - elif [[ ! -r "$HOME/.rpmmacros" ]]; then - run cp "contrib/dotfile-rpmmacros" "$HOME/.rpmmacros" - else - fail diff returned $R - fi -} - + createEmail() { + read -p 'Enter the staging repository number: ' stagingrepo + read -p 'Enter the version to be released (eg. x.y.z): ' tag + read -p 'Enter the release candidate number (eg. 1, 2, etc.): ' rc + + commit=$(git show $tag -n1 --pretty=raw --no-color | head -1 | awk '{print $2}') + branch=$tag-rc$rc + echo + echo "IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!!" + echo + echo " Don't forget to push a branch named $branch with" + echo " its head at ${commit:0:7} so people can review!" + echo + echo " However, do *NOT* push the $tag tag until after the vote" + echo " passes and the tag is re-made with a gpg signature using" + echo " \`git tag -f -m 'Apache Accumulo $tag' -s $tag ${commit:0:7}\`" + echo + echo "IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!! IMPORTANT!!" + echo + read -p 'Press Enter to generate the [VOTE] email...' rc + + # compute the date with a buffer of 30 minutes + votedate=$(date -d "+3 days 30 minutes" "+%s") + # round back to the previous half-hour + halfhour=$(($votedate - ($votedate % 1800))) + votedate=$(date -u -d"1970-01-01 $halfhour seconds UTC") + export TZ="America/New_York" + edtvotedate=$(date -d"1970-01-01 $halfhour seconds UTC") + export TZ="America/Los_Angeles" + pdtvotedate=$(date -d"1970-01-01 $halfhour seconds UTC") + + cat <<EOF + ============================================================ + Subject: [VOTE] Accumulo $branch + ============================================================ + + Accumulo Developers, + + Please consider the following candidate for Accumulo $tag. + + Git Commit: + $commit + Branch: + $branch + + If this vote passes, a gpg-signed tag will be created using: + git tag -f -m 'Apache Accumulo $tag' -s $tag $commit + + Staging repo: https://repository.apache.org/content/repositories/orgapacheaccumulo-$stagingrepo + Source (official release artifact): https://repository.apache.org/content/repositories/orgapacheaccumulo-$stagingrepo/org/apache/accumulo/accumulo/$tag/accumulo-$tag-src.tar.gz + Binary: https://repository.apache.org/content/repositories/orgapacheaccumulo-$stagingrepo/org/apache/accumulo/accumulo/$tag/accumulo-$tag-bin.tar.gz + (Append ".sha1", ".md5", or ".asc" to download the signature/hash for a given artifact.) + + All artifacts were built and staged with: + mvn release:prepare && mvn release:perform + + Signing keys are available at https://www.apache.org/dist/accumulo/KEYS + (Expected fingerprint: $(gpg --list-secret-keys --with-colons --with-fingerprint | awk -F: '$1 == "fpr" {print $10}')) + + Release notes (in progress) can be found at https://accumulo.apache.org/release_notes/$tag + + Please vote one of: + [ ] +1 - I have verified and accept... + [ ] +0 - I have reservations, but not strong enough to vote against... + [ ] -1 - Because..., I do not accept... + ... these artifacts as the $tag release of Apache Accumulo. + + This vote will end on $votedate + ($edtvotedate / $pdtvotedate) + + Thanks! + + P.S. Hint: downlaod the whole staging repo with + wget -erobots=off -r -l inf -np -nH \\ + https://repository.apache.org/content/repositories/orgapacheaccumulo-$stagingrepo/ + # note the trailing slash is needed + + ============================================================ + EOF + } + if [[ $1 = '--create-release-candidate' ]]; then - cacheGPG; setupRPM + cacheGPG # create a release candidate from a branch run mvn clean release:clean release:prepare release:perform elif [[ $1 = '--seal-jars' ]]; then - cacheGPG; setupRPM + cacheGPG # build a tag, but with sealed jars - run mvn clean compile javadoc:aggregate install \ - -P apache-release,seal-jars,check-licenses,thrift,native,assemble,docs,rpm,deb + run mvn clean install \ + -P apache-release,seal-jars,thrift,assemble,docs elif [[ $1 = '--test' ]]; then - cacheGPG; setupRPM + cacheGPG # build a tag, but with tests - run mvn clean compile javadoc:aggregate install \ - -P apache-release,check-licenses,thrift,native,assemble,docs,rpm,deb + run mvn clean install \ + -P apache-release,thrift,assemble,docs + elif [[ $1 = '--create-email' ]]; then + createEmail else - fail "Missing one of: --create-release-candidate, --test, --seal-jars" + fail "Missing one of: --create-release-candidate, --test, --seal-jars, --create-email" fi