
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-01-27
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Prerequisites</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-release project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html">Apache <span class="color-highlight">Trafodion</span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Project Overview">Project Overview</a></li>
									<li ><a href="new-features.html" title="New Features">New Features</a></li>
									<li ><a href="roadmap.html" title="Roadmap">Roadmap</a></li>
									<li ><a href="performance.html" title="Performance">Performance</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-list.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="mail-lists.html" title="Mailing List">Mailing List</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Using <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="quickstart.html" title="Quick Start">Quick Start</a></li>
									<li ><a href="download.html" title="Download">Download</a></li>
									<li ><a href="install.html" title="Install">Install</a></li>
									<li ><a href="uninstall.html" title="Uninstall">Uninstall</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
									<li ><a href="port-assignment.html" title="Port Assignments">Port Assignments</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="docs/odb_user/index.html" title="ODB">ODB</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contributing <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="contribute.html" title="Contribute">Contribute</a></li>
									<li ><a href="advocate.html" title="Advocate">Advocate</a></li>
									<li ><a href="develop.html" title="Develop">Develop</a></li>
									<li ><a href="testing.html" title="Test">Test</a></li>
									<li ><a href="merge.html" title="Merge">Merge</a></li>
									<li class="active"><a href="" title="Release">Release</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a></li>
									<li ><a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a></li>
									<li ><a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a></li>
									<li ><a href="build.html" title="Build Trafodion">Build Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="code.html" title="Modify Code">Modify Code</a></li>
									<li ><a href="tests.html" title="Modify Tests">Modify Tests</a></li>
									<li ><a href="document.html" title="Modify Documentation">Modify Documentation</a></li>
									<li ><a href="website.html" title="Modify Web Site">Modify Web Site</a></li>
									<li ><a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://incubator.apache.org/projects/trafodion.html" title="Project Status" target="_blank" class="externalLink">Project Status</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1>Apache <span class="color-highlight">Trafodion</span></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li><a href="index.html" title="Trafodion">Trafodion</a></li>
				<li class="divider">/</li>
				<li>Prerequisites</li>
			</ul>
		</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="dropdown">
							<a href="#prerequisites" title="Prerequisites" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Prerequisites <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#prerequisites" title="Prerequisites">Prerequisites</a></li>
								<li class="divider"></li>
								<li class="dropdown-submenu">
									<a href="#Create_PGP_Key" title="Create PGP Key">Create PGP Key</a>
									<ul class="dropdown-menu" role="menu">
								<li><a href="#Upload_Public_Key" title="Upload Public Key">Upload Public Key</a></li>
								<li><a href="#Create_Revocation_Certificate" title="Create Revocation Certificate">Create Revocation Certificate</a></li>

									</ul>
								</li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#add_pgp_to_keys_file" title="Add PGP to KEYS File">Add PGP to KEYS File</a></li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#prepare_artifacts" title="Prepare Artifacts" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Prepare Artifacts <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#prepare_artifacts" title="Prepare Artifacts">Prepare Artifacts</a></li>
								<li class="divider"></li>
								<li><a href="#Prepare_New_Release" title="Prepare New Release">Prepare New Release</a></li>
								<li><a href="#Verify_Release_Requirements" title="Verify Release Requirements">Verify Release Requirements</a></li>
								<li><a href="#Create_Release_Branch" title="Create Release Branch">Create Release Branch</a></li>
								<li class="dropdown-submenu">
									<a href="#Create_Artifacts" title="Create Artifacts">Create Artifacts</a>
									<ul class="dropdown-menu" role="menu">
								<li><a href="#Create_Tag" title="Create Tag">Create Tag</a></li>
								<li><a href="#Create_Artifact_Checksums_and_Signatures" title="Create Artifact Checksums and Signatures">Create Artifact Checksums and Signatures</a></li>

									</ul>
								</li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#test_artifacts" title="Test Artifacts" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Test Artifacts <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#test_artifacts" title="Test Artifacts">Test Artifacts</a></li>
								<li class="divider"></li>
								<li><a href="#Build_and_Test_Source_tar_File" title="Build and Test Source tar File">Build and Test Source tar File</a></li>
								<li><a href="#Compare_Tagged_Version_with_Source_tar_File" title="Compare Tagged Version with Source tar File">Compare Tagged Version with Source tar File</a></li>
								<li><a href="#Verify_Apache_Requirements" title="Verify Apache Requirements">Verify Apache Requirements</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#stage_artifacts" title="Stage Artifacts">Stage Artifacts</a></li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#verification" title="Verification" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Verification <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#verification" title="Verification">Verification</a></li>
								<li class="divider"></li>
								<li><a href="#Verify_Signatures" title="Verify Signatures">Verify Signatures</a></li>
								<li><a href="#Verify_Apache_Requirements" title="Verify Apache Requirements">Verify Apache Requirements</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="toplevel"><a href="#complete_release" title="Complete Release">Complete Release</a></li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the 
  License. --> 
