hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-13887) Document 0.98 release build differences
Date Thu, 11 Jun 2015 05:42:01 GMT

     [ https://issues.apache.org/jira/browse/HBASE-13887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrew Purtell updated HBASE-13887:
-----------------------------------
    Description: 
The build instructions in the online manual do not describe the extra steps we need to take
to build 0.98. Add a section on this.

A quick enumeration of the differences:

1. Source assemblies will be missing the hbase-hadoop1-compat module. This should be fixed
in the POM somehow. What I do now is untar the src tarball, cp -a the module over, then tar
up the result. (It's a hack in a release script.)

2. We must munge POMs for building hadoop1 and hadoop2 variants and then execute two builds
pointing Maven at each munged POM. The generate-hadoop-X-poms script requires bash
{noformat}
$ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop1
$ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop2
{noformat}
Build Hadoop 1
{noformat}
  $ mvn -f pom.xml.hadoop1 clean install -DskipTests -Prelease && \
      mvn -f pom.xml.hadoop1 install -DskipTests site assembly:single \
        -Prelease && \
      mvn -f pom.xml.hadoop1 deploy -DskipTests -Papache-release
  $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
{noformat}
Build Hadoop 2
{noformat}
  $ mvn -f pom.xml.hadoop2 clean install -DskipTests -Prelease && \
      mvn -f pom.xml.hadoop2 install -DskipTests site assembly:single \
        -Prelease && \
      mvn -f pom.xml.hadoop2 deploy -DskipTests -Papache-release
  $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
{noformat}

3. Current HEAD of 0.98 branch enforces a requirement that the release be built with a JDK
no more recent than the compile language level. For 0.98, that is 1.6, therefore the ancient
6u45 JDK. This JDK suffers from [JDK-6521495|http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495]
so the following workaround is required in order to deploy artifacts to Apache's Nexus:
3.a. Download https://www.bouncycastle.org/download/bcprov-jdk15on-152.jar and https://www.bouncycastle.org/download/bcprov-ext-jdk15on-152.jar
into $JAVA_HOME/lib/ext.
3.b. Edit $JAVA_HOME/lib/security/java.security and add the BouncyCastle provider as the first
provider: 
{noformat}
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
{noformat}



  was:
The build instructions in the online manual do not describe the extra steps we need to take
to build 0.98. Add a section on this.

A quick enumeration of the differences:

1. Source assemblies will be missing the hbase-hadoop1-compat module. This should be fixed
in the POM somehow. What I do now is untar the src tarball, cp -a the module over, then tar
up the result. (It's a hack in a release script.)

2. We must munge POMs for building hadoop1 and hadoop2 variants and then execute two builds
pointing Maven at each munged POM. 

3. Current HEAD of 0.98 branch enforces a requirement that the release be built with a JDK
no more recent than the compile language level. For 0.98, that is 1.6, therefore the ancient
6u45 JDK. This JDK suffers from [JDK-6521495|http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495]
so the following workaround is required in order to deploy artifacts to Apache's Nexus:
3.a. Download https://www.bouncycastle.org/download/bcprov-jdk15on-152.jar and https://www.bouncycastle.org/download/bcprov-ext-jdk15on-152.jar
into $JAVA_HOME/lib/ext.
3.b. Edit $JAVA_HOME/lib/security/java.security and add the BouncyCastle provider as the first
provider: 
{noformat}
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
{noformat}




> Document 0.98 release build differences
> ---------------------------------------
>
>                 Key: HBASE-13887
>                 URL: https://issues.apache.org/jira/browse/HBASE-13887
>             Project: HBase
>          Issue Type: Bug
>          Components: documentation, site
>            Reporter: Andrew Purtell
>             Fix For: 2.0.0
>
>
> The build instructions in the online manual do not describe the extra steps we need to
take to build 0.98. Add a section on this.
> A quick enumeration of the differences:
> 1. Source assemblies will be missing the hbase-hadoop1-compat module. This should be
fixed in the POM somehow. What I do now is untar the src tarball, cp -a the module over, then
tar up the result. (It's a hack in a release script.)
> 2. We must munge POMs for building hadoop1 and hadoop2 variants and then execute two
builds pointing Maven at each munged POM. The generate-hadoop-X-poms script requires bash
> {noformat}
> $ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop1
> $ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop2
> {noformat}
> Build Hadoop 1
> {noformat}
>   $ mvn -f pom.xml.hadoop1 clean install -DskipTests -Prelease && \
>       mvn -f pom.xml.hadoop1 install -DskipTests site assembly:single \
>         -Prelease && \
>       mvn -f pom.xml.hadoop1 deploy -DskipTests -Papache-release
>   $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
> {noformat}
> Build Hadoop 2
> {noformat}
>   $ mvn -f pom.xml.hadoop2 clean install -DskipTests -Prelease && \
>       mvn -f pom.xml.hadoop2 install -DskipTests site assembly:single \
>         -Prelease && \
>       mvn -f pom.xml.hadoop2 deploy -DskipTests -Papache-release
>   $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
> {noformat}
> 3. Current HEAD of 0.98 branch enforces a requirement that the release be built with
a JDK no more recent than the compile language level. For 0.98, that is 1.6, therefore the
ancient 6u45 JDK. This JDK suffers from [JDK-6521495|http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495]
so the following workaround is required in order to deploy artifacts to Apache's Nexus:
> 3.a. Download https://www.bouncycastle.org/download/bcprov-jdk15on-152.jar and https://www.bouncycastle.org/download/bcprov-ext-jdk15on-152.jar
into $JAVA_HOME/lib/ext.
> 3.b. Edit $JAVA_HOME/lib/security/java.security and add the BouncyCastle provider as
the first provider: 
> {noformat}
> security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message