blob: d66ed8b3bfad89164294e751ac7615131f199ef4 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-09-23
| Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="Apache OpenMeetings Team" />
<meta name="Date-Revision-yyyymmdd" content="20160923" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache OpenMeetings Project &#x2013; Release Guide</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>
<script type="text/javascript" src="http://openmeetings.apache.org/js/site.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<div id="banner">
<div class="pull-left">
<a href="index.html" id="bannerLeft">
<img src="images/logo.png" alt="Apache OpenMeetings"/>
</a>
</div>
<div class="pull-right"> <a href="http://apache.org" id="bannerRight">
<img src="http://apache.org/img/asf_logo.png" alt="Apache"/>
</a>
</div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2016-09-23
</li>
<li class="pull-right">
<span class="divider">|</span>
<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" class="externalLink" title="Wiki">
Wiki</a>
</li>
<li class="pull-right">
<span class="divider">|</span>
<a href="installation.html" title="Installation">
Installation</a>
</li>
<li class="pull-right">
<span class="divider">|</span>
<a href="downloads.html" title="Download">
Download</a>
</li>
<li class="pull-right">
<a href="demo.html" title="Demo">
Demo</a>
</li>
</ul>
</div>
<div class="row-fluid">
<div id="leftColumn" class="span2">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li>
<a href="#general" title="General">
<span class="icon-chevron-down"></span>
General</a>
<ul class="nav nav-list">
<li>
<a href="index.html" title="Home">
<span class="none"></span>
Home</a>
</li>
<li>
<a href="demo.html" title="Demo">
<span class="none"></span>
Demo</a>
</li>
<li>
<a href="license.html" title="License">
<span class="none"></span>
License</a>
</li>
<li>
<a href="http://www.apache.org/" class="externalLink" title="ASF">
<span class="none"></span>
ASF</a>
</li>
<li>
<a href="downloads.html" title="Downloads">
<span class="none"></span>
Downloads</a>
</li>
<li>
<a href="CallForLogo.html" title="Call For Logo">
<span class="none"></span>
Call For Logo</a>
</li>
<li>
<a href="NewsArchive.html" title="News archive">
<span class="none"></span>
News archive</a>
</li>
<li>
<a href="security.html" title="Security">
<span class="none"></span>
Security</a>
</li>
<li>
<a href="commercial-support.html" title="Commercial Support">
<span class="none"></span>
Commercial Support</a>
</li>
</ul>
</li>
<li>
<a href="#installation" title="Installation and Upgrade">
<span class="icon-chevron-down"></span>
Installation and Upgrade</a>
<ul class="nav nav-list">
<li>
<a href="installation.html" title="Installation">
<span class="none"></span>
Installation</a>
</li>
<li>
<a href="Upgrade.html" title="Upgrade">
<span class="none"></span>
Upgrade</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" class="externalLink" title="Tutorials">
<span class="none"></span>
Tutorials</a>
</li>
<li>
<a href="CommandLineAdmin.html" title="Command Line Admin">
<span class="none"></span>
Command Line Admin</a>
</li>
</ul>
</li>
<li>
<a href="#community" title="Community">
<span class="icon-chevron-down"></span>
Community</a>
<ul class="nav nav-list">
<li>
<a href="get-involved.html" title="Get Involved">
<span class="none"></span>
Get Involved</a>
</li>
<li>
<a href="team-list.html" title="Committers">
<span class="none"></span>
Committers</a>
</li>
<li>
<a href="mail-lists.html" title="Mailing Lists">
<span class="none"></span>
Mailing Lists</a>
</li>
<li>
<a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" class="externalLink" title="Wiki">
<span class="none"></span>
Wiki</a>
</li>
</ul>
</li>
<li>
<a href="#dev" title="Development">
<span class="icon-chevron-down"></span>
Development</a>
<ul class="nav nav-list">
<li>
<a href="source-repository.html" title="Source Code">
<span class="none"></span>
Source Code</a>
</li>
<li>
<a href="issue-tracking.html" title="Bugs / Issues">
<span class="none"></span>
Bugs / Issues</a>
</li>
<li>
<a href="dependencies.html" title="Dependencies">
<span class="none"></span>
Dependencies</a>
</li>
<li>
<a href="integration.html" title="Continuous Integration">
<span class="none"></span>
Continuous Integration</a>
</li>
<li>
<a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">
<span class="none"></span>
Build Instructions 3.0.x</a>
</li>
<li>
<a href="BuildInstructions.html" title="Build Instructions">
<span class="none"></span>
Build Instructions</a>
</li>
<li>
<a href="JUnitTesting.html" title="JUnit Testing">
<span class="none"></span>
JUnit Testing</a>
</li>
<li>
<a href="ManualTesting.html" title="Manual Testing">
<span class="none"></span>
Manual Testing</a>
</li>
<li class="active">
<a href="#"><span class="none"></span>Release Guide</a>
</li>
<li>
<a href="WebsiteGuide.html" title="Website Guide">
<span class="none"></span>
Website Guide</a>
</li>
</ul>
</li>
<li>
<a href="#integration" title="Integration">
<span class="icon-chevron-down"></span>
Integration</a>
<ul class="nav nav-list">
<li>
<a href="openmeetings-webservice/apidocs/index.html" target="_blank" title="SOAP/REST API">
<span class="none"></span>
SOAP/REST API</a>
</li>
<li>
<a href="RestAPISample.html" title="REST API Sample">
<span class="none"></span>
REST API Sample</a>
</li>
<li>
<a href="LdapAndADS.html" title="Ldap and ADS">
<span class="none"></span>
Ldap and ADS</a>
</li>
<li>
<a href="oauth2.html" title="OAuth2">
<span class="none"></span>
OAuth2</a>
</li>
<li>
<a href="voip-sip-integration.html" title="VoIP and SIP">
<span class="none"></span>
VoIP and SIP</a>
</li>
<li>
<a href="errorvalues.html" title="Errors table">
<span class="none"></span>
Errors table</a>
</li>
</ul>
</li>
<li>
<a href="#plugins" title="Plugins">
<span class="icon-chevron-down"></span>
Plugins</a>
<ul class="nav nav-list">
<li>
<a href="MoodlePlugin.html" title="Moodle Plugin">
<span class="none"></span>
Moodle Plugin</a>
</li>
<li>
<a href="SakaiPlugin.html" title="Sakai Plugin">
<span class="none"></span>
Sakai Plugin</a>
</li>
<li>
<a href="JiraPlugin.html" title="Jira Plugin">
<span class="none"></span>
Jira Plugin</a>
</li>
<li>
<a href="JoomlaPlugin.html" title="Joomla Plugin">
<span class="none"></span>
Joomla Plugin</a>
</li>
<li>
<a href="DrupalPlugin.html" title="Drupal Plugin">
<span class="none"></span>
Drupal Plugin</a>
</li>
<li>
<a href="BitrixPlugin.html" title="Bitrix Plugin">
<span class="none"></span>
Bitrix Plugin</a>
</li>
<li>
<a href="ConfluencePlugin.html" title="Confluence Plugin">
<span class="none"></span>
Confluence Plugin</a>
</li>
<li>
<a href="SugarCRMPlugin.html" title="SugarCRM Plugin">
<span class="none"></span>
SugarCRM Plugin</a>
</li>
<li>
<a href="RedminePlugin.html" title="Redmine Plugin">
<span class="none"></span>
Redmine Plugin</a>
</li>
</ul>
</li>
<li>
<a href="#config" title="Configuration">
<span class="icon-chevron-down"></span>
Configuration</a>
<ul class="nav nav-list">
<li>
<a href="#db" title="DB Sample Configurations">
<span class="icon-chevron-down"></span>
DB Sample Configurations</a>
<ul class="nav nav-list">
<li>
<a href="ApacheDerbyConfig.html" title="Apache Derby">
<span class="none"></span>
Apache Derby</a>
</li>
<li>
<a href="IBMDB2Config.html" title="IBM DB2">
<span class="none"></span>
IBM DB2</a>
</li>
<li>
<a href="OracleConfig.html" title="Oracle">
<span class="none"></span>
Oracle</a>
</li>
<li>
<a href="MySQLConfig.html" title="MySQL">
<span class="none"></span>
MySQL</a>
</li>
<li>
<a href="PostgresConfig.html" title="Postgres">
<span class="none"></span>
Postgres</a>
</li>
<li>
<a href="MSSQLConfig.html" title="MSSQL">
<span class="none"></span>
MSSQL</a>
</li>
</ul>
</li>
<li>
<a href="#localization" title="Localization and languages">
<span class="icon-chevron-down"></span>
Localization and languages</a>
<ul class="nav nav-list">
<li>
<a href="Internationalisation.html" title="Internationalisation">
<span class="none"></span>
Internationalisation</a>
</li>
<li>
<a href="LanguageEditor.html" title="LanguageEditor">
<span class="none"></span>
LanguageEditor</a>
</li>
<li>
<a href="TimeZoneHandling.html" title="TimeZoneHandling">
<span class="none"></span>
TimeZoneHandling</a>
</li>
<li>
<a href="EditTemplates.html" title="EditTemplates">
<span class="none"></span>
EditTemplates</a>
</li>
</ul>
</li>
<li>
<a href="#port" title="NAT Port Settings">
<span class="icon-chevron-down"></span>
NAT Port Settings</a>
<ul class="nav nav-list">
<li>
<a href="PortSettings.html" title="Port settings">
<span class="none"></span>
Port settings</a>
</li>
</ul>
</li>
<li>
<a href="#performance" title="Performance">
<span class="icon-chevron-down"></span>
Performance</a>
<ul class="nav nav-list">
<li>
<a href="JVMPerformanceTuning.html" title="JVM performance tuning">
<span class="none"></span>
JVM performance tuning</a>
</li>
<li>
<a href="NetworkCalculator.html" title="Network bandwidth calculator">
<span class="none"></span>
Network bandwidth calculator</a>
</li>
</ul>
</li>
<li>
<a href="#interface" title="User Interface">
<span class="icon-chevron-down"></span>
User Interface</a>
<ul class="nav nav-list">
<li>
<a href="themes-and-branding.html" title="Themes">
<span class="none"></span>
Themes</a>
</li>
<li>
<a href="Dashboard.html" title="Dashboard">
<span class="none"></span>
Dashboard</a>
</li>
<li>
<a href="WebcamResolutions.html" title="Webcam resolutions">
<span class="none"></span>
Webcam resolutions</a>
</li>
<li>
<a href="ConferenceRoomLayoutOptions.html" title="Room layout options">
<span class="none"></span>
Room layout options</a>
</li>
<li>
<a href="HotKeys.html" title="Hot Keys">
<span class="none"></span>
Hot Keys</a>
</li>
</ul>
</li>
<li>
<a href="#customize" title="Customization">
<span class="icon-chevron-down"></span>
Customization</a>
<ul class="nav nav-list">
<li>
<a href="WebappNamePath.html" title="Webapp name/path">
<span class="none"></span>
Webapp name/path</a>
</li>
<li>
<a href="Navigation.html" title="Navigation">
<span class="none"></span>
Navigation</a>
</li>
<li>
<a href="CalendarAndTimezone.html" title="Calendar and timezone">
<span class="none"></span>
Calendar and timezone</a>
</li>
<li>
<a href="CustomRoomTypeHowTo.html" title="Custom room type">
<span class="none"></span>
Custom room type</a>
</li>
<li>
<a href="CustomCryptMechanism.html" title="Custom crypt mechanism">
<span class="none"></span>
Custom crypt mechanism</a>
</li>
<li>
<a href="GeneralConfiguration.html" title="General Configuration">
<span class="none"></span>
General Configuration</a>
</li>
</ul>
</li>
<li>
<a href="#security" title="Security">
<span class="icon-chevron-down"></span>
Security</a>
<ul class="nav nav-list">
<li>
<a href="RestrictedAccess.html" title="Restricted Access">
<span class="none"></span>
Restricted Access</a>
</li>
<li>
<a href="RTMPSAndHTTPS.html" title="RTMPS and HTTPS">
<span class="none"></span>
RTMPS and HTTPS</a>
</li>
</ul>
</li>
<li>
<a href="#convert" title="Converters">
<span class="icon-chevron-down"></span>
Converters</a>
<ul class="nav nav-list">
<li>
<a href="OpenOfficeConverter.html" title="OpenOffice Converter">
<span class="none"></span>
OpenOffice Converter</a>
</li>
<li>
<a href="FFMPEGVersionSwitch.html" title="FFMPEG Version Switch">
<span class="none"></span>
FFMPEG Version Switch</a>
</li>
</ul>
</li>
<li>
<a href="#cluster" title="Clustering">
<span class="icon-chevron-down"></span>
Clustering</a>
<ul class="nav nav-list">
<li>
<a href="Clustering.html" title="Clustering">
<span class="none"></span>
Clustering</a>
</li>
</ul>
</li>
<li>
<a href="#misc" title="Misc">
<span class="icon-chevron-down"></span>
Misc</a>
<ul class="nav nav-list">
<li>
<a href="GetVersionInfo.html" title="Get version info">
<span class="none"></span>
Get version info</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</div>
</div>
<div id="bodyColumn" class="span10" >
<div class="section">
<h2><a name="How_to_Build_a_Release_of_OpenMeetings"></a>How to Build a Release of OpenMeetings</h2>
<div class="section">
<h3><a name="Required_tools"></a>Required tools</h3>
<div>
<p>To build a binary release of OpenMeetings you need: </p>
<ul>
<li>Sun JDK8</li>
<li>Apache Maven 3.3.9</li>
<li>
SVN Command line client (Subversion 1.7 required!)
<a class="externalLink" href="http://subversion.apache.org/packages.html" target="_blank" rel="nofollow">http://subversion.apache.org/packages.html</a>
</li>
<li>A text editor</li>
<li>You need to be online! The build process actively downloads needed libraries and dependencies.</li>
<li>Valid certficate to be able to enter <a class="externalLink" href="https://securesigning.websecurity.symantec.com/csportal/">https://securesigning.websecurity.symantec.com/csportal/</a>
Please ask INFRA in case you need one.
</li>
</ul>
</div>
</div>
<div class="section">
<h3><a name="Prepare_your_Apache_ID"></a>Prepare your Apache ID</h3>
<div>
<ul>
<li><b>Every release package must be signed with a PGP/GPG key.</b><br />
So if you want to release a package your Apache Id must be
connected with a PGP key!
<br />
<br />
You might follow:
<br />
<a class="externalLink" href="http://www.apache.org/dev/new-committers-guide.html#security-and-pgp" target="_blank">http://www.apache.org/dev/new-committers-guide.html#security-and-pgp
</a>
<br />
<br />
In short:
<ul>
<li>Create PGP key pairs (private + public) (and I recommend creating a Revoke Cert)</li>
<li>Upload the public key (either bei using the PGP Tool that you use
to create the key) or by using the web form to:
<a class="externalLink" href="http://pgp.mit.edu/" target="_blank" rel="nofollow">http://pgp.mit.edu/</a>
</li>
<li>Add the fingerprint string (something like &quot;BF13 CF11 F9C9 0CBE
4413 09AB 0055 16BF 93A3 0395&quot;) to your profile at
<a class="externalLink" href="https://id.apache.org/" target="_blank" rel="nofollow">https://id.apache.org/</a>
</li>
<li>
Wait for 6-8 hours, the server will search for a public key based
on your fingerprint, if success it will create a file with your
name at:
<br />
<a class="externalLink" href="https://people.apache.org/keys/committer/">https://people.apache.org/keys/committer/</a>
</li>
<li>
If that is &quot;success&quot; then add your key to:
<br />
<a class="externalLink" href="https://svn.apache.org/repos/asf/openmeetings/project/KEYS">https://svn.apache.org/repos/asf/openmeetings/project/KEYS</a>
<br />
<br />
and follow the instructions in the file.
</li>
</ul>
</li>
<li><b>Maven</b><br />
<ul>
<li>Ensure you able to login to <a class="externalLink" href="https://repository.apache.org/">https://repository.apache.org</a></li>
<li>
Set up development environment as described here: <a class="externalLink" href="http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env">Setup development environment</a><br />
Don't forget to secure passwords as described here: <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-encryption.html#How_to_create_a_master_password">Password Encryption</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section">
<h3><a name="Step1_-_Prepare_files"></a>Step1 - Prepare files</h3>
<ul>
<li>
Check that all files:<br />
LICENSE, NOTICE, DISCLAIMER, CHANGELOG, README<br />
are up to date and refer to the right version.
</li>
<li>
Create a TAG of the SVN tree that you would like to release<br />
Example:
<div class="source"><pre class="prettyprint">
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 &quot;3.1.0 Release candidate 1&quot;
</pre></div>
</li>
<li>
<p>Get the source from your TAG: </p>
<div class="source"><pre class="prettyprint">svn checkout https://svn.apache.org/repos/asf/openmeetings/application/tags/$BRANCHORTAG/</pre></div>
<p>$BRANCHORTAG should be replaced with your new TAG</p>
</li>
<li>
<p>Update versions of all modules</p>
<div class="source"><pre class="prettyprint">mvn versions:set -DgenerateBackupPoms=false -DnewVersion=3.1.0</pre></div>
</li>
<li>Deploy release artifacts to Maven
<ul>
<li>
<div class="source"><pre class="prettyprint">
mvn clean
mvn deploy -Pdeploy,rc
</pre></div>
</li>
</ul>
</li>
<li>
<p>Run the command: </p>
<div class="source"><pre class="prettyprint">mvn clean install -P allModules,rc</pre></div>
</li>
<li>
<p>Test building the source on windows and OSx or Linux</p>
<p>Test running the binary's</p>
</li>
<li>
<p>
Commit artifacts you have created with KEYS file to the
<tt>https://dist.apache.org/repos/dist/dev/openmeetings/</tt>
Proposed file structure for &quot;Release Candidate 1&quot; of 3.1.0 will be:
</p>
<div class="source"><pre class="prettyprint">
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
</pre></div>
</li>
</ul>
</div>
<div class="section">
<h3><a name="Step2_-_VOTE_and_RESULT_emails"></a>Step2 - VOTE and RESULT emails</h3>
<p>
Send a &quot;VOTE&quot; to the developer mailing list including links to release artifacts.<br />
A VOTE always contains two parts:<br />
Send an email to the developer mailing list with the subject line:<br />
[VOTE] Apache OpenMeetings x.xx release<br />
An example for such an email:
<a class="externalLink" href="http://s.apache.org/vote-2.1.0RC1">example Vote email</a>
<a class="externalLink" href="http://s.apache.org/vote-2.0.0RC4">example Vote email (Incubator)</a>
<br />
Forward (Not CC) this Vote email to: private@openmeetings.apache.org<br />
<br />
After the vote is over, send a &quot;RESULT&quot; email to the list with the subject line:<br />
[RESULT][VOTE] Apache OpenMeetings x.xx release<br />
An example for such an email:
<a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/incubator-openmeetings-dev/201207.mbox/%3CCACeMiA-ibo6fGCbnLjJX9H5H2kFGDVJRMfxPyMtzWzCWNi%2BpOg%40mail.gmail.com%3E">example Result email</a>
<br />
Forward (Not CC) this RESULT VOTE email to: private@openmeetings.apache.org<br />
<br />
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.
</p>
</div>
<div class="section">
<h3><a name="Step3_-_Sign_web_start_application"></a>Step3 - Sign web start application</h3>
<p>If VOTEs positive: Sign screen sharing web application and re-pack the release</p>
<ul>
<li>Go to the folder you check out: https://svn.apache.org/repos/asf/openmeetings/application/tags/$BRANCHORTAG/</li>
<li>
<p>Run the command: </p>
<div class="source"><pre class="prettyprint">
cd openmeetings-screenshare
mvn clean install -Prc,release
</pre></div>
</li>
<li>Go to <a class="externalLink" href="https://securesigning.websecurity.symantec.com/csportal/">https://securesigning.websecurity.symantec.com/csportal/</a></li>
<li>Select &quot;Signing Sets&quot;</li>
<li>Select &quot;Add signing set&quot;</li>
<li>Enter &quot;Signing set name&quot; (must include &quot;Apache Openmeetings&quot; and version) for ex. &quot;Apache Openmeetings 3.1.0-RELEASE&quot;</li>
<li>Enter &quot;Version&quot; for ex. &quot;3.1.0-RELEASE&quot;</li>
<li>Select &quot;Java Signing Sha256&quot; as &quot;Signing service&quot;</li>
<li>Select &quot;Upload files&quot; and add all <b>jar</b> files from <tt>target/jnlp</tt></li>
<li>Select &quot;Sign now&quot;</li>
<li>Select &quot;Type of signing&quot; -&gt; &quot;Production&quot;</li>
<li>Select &quot;Sign&quot;</li>
<li>Select &quot;Download set&quot;</li>
<li>Open binary artifacts of OM created on previous step (both <b>tar.gz</b> and <b>zip</b>)</li>
<li>Replace jar files inside artifacts <tt>webapps/openmeetings/screenshare</tt> with the signed ones</li>
<li>
Re-create artifact signatures
<p>Create sha256sum checksums</p>
<div class="source"><pre class="prettyprint">
#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 &gt;apache-openmeetings-XXX-src.zip.sha256
</pre></div>
<div class="source"><pre class="prettyprint">
#To create SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha256sum $f &gt; $f.sha256; done
#To check SHA hashes On Ubuntu:
for f in `ls -1 *.tar.gz *.zip`; do sha256sum -c $f.sha256; done
</pre></div>
<p>
Create signatures with the your KEY for every file, the KEY must be available at:<br />
<a class="externalLink" href="https://svn.apache.org/repos/asf/openmeetings/project/KEYS">
https://svn.apache.org/repos/asf/openmeetings/project/KEYS
</a>
</p>
<div class="source"><pre class="prettyprint">
#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
</pre></div>
</li>
</ul>
<p>NOTE: &quot;Type of signing&quot; can be selected as &quot;Test&quot; to check everything works as expected</p>
</div>
<div class="section">
<h3><a name="Step4_-_Distribute_and_announce"></a>Step4 - Distribute and announce</h3>
<p>If VOTEs positive: Upload the release </p>
<ul>
<li>Upload Artifacts with signatures created on the previous steps to
https://dist.apache.org/repos/dist/release/openmeetings/CURRENT_VERSION
</li>
<li>Close staging repo:
<ul>
<li>Go to: <a class="externalLink" href="https://repository.apache.org/#stagingRepositories">Staging Repositories</a></li>
<li>Select openmeetings staging repo and Close it with valid message:<br />
for ex. &quot;The VOTE about 3.1.2 release was successful&quot;
</li>
<li>Select openmeetings staging repo and Release it with valid message:<br />
for ex. &quot;The VOTE about 3.1.2 release was successful&quot;
</li>
</ul>
</li>
<li>
Wait 24 hours (until all Apache mirrors have synced the packages)
and send an announcement to the mailing list + blog and any other
channel.
</li>
<li>
Email announcements should have the subject line:<br />
[ANNOUNCE] Apache OpenMeetings x.xx released
</li>
<li>
Update release section of DOAP file <tt>site/trunk/doap.rdf (https://svn.apache.org/repos/asf/openmeetings/site/trunk/doap.rdf)</tt>
</li>
<li>
Add a section to <a href="downloads.html">downloads</a> website.<br />
Make sure that the binary packages are linked using the mirror URL as base path (
<b>not</b> http://www.apache.org/dist):<br />
Mirror URL:
<a class="externalLink" href="http://www.apache.org/dyn/closer.lua/openmeetings/">http://www.apache.org/dyn/closer.lua/openmeetings/</a>
</li>
<li>
Release candidates should be deleted from <tt>https://dist.apache.org/repos/dist/dev/openmeetings/</tt><br />
Old releases should be deleted from <tt>https://dist.apache.org/repos/dist/release/openmeetings/</tt>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p >Copyright &copy; 2012&#x2013;2016
<a href="http://apache.org">Apache Software Foundation</a>.
All rights reserved.
</p>
</div>
</div>
</footer>
</body>
</html>