<p>This page describes how to create a Trafodion release. You have to be a Trafodion committer to use these instructions.</p> 
<div class="page-header">
 <h1 id="prerequisites">Prerequisites</h1>
</div> 
<div class="section"> 
 <h2 id="Create_PGP_Key">Create PGP Key</h2> 
 <p>If you haven’t done so already, then you need to create a PGP key so that you can sign the release. Please refer to: <a class="externalLink" href="http://www.apache.org/dev/openpgp.html#generate-key">http://www.apache.org/dev/openpgp.html#generate-key</a>.</p> 
 <p>Please remember to store your private key in a secure place.</p> 
 <p><b>Example</b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre>gpg --gen-key   (verify that sha1 is avoided (last on list – see above web site)
gpg -k  (shows public key)
gpg -K (shows private key)
</pre> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Upload_Public_Key">Upload Public Key</h3> 
  <p>Upload your public key to a public key server. We recommend using <a class="externalLink" href="https://pgp.mit.edu/">https://pgp.mit.edu/</a>.</p> 
  <p><b>Example</b></p> 
  <div class="source"> 
   <div class="source"> 
    <pre>gpg --send-keys &lt;keyID&gt; --keyserver pgp.mit.edu
</pre> 
   </div> 
  </div> 
 </div> 
 <div class="section"> 
  <h3 id="Create_Revocation_Certificate">Create Revocation Certificate</h3> 
  <p>Create a revocation certification using the instructions at: <a class="externalLink" href="http://www.apache.org/dev/openpgp.html#revocation-certs">http://www.apache.org/dev/openpgp.html#revocation-certs</a>.</p> 
  <p>Please remember to store it in a secure place separate from your PGP keys.</p> 
  <p><b>Example</b></p> 
  <div class="source"> 
   <div class="source"> 
    <pre>gpg --output revoke-&lt;keyD&gt;.asc --armor --gen-revoke &lt;keyID&gt;
</pre> 
   </div> 
  </div> 
  <h1 id="add_pgp_to_keys_file">Add PGP to KEYS File</h1> 
  <p>Do the following:</p> 
  <div class="source"> 
   <div class="source"> 
    <pre>svn co https://dist.apache.org/repos/dist/release/incubator/trafodion traf_release
cd traf_release 
gpg --list-sigs &lt;keyID&gt; &gt;&gt; KEYS
gpg  -armor –export &lt;keyID&gt;
svn commit –m “added new public key to KEYS file“
</pre> 
   </div> 
  </div> 
  <h1 id="prepare_artifacts">Prepare Artifacts</h1> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Prepare_New_Release">Prepare New Release</h2> 
 <ol style="list-style-type: decimal"> 
  <li>Send a message out to the community indicating that a new release is being planned. In this message, indicate what is planned for the release and when the release is scheduled.</li> 
  <li>Give contributors enough time to assimilate this information so they can make plans to deliver their changes. Recommend giving the community several weeks notice.</li> 
  <li>Review open issues and planned features; determine what JIRA’s should be included in the release.</li> 
 </ol> 
</div> 
<div class="section"> 
 <h2 id="Verify_Release_Requirements">Verify Release Requirements</h2> 
 <p>You need to ensure that:</p> 
 <ul> 
  <li>A DISCLAIMER file exists in the top level directory containing correct information. Please refer to: <a class="externalLink" href="http://incubator.apache.org/guides/branding.html#disclaimers">http://incubator.apache.org/guides/branding.html#disclaimers</a>.</li> 
  <li>NOTICE and LICENSE files exist in the top level directory which includes all third party licenses used in the product. Please refer to: <a class="externalLink" href="http://www.apache.org/dev/licensing-howto.html">http://www.apache.org/dev/licensing-howto.html</a>.</li> 
  <li>A README file exists and is up to date in the top level directory describing the release.</li> 
  <li>The source release contains source code only, no binaries.</li> 
  <li>The provenance of all source files is clear.</li> 
  <li>All source files have Apache license headers, where possible. Where not possible, then the exceptions are written up in the RAT_README file located in the top level directory.</li> 
  <li>RAT report is clean.</li> 
  <li>Copyright dates are current.</li> 
  <li>Build instructions are provided and can be run successfully.</li> 
  <li>Test instructions are provided and can be run successfully.</li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Create_Release_Branch">Create Release Branch</h2> 
 <p>Prior to releasing, send a message to the community indicating that a new release is imminent and that a new branch will be created to build the artifacts.</p> 
 <p>After the new release branch is created, send another message to the community indicating that the branch is available and the deliveries will be monitored. Allow deliveries on the main branch to continue.</p> 
 <p>Verify that all required changes have been delivered.</p> 
</div> 
<div class="section"> 
 <h2 id="Create_Artifacts">Create Artifacts</h2> 
 <p>Trafodion uses git as its repository. When a new version is created, mark the repository with the tag to make sure it source tar can be recreated.</p> 
 <div class="section"> 
  <h3 id="Create_Tag">Create Tag</h3> 
  <p><b>Example: Release x.x.x and release candidate 1 (rc1)</b></p> 
  <div class="source"> 
   <div class="source"> 
    <pre>git checkout -b tagx.x.x &lt;release branch name&gt;
git tag -a x.x.xrc1
git show x.x.xrc1
git push apache x.x.xrc1
git tag
</pre> 
   </div> 
  </div> 
  <p>Once completed, a new source tar file exist in the distribution directory. </p> 
 </div> 
 <div class="section"> 
  <h3 id="Create_Artifact_Checksums_and_Signatures">Create Artifact Checksums and Signatures</h3> 
  <p><b>Assumption</b>: You’ve already created the signing key and registered it at the <a class="externalLink" href="https://pgp.mit.edu/">https://pgp.mit.edu/</a> repository.</p> 
  <div class="source"> 
   <div class="source"> 
    <pre>gpg --armor --output apache-trafodion-x.x.x-incubating-src.tar.gz.asc --detach-sig apache-trafodion-x.x.x-incubating-src.tar.gz
gpg --verify apache-trafodion-x.x.x-incubating-src.tar.gz.asc
md5sum apache-trafodion-x.x.x-incubating-src.tar.gz &gt; apache-trafodion-x.x.x-incubating-src.tar.gz.md5
sha1sum apache-trafodion-x.x.x-incubating-src.tar.gz &gt; apache-trafodion-x.x.x-incubating-src.tar.gz.sha 
</pre> 
   </div> 
  </div> 
  <h1 id="test_artifacts">Test Artifacts</h1> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Build_and_Test_Source_tar_File">Build and Test Source tar File</h2> 
 <p>Build and test the source tar file using the <a href="build.html">Build Trafodion</a> instructions. You should perform this test on the following environments:</p> 
 <ul> 
  <li>Test build on a fresh VM.</li> 
  <li>Test build using the tagged version from git</li> 
 </ul> 
</div> 
<div class="section"> 
 <h2 id="Compare_Tagged_Version_with_Source_tar_File">Compare Tagged Version with Source tar File</h2> 
 <p>Compare the code from the source tar file with the tagged version to make sure they match. The follow example assumes that the branch artifacts contains the release candidates.</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>mkdir traf_test
cd traf_test
cp &lt;git dir&gt;/incubator-trafodion/distribution/* .
tar zxf apache-trafodion-x.x.x-incubating-src.tar.gz
</pre> 
  </div> 
 </div> 
 <p>Compare the two versions; for example, by using BCompare and the “Folder Compare Report” feature:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>old: traf_test/incubator-trafodion 
new: &lt;git dir&gt;/incubator-trafodion
</pre> 
  </div> 
 </div> 
 <p><b>Note:</b> The git version will have some additional git folders and the distribution directory.</p> 
</div> 
<div class="section"> 
 <h2 id="Verify_Apache_Requirements">Verify Apache Requirements</h2> 
 <p>Verify checksums and signatures using the <a href="#Verify_Signatures">Verify Signature</a> instructions below.</p> 
 <p>Ensure that the high-level directory contains valid version of:</p> 
 <ul> 
  <li><b><tt>DISCLAIMER.txt</tt></b></li> 
  <li><b><tt>LICENSE.txt</tt></b></li> 
  <li><b><tt>NOTICE.txt</tt></b></li> 
  <li><b><tt>RAT_README.txt</tt></b></li> 
  <li><b><tt>README.txt</tt></b></li> 
 </ul> 
 <h1 id="stage_artifacts">Stage Artifacts</h1> 
 <p>Once all the artifacts have been created and tested, then it’s time to stage them. Upload the artifacts to the <a class="externalLink" href="https://dist.apache.org/repos/dist/dev/incubator/trafodion">https://dist.apache.org/repos/dist/dev/incubator/trafodion</a> directory.</p> 
 <ol style="list-style-type: decimal"> 
  <li>Make sure <b><tt>svn</tt></b> exists. (It can be downloaded using <b><tt>yum</tt></b>.) 
   <ul> 
    <li><b><tt>which svn</tt></b></li> 
    <li><b><tt>svn --version</tt></b> (version 1.6.11 works)</li> 
   </ul></li> 
  <li>Create a directory to store the <b><tt>svn</tt></b> repositoy</li> 
  <li>Checkout source code. This creates a directory called incubator. 
   <ul> 
    <li><b><tt>svn co https://dist.apache.org/repos/dist/dev/incubator</tt></b></li> 
   </ul></li> 
  <li><b><tt>cd trafodion</tt></b></li> 
  <li>Create a new directory for the release: <b><tt>mkdir apache-trafodion-x.x.x-incubating</tt></b></li> 
  <li><b><tt>cd &lt;apache-trafodion-x.x.x-incubating&gt;</tt></b></li> 
  <li>Copy the four files to the incubating directory.</li> 
  <li>Ensure that you do an <b><tt>svn add</tt></b> for the new directory and all four files</li> 
  <li>Ask for a review of the changes</li> 
  <li>Commit your changes 
   <ul> 
    <li><b><tt>svn status</tt></b></li> 
    <li><b><tt>svn commit –m &quot;message…&quot;</tt></b></li> 
    <li>Go to <a class="externalLink" href="https://dist.apache.org/repos/dist/dev/incubator">https://dist.apache.org/repos/dist/dev/incubator</a> to see if your changes were committed</li> 
   </ul></li> 
 </ol> 
 <h1 id="verification">Verification</h1> 
 <p>All artifacts have been uploaded to the staging area.</p> 
</div> 
<div class="section"> 
 <h2 id="Verify_Signatures">Verify Signatures</h2> 
 <p>Download all the artifacts from the staging area including:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>apache-trafodion-x.x.x-incubating-src.tar.gz
apache-trafodion-x.x.x-incubating-src.tar.gz.asc
apache-trafodion-x.x.x-incubating-src.tar.gz.md5
apache-trafodion-x.x.x-incubating-src.tar.gz.sha 
</pre> 
  </div> 
 </div> 
 <p>Check signatures and checksums.</p> 
 <p><b><tt>apache-trafodion-x.x.x-incubating-src.tar.gz.asc</tt></b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre># View public key
gpg apache-trafodion-x.x.x-incubating-src.tar.gz.asc

# Expect
  gpg: Signature made Tue 03 Nov 2015 12:59:10 AM UTC using RSA key ID A44C5A05
  gpg: Can't check signature: No public key

# Extract public key from key ID returned above
gpg --keyserver pgpkeys.mit.edu --recv-key A44C5A05

# Expect:
  gpg: requesting key A44C5A05 from hkp server pgpkeys.mit.edu
  gpg: /home/centos/.gnupg/trustdb.gpg: trustdb created
  gpg: key A44C5A05: public key &quot;Jane Doe (CODE SIGNING KEY) &lt;jdoe@apache.org&gt;&quot; imported

# Verify signature
gpg --verify apache-trafodion-x.x.x-incubating-src.tar.gz.asc
# Expect:
  gpg: Signature made &lt;date&gt; using RSA key ID A44C5A05
  gpg: Good signature from &quot;Roberta Marton (CODE SIGNING KEY) &lt;rmarton@apache.org&gt;&quot;
  gpg: WARNING: This key is not certified with a trusted signature!
  gpg: There is no indication that the signature belongs to the owner.
</pre> 
  </div> 
 </div> 
 <p><b><tt>apache-trafodion-x.x.x-incugating-src.tar.gz.md5</tt></b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre> md5sum -c apache-trafodion-x.x.x-incubating-src.tar.gz.md5

 # Expect:
   apache-trafodion-x.x.x-incubating-src.tar.gz: OK
</pre> 
  </div> 
 </div> 
 <p><b><tt>apache-trafodion-x.x.x-incubating-x.x.x-incubating-src.tar.gz.sha</tt></b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre>sha1sum -c apache-trafodion-x.x.x-incubating-src.tar.gz.sha

# Expect:
  apache-trafodion-x.x.x-incubating-src.tar.gz: OK
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Verify_Apache_Requirements">Verify Apache Requirements</h2> 
 <p>Ensure that the high-level directory contains valid version of:</p> 
 <ul> 
  <li><b><tt>DISCLAIMER.txt</tt></b></li> 
  <li><b><tt>LICENSE.txt</tt></b></li> 
  <li><b><tt>NOTICE.txt</tt></b></li> 
  <li><b><tt>RAT_README.txt</tt></b></li> 
  <li><b><tt>README.txt</tt></b></li> 
 </ul> 
 <p>Next, run <b><tt>rat</tt></b> to make sure all files have Apache copyrights.</p> 
 <h1 id="complete_release">Complete Release</h1> 
 <p>To be completed.</p> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About</li>
						<li >
							<a href="index.html" title="Project Overview">Project Overview</a>
						</li>
						<li >
							<a href="new-features.html" title="New Features">New Features</a>
						</li>
						<li >
							<a href="roadmap.html" title="Roadmap">Roadmap</a>
						</li>
						<li >
							<a href="performance.html" title="Performance">Performance</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-list.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing List">Mailing List</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Using</li>
						<li >
							<a href="quickstart.html" title="Quick Start">Quick Start</a>
						</li>
						<li >
							<a href="download.html" title="Download">Download</a>
						</li>
						<li >
							<a href="install.html" title="Install">Install</a>
						</li>
						<li >
							<a href="uninstall.html" title="Uninstall">Uninstall</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="documentation.html" title="Documentation">Documentation</a>
						</li>
						<li >
							<a href="port-assignment.html" title="Port Assignments">Port Assignments</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="docs/odb_user/index.html" title="ODB">ODB</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Contributing</li>
						<li >
							<a href="contribute.html" title="Contribute">Contribute</a>
						</li>
						<li >
							<a href="advocate.html" title="Advocate">Advocate</a>
						</li>
						<li >
							<a href="develop.html" title="Develop">Develop</a>
						</li>
						<li >
							<a href="testing.html" title="Test">Test</a>
						</li>
						<li >
							<a href="merge.html" title="Merge">Merge</a>
						</li>
						<li class="active">
							<a href="#" title="Release">Release</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="create-dev-environment.html" title="Create Dev Environment">Create Dev Environment</a>
						</li>
						<li >
							<a href="manage-dev-environment.html" title="Manage Dev Environment">Manage Dev Environment</a>
						</li>
						<li >
							<a href="setup-build-environment.html" title="Setup Build Environment">Setup Build Environment</a>
						</li>
						<li >
							<a href="build.html" title="Build Trafodion">Build Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="code.html" title="Modify Code">Modify Code</a>
						</li>
						<li >
							<a href="tests.html" title="Modify Tests">Modify Tests</a>
						</li>
						<li >
							<a href="document.html" title="Modify Documentation">Modify Documentation</a>
						</li>
						<li >
							<a href="website.html" title="Modify Web Site">Modify Web Site</a>
						</li>
						<li >
							<a href="wiki.html" title="Modify Wiki Pages">Modify Wiki Pages</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="cplusplus-coding-guidelines.html" title="C++ Coding Guidelines">C++ Coding Guidelines</a>
						</li>
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015-2016 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 
        Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making 
        process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the 
        completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</span>
  <br/>
  <br/>
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo 
        are trademarks of The Apache Software Foundation.</span>
  <br/>
  <br/>
  <span>
    <a target="_blank" href="http://www.apache.org">
      <img id="asf-logo" alt="Apache Software Foundation" src="images/logos/feather-small.gif"/>
    </a>
    <a target="_blank" href="http://incubator.apache.org/">
      <img id="incubator-logo" alt="Apache Incubator" src="images/logos/egg-logo.gif"/>
    </a>
  </span>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
