Repository: incubator-pirk Updated Branches: refs/heads/gh-pages dad5af45e -> f00fda031
http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/_site/verifying_releases.html ---------------------------------------------------------------------- diff --git a/_site/verifying_releases.html b/_site/verifying_releases.html new file mode 100644 index 0000000..19756be --- /dev/null +++ b/_site/verifying_releases.html @@ -0,0 +1,243 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +--> +<meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<link href="/css/bootstrap.min.css" rel="stylesheet"> +<link href="/css/bootstrap-theme.min.css" rel="stylesheet"> +<link href="/css/dataTables.bootstrap.css" rel="stylesheet"> +<link href="/css/pirk.css" rel="stylesheet" type="text/css"> +<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> + +<title>Verifying a Release</title> + +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> +<script src="/js/bootstrap.min.js"></script> +<script src="/js/jquery.dataTables.min.js"></script> +<script src="/js/dataTables.bootstrap.js"></script> +<script> + // show location of canonical site if not currently on the canonical site + $(function() { + var host = window.location.host; + if (typeof host !== 'undefined' && host !== 'pirk.incubator.apache.org') { + $('#non-canonical').show(); + } + }); + + + // decorate menu with currently navigated page + $(function() { + $("#nav_verify_release").addClass("active"); + }); + + + $(function() { + // decorate section headers with anchors + return $("h2, h3, h4, h5, h6").each(function(i, el) { + var $el, icon, id; + $el = $(el); + id = $el.attr('id'); + icon = '<i class="fa fa-link"></i>'; + if (id) { + return $el.append($("<a />").addClass("header-link").attr("href", "#" + id).html(icon)); + } + }); + }); + + // configure Google Analytics + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + if (ga.hasOwnProperty('loaded') && ga.loaded === true) { + ga('create', 'UA-50934829-1', 'apache.org'); + ga('send', 'pageview'); + } +</script> +</head> +<body style="padding-top: 100px"> + + <nav class="navbar navbar-default navbar-fixed-top"> + <div class="container-fluid"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-items"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a href="/"><img id="nav-logo" alt="Apache Pirk" class="img-responsive" src="/images/pirkImage.png" width="150"/></a> + </div> + <div class="collapse navbar-collapse" id="navbar-items"> + <ul class="nav navbar-nav"> + <li class="nav-link"><a href="/downloads">Download</a></li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_users"><a href="/for_users">For Users</a></li> + <li id="nav_developers"><a href="/for_developers">For Developers</a></li> + <li id="nav_papers"><a href="/papers">Papers</a></li> + <li class="nav_faq"><a href="/faq">FAQ</a></li> + <li class="divider"></li> + <li><a href="/javadocs">Javadocs</a></li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Community<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_getinvolvedpirk"><a href="/get_involved_pirk">Get Involved</a></li> + <li id="nav_listspirk"><a href="/mailing_list_pirk">Mailing Lists</a></li> + <li id="nav_peoplepirk"><a href="/people_pirk">People</a></li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Development<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_releasing"><a href="/how_to_contribute">How to Contribute</a></li> + <li id="nav_releasing"><a href="/releasing">Making Releases</a></li> + <li id="nav_nav_verify_release"><a href="/verifying_releases">Verifying Releases</a></li> + <li id="nav_update_website"><a href="/website_updates">Website Updates</a></li> + <hr> + <li><a href="https://issues.apache.org/jira/browse/PIRK ">Issue Tracker/JIRA <i class="fa fa-external-link"></i></a></li> + <li><a href="https://builds.apache.org/job/pirk/">Jenkins Builds <i class="fa fa-external-link"></i></a></li> + <li><a href="https://travis-ci.org/apache/incubator-pirk">Travis CI Builds <i class="fa fa-external-link"></i></a></li> + <li><a href="https://github.com/apache/incubator-pirk"> Pirk Github Mirror <i class="fa fa-external-link"></i></a></li> + </ul> + </li> + <li class="nav-link"><a href="/roadmap">Roadmap</a></li> + <ul class="nav navbar-nav navbar-right"> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li><a href="https://www.apache.org">Apache Homepage <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/licenses/LICENSE-2.0">License <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/sponsorship">Sponsorship <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/security">Security <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/thanks">Thanks <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <i class="fa fa-external-link"></i></a></li> + </ul> + </li> + </ul> + </ul> + </div> + </div> +</nav> + + + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div id="content"> + + <h1 class="title">Verifying a Release</h1> + + <p>This guide for the verification of a release candidate is meant to encapsulate +the requirements of the PMC set forth by the ASF.</p> + +<p>Verification of a release candidate can be broken down into three categories.</p> + +<h2 id="pirk-correctness">Pirk Correctness</h2> + +<p>Pirk contains unit and integration tests which can be automatically run via Maven. These tests can be invoked by issues the following commands:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn verify +</code></pre> +</div> + +<p>Additionally, Pirk contains multiple distributed tests which must be run and must pass on a live cluster:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>hadoop jar <pirkJar> test.distributed.DistributedTestDriver -j <full path to pirkJar> +</code></pre> +</div> + +<h2 id="foundation-level-requirements">Foundation Level Requirements</h2> + +<p>The ASF requires that all artifacts in a release are cryptographically signed and distributed with hashes.</p> + +<p>OpenPGP is an asymmetric encryption scheme which lends itself well to the globally distributed nature of Apache. +Verification of a release artifact can be done using the signature and the release-makerâs public key. Hashes +can be verified using the appropriate command (e.g. <code class="highlighter-rouge">sha1sum</code>, <code class="highlighter-rouge">md5sum</code>).</p> + +<p>An Apache release must contain a source-only artifact. This is the official release artifact. While a release of +an Apache project can contain other artifacts that do contain binary files. These non-source artifacts are for +user convenience only, but still must adhere to the same licensing rules.</p> + +<p>PMC members should take steps to verify that the source-only artifact does not contain any binary files. There is +some leeway in this rule. For example, test-only binary artifacts (such as test files or jars) are acceptable as long +as they are only used for testing the software and not running it.</p> + +<p>The following are the aforementioned Foundation-level documents provided for reference:</p> + +<ul> + <li><a href="https://www.apache.org/dev/apply-license">Applying the Apache Software License</a></li> + <li><a href="https://www.apache.org/legal/src-headers">Legalâs license application guidelines</a></li> + <li><a href="https://www.apache.org/legal/resolved">Common legal-discuss mailing list questions/resolutions</a></li> + <li><a href="https://www.apache.org/legal">ASF Legal Affairs Page</a></li> +</ul> + +<h2 id="apache-software-license-application">Apache Software License Application</h2> + +<p>Application of the Apache Software License v2 consists of the following steps on each artifact in a release. Itâs +important to remember that for artifacts that contain other artifacts (e.g. a tarball that contains JAR files or +an RPM which contains JAR files), both the tarball, RPM and JAR files are subject to the following roles.</p> + +<p>The difficulty in verifying each artifact is that, often times, each artifact requires a different LICENSE and NOTICE +file.</p> + +<h3 id="license-file">LICENSE file</h3> + +<p>The LICENSE file should be present at the top-level of the artifact. This file should be explicitly named <code class="highlighter-rouge">LICENSE</code>, +however <code class="highlighter-rouge">LICENSE.txt</code> is acceptable but not preferred. This file contains the text of the Apache Software License +at the top of the file. At the bottom of the file, all other open source licenses <em>contained in the given +artifact</em> must be listed at the bottom of the LICENSE file. Contained components that are licensed with the ASL themselves +do not need to be included in this file. It is common to see inclusions in file such as the MIT License of 3-clause +BSD License.</p> + +<h3 id="notice-file">NOTICE file</h3> + +<p>The NOTICE file should be present at the top-level of the artifact beside the LICENSE file. This file should be explicitly +name <code class="highlighter-rouge">NOTICE</code>, while <code class="highlighter-rouge">NOTICE.txt</code> is also acceptable but not preferred. This file contains the copyright notice for +the artifact being released. As a reminder, the copyright is held by the Apache Software Foundation, not the individual +project.</p> + +<p>The second purpose this file serves is to distribute third-party notices from dependent software. Specifically, other code +which is licensed with the ASLv2 may also contain a NOTICE file. If such an artifact which contains a NOTICE file is +contained in artifact being verified for releases, the contents of the contained artifactâs NOTICE file should be appended +to this artifactâs NOTICE file.</p> + + + </div> + + +<footer> + + <p><a href="https://www.apache.org"><img src="/images/feather-small.gif" alt="Apache Software Foundation" id="asf-logo" height="100" /></a></p> + + <p>Copyright © 2016-2016 The Apache Software Foundation. Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> + +</footer> + + + </div> + </div> + </div> +</body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/_site/website_updates.html ---------------------------------------------------------------------- diff --git a/_site/website_updates.html b/_site/website_updates.html new file mode 100644 index 0000000..75cc447 --- /dev/null +++ b/_site/website_updates.html @@ -0,0 +1,219 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +--> +<meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<link href="/css/bootstrap.min.css" rel="stylesheet"> +<link href="/css/bootstrap-theme.min.css" rel="stylesheet"> +<link href="/css/dataTables.bootstrap.css" rel="stylesheet"> +<link href="/css/pirk.css" rel="stylesheet" type="text/css"> +<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> + +<title>Updating the Website</title> + +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> +<script src="/js/bootstrap.min.js"></script> +<script src="/js/jquery.dataTables.min.js"></script> +<script src="/js/dataTables.bootstrap.js"></script> +<script> + // show location of canonical site if not currently on the canonical site + $(function() { + var host = window.location.host; + if (typeof host !== 'undefined' && host !== 'pirk.incubator.apache.org') { + $('#non-canonical').show(); + } + }); + + + // decorate menu with currently navigated page + $(function() { + $("#nav_website_updates").addClass("active"); + }); + + + $(function() { + // decorate section headers with anchors + return $("h2, h3, h4, h5, h6").each(function(i, el) { + var $el, icon, id; + $el = $(el); + id = $el.attr('id'); + icon = '<i class="fa fa-link"></i>'; + if (id) { + return $el.append($("<a />").addClass("header-link").attr("href", "#" + id).html(icon)); + } + }); + }); + + // configure Google Analytics + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + if (ga.hasOwnProperty('loaded') && ga.loaded === true) { + ga('create', 'UA-50934829-1', 'apache.org'); + ga('send', 'pageview'); + } +</script> +</head> +<body style="padding-top: 100px"> + + <nav class="navbar navbar-default navbar-fixed-top"> + <div class="container-fluid"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-items"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a href="/"><img id="nav-logo" alt="Apache Pirk" class="img-responsive" src="/images/pirkImage.png" width="150"/></a> + </div> + <div class="collapse navbar-collapse" id="navbar-items"> + <ul class="nav navbar-nav"> + <li class="nav-link"><a href="/downloads">Download</a></li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_users"><a href="/for_users">For Users</a></li> + <li id="nav_developers"><a href="/for_developers">For Developers</a></li> + <li id="nav_papers"><a href="/papers">Papers</a></li> + <li class="nav_faq"><a href="/faq">FAQ</a></li> + <li class="divider"></li> + <li><a href="/javadocs">Javadocs</a></li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Community<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_getinvolvedpirk"><a href="/get_involved_pirk">Get Involved</a></li> + <li id="nav_listspirk"><a href="/mailing_list_pirk">Mailing Lists</a></li> + <li id="nav_peoplepirk"><a href="/people_pirk">People</a></li> + </ul> + </li> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Development<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li id="nav_releasing"><a href="/how_to_contribute">How to Contribute</a></li> + <li id="nav_releasing"><a href="/releasing">Making Releases</a></li> + <li id="nav_nav_verify_release"><a href="/verifying_releases">Verifying Releases</a></li> + <li id="nav_update_website"><a href="/website_updates">Website Updates</a></li> + <hr> + <li><a href="https://issues.apache.org/jira/browse/PIRK ">Issue Tracker/JIRA <i class="fa fa-external-link"></i></a></li> + <li><a href="https://builds.apache.org/job/pirk/">Jenkins Builds <i class="fa fa-external-link"></i></a></li> + <li><a href="https://travis-ci.org/apache/incubator-pirk">Travis CI Builds <i class="fa fa-external-link"></i></a></li> + <li><a href="https://github.com/apache/incubator-pirk"> Pirk Github Mirror <i class="fa fa-external-link"></i></a></li> + </ul> + </li> + <li class="nav-link"><a href="/roadmap">Roadmap</a></li> + <ul class="nav navbar-nav navbar-right"> + <li class="dropdown"> + <a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation<span class="caret"></span></a> + <ul class="dropdown-menu"> + <li><a href="https://www.apache.org">Apache Homepage <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/licenses/LICENSE-2.0">License <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/sponsorship">Sponsorship <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/security">Security <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/thanks">Thanks <i class="fa fa-external-link"></i></a></li> + <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <i class="fa fa-external-link"></i></a></li> + </ul> + </li> + </ul> + </ul> + </div> + </div> +</nav> + + + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div id="content"> + + <h1 class="title">Updating the Website</h1> + + <p>Pirkâs web site is developed using <a href="https://jekyllrb.com">Jekyll</a>. The Jekyll source is contained in the <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-pirk.git;a=tree;h=gh-pages">gh-pages</a> branch and the <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-pirk.git;a=tree;h=asf-site">asf-site</a> branch contains the HTML content.</p> + +<p>Website development is +performed by editing the contents of the <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-pirk.git;a=tree;h=gh-pages">gh-pages</a> branch, either +directly by a committer, with a pull request to <a href="https://github.com/apache/incubator-pirk">GitHub</a>, or a patch +submitted to <a href="https://issues.apache.org/jira/browse/PIRK">JIRA</a>. The rendered site can be previewed locally or on +<a href="https://apache.github.io/incubator-pirk/">GitHub</a>, and the rendered site (in the <code class="highlighter-rouge">_site</code> directory) will be +merged into the <code class="highlighter-rouge">asf-site</code> branch to update the <a href="http://pirk.incubator.apache.org/">official site</a> after being built with the <code class="highlighter-rouge">_config-asf.yml</code> configuration.</p> + +<p>To manage any Gem dependencies, it is highly recommended to use <a href="https://bundler.io">Bundler</a>. +To start using Bundler, install it and then install the dependencies for the website:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>gem install bundler +bundle install +</code></pre> +</div> + +<p>To get help with jekyll:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>jekyll help +</code></pre> +</div> + +<p>To test the site locally (usually on http://localhost:4000):</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>bundle exec jekyll serve --config _config-asf.yml --safe +</code></pre> +</div> + +<p>To build for updating the <code class="highlighter-rouge">asf-site</code> branch:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>bundle exec jekyll build --config _config-asf.yml --safe +</code></pre> +</div> + +<p>A <a href="https://git-wip-us.apache.org/repos/asf?p=accumulo.git;a=blob_plain;f=_devtools/git-hooks/post-commit;hb=gh-pages">post-commit hook</a> is available (Thanks <a href="https://accumulo.apache.org/">Apache Accumulo!</a>) for you to automatically create a +commit in the <code class="highlighter-rouge">asf-site</code> branch locally each time you commit to the <code class="highlighter-rouge">gh-pages</code> +branch. You can also run this command manually:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>./_devtools/git-hooks/post-commit +</code></pre> +</div> + +<p>To automatically run this post-commit hook in your local repository, copy +the given file into your <code class="highlighter-rouge">.git/hook</code> directory:</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>cp ./_devtools/git-hooks/post-commit .git/hooks/ +</code></pre> +</div> + + + </div> + + +<footer> + + <p><a href="https://www.apache.org"><img src="/images/feather-small.gif" alt="Apache Software Foundation" id="asf-logo" height="100" /></a></p> + + <p>Copyright © 2016-2016 The Apache Software Foundation. Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> + +</footer> + + + </div> + </div> + </div> +</body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/for_developers.md ---------------------------------------------------------------------- diff --git a/for_developers.md b/for_developers.md index d6fc438..db7f08f 100644 --- a/for_developers.md +++ b/for_developers.md @@ -19,6 +19,7 @@ nav: nav_developers 8. [Debugging](#debugging) 9. [Paillier Benchmarking](#paillier-benchmarking) 10. [Release Process](#release-process) +11. [How To Contribute](#how-to-contribute) ## General Info @@ -77,7 +78,9 @@ Pirk may be built with a specific pom file via âmvn package -f <specificPom.xm ## Continuous Integration -Pirk uses [Jenkins](https://builds.apache.org/) for continuous integration. The build history is available [here]. +Pirk uses [Jenkins](https://builds.apache.org/) for continuous integration. The build history is available [here](https://builds.apache.org/job/pirk/). + +Pirk also uses [Travis CI](https://travis-ci.org/) for continuous integration for Github Pull Requests; you can find the build history [here](https://travis-ci.org/apache/incubator-pirk). ## Testing @@ -119,3 +122,7 @@ FYI - Right now this spits out a lot of logging errors as the logger fails to wo ## Release Process Please see [Making Releases]({{ site.baseurl }}/making_releases) and [Verifying Releases]({{ site.baseurl }}/verifying_releases). + +## How to Contribute + +Please see the [How to Contribute]({{ site.baseurl }}/how_to_contribute) page. http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/how_to_contribute.md ---------------------------------------------------------------------- diff --git a/how_to_contribute.md b/how_to_contribute.md new file mode 100644 index 0000000..c82a606 --- /dev/null +++ b/how_to_contribute.md @@ -0,0 +1,138 @@ +--- +title: How to Contribute +nav: nav_contribute +--- + +1. [Contribution Philosophy](#contribution-philosophy) +2. [General Process](#general-process) +3. [GitHub Pull Requests](#github-pull-requests) + * [Git Setup](#git-setup) + * [Creating a Pull Request](#creating-a-pull-request) + * [Merging a Pull Request](#merging-a-pull-request) + * [Closing a Pull Request Without Committing](#closing-a-pull-request-without-committing) + * [Apache and GitHub Integration](#apache-and-github-integration) + +## Contribution Philosophy + +We welcome contributors of all kinds within the Apache Pirk community! + +A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions. We also highly encourage the involvement of algorithmic team members who provide/discuss algorithmic ideas via the [dev mailing list]({{ site.baseurl }}/mailing_list_pirk) and who may or may not participate in their implementation. + +If you have algorithmic ideas or would like to discuss a potential implementation item, please reach out to the community via [[email protected]](mailto:[email protected]) - we would love to hear from you! + +## General Process + +The general process for code contribution is as follows: + +1. Create a [Pirk JIRA issue](https://issues.apache.org/jira/browse/PIRK) +2. Fork the [Pirk source code](https://github.com/apache/incubator-pirk) from your personal GitHub repository and clone locally +3. Modify the source code to add your awesome features; you will most likely be modifying the apache/incubator-pirk master branch (unless you are [modifying the Pirk website]({{ site.baseurl }}/website_updates)) +4. Ensure that all unit and functional tests pass +5. Ensure that your code follows the [Pirk code standards]({{ site.baseurl }}/for_developers#coding-standards) +6. Commit the changes to your local repository +7. Push the code back up to your GitHub fork of apache/incubator-pirk +8. [Create a Pull Request](#github-pull-requests) to the to [apache/incubator-pirk](https://github.com/apache/incubator-pirk) repository on GitHub. Please include the corresponding JIRA issue number and description in the title of the pull request: PIRK-XXXX: < JIRA-Issue-Description > +9. Members of the Pirk community can then comment on the pull request; be sure to watch for comments, respond, and make any necessary changes. +10. A Pirk committer will merge the pull request + + +## GitHub Pull Requests + +All changes to the Apache Pirk codebase should go through a [GitHub pull request](https://help.github.com/articles/using-pull-requests/). + +(Thanks to [Apache Mahout](http://mahout.apache.org/) for sharing [their great pull request overview](http://mahout.apache.org/developers/github.html) with us!) + +### Git Setup + +Fork [apache/incubator-pirk](https://github.com/apache/incubator-pirk) to your personal GitHub repository. Clone this fork locally to set up "origin" to point to your remote fork on GitHub as the default remote (for the sake of this explanation); if you perform + + git push origin master + +it will go to your GitHub fork of apache/incubator-pirk. Please make sure that you follow branch naming conventions that will integrate with Apache Pirk JIRA issue numbers. For the issue number XXXX, please name branch containing the corresponding work PIRK-XXXX (all caps): + + git checkout -b PIRK-XXXX + #do some work on the branch + git commit -a -m "did some work" + git push origin PIRK-XXXX #pushing to your fork of apache/incubator-pirk + +Clone the Apache Pirk git repo via + + git clone -o apache https://git-wip-us.apache.org/repos/asf/incubator-pirk.git + +or attach via the following: + + git remote add apache https://git-wip-us.apache.org/repos/asf/incubator-pirk.git + +Once you are ready to commit to the apache remote, you can create a pull request. + +### Creating a Pull Request + +Pull requests are made to the [apache/incubator-pirk](https://github.com/apache/incubator-pirk) repository on GitHub; please check out GitHub's info on [how to create a pull request](https://help.github.com/articles/creating-a-pull-request/). + +First, push your work from your local PIRK-XXXX branch to the remote PIRK-XXXX branch of your apache/incubator-pirk GitHub fork: + + git checkout PIRK-XXXX + git push origin PIRK-XXXX + +Go to your PIRK-XXXX branch on GitHub. Since you forked it from GitHub's [apache/incubator-pirk](https://github.com/apache/incubator-pirk), it will default any pull request to go to the master branch of apache/incubator-pirk. + +Click the "Compare, review, and create pull request" button. + +You can edit the "to" and "from" for the pull request if it isn't correct. The "base fork" should be apache/incubator-pirk. The "base" will be master unless your are [updating the website]({{ site.baseurl }}/website_updates). The "head fork" will be your forked repo and the "compare" will be your PIRK-XXXX branch. + +Click the "Create pull request" button and name the request "PIRK-XXXX", all caps. This will connect the comments of the pull request to the mailing list and JIRA comments. + +From now on, the pull request lives in GitHub's [apache/incubator-pirk](https://github.com/apache/incubator-pirk); use the commenting UI there. The pull request is tied to the corresponding branch in your forked repo, so you can respond to comments, make fixes, and commit them from there; they will appear on the pull request page and be mirrored to JIRA and the mailing list. + +All pull requests to [apache/incubator-pirk](https://github.com/apache/incubator-pirk) are built through [Pirk's Travis CI integration](https://travis-ci.org/apache/incubator-pirk). + + +### Merging a Pull Request + +Check out the GitHub info on [how to merge a pull request](https://help.github.com/articles/merging-a-pull-request/#merging-locally). + +Pull requests are equivalent to a remote GitHub branch with (potentially) a multitude of commits. Please squash the remote commit history to have one commit per issue, rather than merging in all of the contributor's commits: + + git pull --squash <repo> <branch> + +Merging pull requests are equivalent to a "pull" of a contributor's branch; to merge the pull request branch PIRK-XXXX: + + git checkout master # switch to local master branch + git pull apache master # fast-forward to current remote HEAD + git pull --squash <contributor's GitHub repo> PIRK-XXXX # merge to master + +You now can commit the request: + + git commit --author <contributor_email> -a -m "PIRK-XXXX <description> - closes apache/incubator-pirk#ZZ" + +PIRK-XXXX is in all caps and ZZ is the pull request number on apache/incubator-pirk. Including "closes apache/incubator-pirk#ZZ" will close the [pull request automatically](https://help.github.com/articles/closing-issues-via-commit-messages/). + +Next, push to the apache master branch: + + push apache master + +(this will require Apache handle credentials). + +The pull request, once pushed, will get mirrored to apache/incubator-pirk on GitHub. + +### Closing a Pull Request Without Committing + +To reject pull request ZZ (close without committing), issue an empty commit on master's HEAD without merging the pull request: + + git commit --allow-empty -m "closes apache/incubator-pirk#ZZ" + git push apache master + + +### Apache and GitHub Integration + +Check out Apache INFRA's blog post on [Apache-GitHub integration](https://blogs.apache.org/infra/entry/improved_integration_between_apache_and). + +Comments and pull requests with Pirk issue handles of the form + + PIRK-XXXX + +should post to the mailing lists and JIRA. Please file a JIRA issue first, and then create a pull request with the description + + PIRK-XXXX: <jira-issue-description> + +so that all subsequent comments will be automatically copied to JIRA. http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/index.md ---------------------------------------------------------------------- diff --git a/index.md b/index.md index 27f01bc..ecd141d 100755 --- a/index.md +++ b/index.md @@ -67,7 +67,7 @@ Pirk employs generic [data and query schemas]({{ site.baseurl }}/for_users#data- The Pirk framework is centered around the Querier and Responder; key supporting elements include generic query and data schemas, encryption/decryption, query/response, and in-memory and distributed testing components. -Pirk is seeded with the Wideskies PIR algorithm which employs [Paillier homomorphic encryption]({{ site.baseurl }}/papers/1999_asiacrypt_paillier_paper.pdf); the Wideskies white paper can be found [here]({{ site.baseurl }}/papers/wideskies_paper.pdf). +Pirk is seeded with the Wideskies PIR algorithm which employs [Paillier homomorphic encryption]({{ site.baseurl }}/papers/1999_asiacrypt_paillier_paper.pdf); the Wideskies white paper can be found [here]({{ site.baseurl }}/papers/wideskies_paper.pdf). More information regarding the origin of Apache Pirk can be found [here]({{ site.baseurl }}/pirk_origin). ## Getting Started http://git-wip-us.apache.org/repos/asf/incubator-pirk/blob/f00fda03/pirk_origin.md ---------------------------------------------------------------------- diff --git a/pirk_origin.md b/pirk_origin.md new file mode 100644 index 0000000..6b40c42 --- /dev/null +++ b/pirk_origin.md @@ -0,0 +1,7 @@ +--- +title: Origin of Apache Pirk +nav: nav_pirk_origin +--- + +The initial scalable PIR algorithms and implementations of Pirk were developed at the [National Security Agency](https://www.nsa.gov/) and contributed to Apache via a Software Grant Agreement. Please check out the [Apache Pirk Proposal](https://wiki.apache.org/incubator/PirkProposal). +
