To build a binary release of OpenMeetings you need:
Check that all files:
LICENSE, NOTICE, DISCLAIMER, CHANGELOG, README
are up to date and refer to the right version.
Create a TAG of the SVN tree that you would like to release
Example:
svn copy -r1453158 https://svn.apache.org/repos/asf/openmeetings/application/trunk \ https://svn.apache.org/repos/asf/openmeetings/application/tags/3.1.0RC1 \ -m "3.1.0 Release candidate 1"
Get the source from your TAG:
svn checkout https://svn.apache.org/repos/asf/openmeetings/application/tags/$BRANCHORTAG/
$BRANCHORTAG should be replaced with your new TAG
Update versions of all modules
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=3.1.0
Run the command:
mvn clean install -Prelease
Test building the source on windows and OSx or Linux
Test running the binary's
Commit artifacts you have created with KEYS file to the https://dist.apache.org/repos/dist/dev/openmeetings/ Proposed file structure for "Release Candidate 1" of 3.1.0 will be:
3.1.0 3.1.0/rc1 3.1.0/rc1/src 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip.sha 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.zip.asc 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz.sha 3.1.0/rc1/src/apache-openmeetings-3.1.0-src.tar.gz.asc 3.1.0/rc1/bin 3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip 3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz 3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip.sha 3.1.0/rc1/bin/apache-openmeetings-3.1.0.zip.asc 3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz.sha 3.1.0/rc1/bin/apache-openmeetings-3.1.0.tar.gz.asc 3.1.0/rc1/CHANGELOG 3.1.0/rc1/KEYS
Send a "VOTE" to the developer mailing list including links to release artifacts.
A VOTE always contains two parts:
Send an email to the developer mailing list with the subject line:
[VOTE] Apache OpenMeetings x.xx release
An example for such an email:
example Vote email
example Vote email (Incubator)
Forward (Not CC) this Vote email to: private@openmeetings.apache.org
After the vote is over, send a "RESULT" email to the list with the subject line:
[RESULT][VOTE] Apache OpenMeetings x.xx release
An example for such an email:
example Result email
Forward (Not CC) this RESULT VOTE email to: private@openmeetings.apache.org
Votes on whether a package is ready to be released use majority approval -- i.e., at
least three PMC members must vote affirmatively for release, and there must be more
positive than negative votes. Releases may not be vetoed. Before voting +1 PMC members
are required to download the signed source code package, compile it as provided, and
test the resulting executable on their own platform, along with also verifying that
the package meets the requirements of the ASF policy on releases.
If VOTEs positive: Sign screen sharing web application and re-pack the release
cd openmeetings-server/target mkdir apache-openmeetings cd apache-openmeetings tar -xzf ../apache-openmeetings-$BRANCHORTAG.tar.gz cd webapps/openmeetings/screenshare/ mvn org.codehaus.mojo:webstart-maven-plugin:1.0-beta-8-SNAPSHOT:unsign -Dmaven.jar.unsign.jarpath=.
Create sha256sum checksums
#On OSX you might use this command to make a SHA checksum and store it to a file shasum -a 256 -r apache-openmeetings-XXX-src.zip >apache-openmeetings-XXX-src.zip.sha256
#To create SHA hashes On Ubuntu: for f in `ls -1 *.tar.gz *.zip`; do sha256sum $f > $f.sha256; done #To check SHA hashes On Ubuntu: for f in `ls -1 *.tar.gz *.zip`; do sha256sum -c $f.sha256; done
Create signatures with the your KEY for every file, the KEY must be available at:
https://svn.apache.org/repos/asf/openmeetings/project/KEYS
#To create signatures On Ubuntu: for f in `ls -1 *.tar.gz *.zip`; do gpg --armor --output $f.asc --detach-sig $f; done #To check signatures On Ubuntu: for f in `ls -1 *.tar.gz *.zip`; do gpg --verify $f.asc; done
NOTE: "Type of signing" can be selected as "Test" to check everything works as expected
If VOTEs positive: Upload the release
Upload Artifacts with signatures created on the previous steps to https://dist.apache.org/repos/dist/release/openmeetings/CURRENT_VERSION
Wait 24 hours (until all Apache mirrors have synced the packages) and send an announcement to the mailing list + blog and any other channel.
Email announcements should have the subject line:
[ANNOUNCE] Apache OpenMeetings x.xx released
Update release section of DOAP file site/trunk/doap.rdf (https://svn.apache.org/repos/asf/openmeetings/site/trunk/doap.rdf)
Add a section to downloads website.
Make sure that the binary packages are linked using the mirror URL as base path (
not http://www.apache.org/dist):
Mirror URL:
http://www.apache.org/dyn/closer.lua/openmeetings/
Release candidates should be deleted from https://dist.apache.org/repos/dist/dev/openmeetings/
Old releases should be deleted from https://dist.apache.org/repos/dist/release/openmeetings/