You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Ruilong Huo <hu...@apache.org> on 2017/05/02 14:11:38 UTC

Generating contents for LICENSE, NOTICE for hawq incubating binary release

Hi All,

We passed Apache HAWQ 2.2.0.0-incubating binary release PMC vote but failed
with IPMC vote
<https://lists.apache.org/thread.html/47b2924c098b36dbef3bd1110eef8654a2696be85898c6057213612d@%3Cdev.hawq.apache.org%3E>.
The major reason is that the binary rpm package is lack of LICENSE, NOTICE
files.

Please review below steps to generate contents for LICENSE and NOTICE and
let us know if it is the correct way or is there better ways to do that.
Thanks.

Step 1. Download apache hawq 2.2.0.0 incubating binary tarball:
https://dist.apache.org/repos/dist/dev/incubator/hawq/2.2.0.0-incubating.RC2/apache-hawq-rpm-2.2.0.0-incubating.tar.gz

Step 2. Extract the rpm package for components from the tarball, which
basically contains hawq core (written by c/c++/java), pxf and ranger
(written by java)

*[gpadmin@localhost Downloads]$ ls -alt hawq_rpm_packages*

*-rw-r--r--. 1 gpadmin gpadmin 84083656 Apr 10 10:41
apache-hawq-2.2.0.0-el7.x86_64.rpm*
*-rw-r--r--. 1 gpadmin gpadmin  8892442 Apr 10 10:41
apache-tomcat-7.0.62-el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin 55353540 Apr 10 10:41
hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin     5668 Apr 10 10:41
pxf-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin    27034 Apr 10 10:41
pxf-hbase-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin    51142 Apr 10 10:41
pxf-hdfs-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin    68824 Apr 10 10:41
pxf-hive-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin    24724 Apr 10 10:41
pxf-jdbc-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin    18675 Apr 10 10:41
pxf-json-3.2.1.0-1.el6.noarch.rpm*
*-rw-r--r--. 1 gpadmin gpadmin   227890 Apr 10 10:41
pxf-service-3.2.1.0-1.el6.noarch.rpm*

Step 3. For the LICENSE of hawq core, pxf, and ranger binary, we add below
contents based on the LICENSE in hawq core source tarball
<https://dist.apache.org/repos/dist/dev/incubator/hawq/2.2.0.0-incubating.RC2/apache-hawq-src-2.2.0.0-incubating.tar.gz>
.

1) get the contents by extracting them from rpm. For example,
rpm2cpio hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch.rpm | cpio -div

*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/lib/postgresql-9.1-901-1.jdbc4.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/lib/ranger-plugin-admin-2.2.0.0.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/activation-1.1.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/apacheds-i18n-2.0.0-M15.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/apacheds-kerberos-codec-2.0.0-M15.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/api-asn1-api-1.0.0-M20.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/api-util-1.0.0-M20.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/asm-3.1.jar*
*./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/avro-1.7.4.jar*
*......*

2) check which license does each of the library jar use and add them to the
LICENSE file for binary release.

Is there any tools can that show which license does each of the jar file
use or we can only do that by searching on the internet? Thanks.

Re: Generating contents for LICENSE, NOTICE for hawq incubating binary release

Posted by Ruilong Huo <rh...@pivotal.io>.
Thanks John for the feedback!

It is reasonable that the LICENSE and NOTICE files for src and binary
tarball should be in separate locations.

Yes, our release with rpm package has the same contents as binary tarball.​

Re: Generating contents for LICENSE, NOTICE for hawq incubating binary release

Posted by "John D. Ament" <jo...@apache.org>.
Hi,

I'll be honest, the email is a bit hard to follow so apologies if I'm
missing a few things when responding.

- Your source and binary artifacts will implicitly have different
LICENSE/NOTICE contents.  Your source distribution should likely contain a
copy of your binary LICENSE and NOTICE, but in different base locations, so
that you can generate the proper binary release.
- Is your RPM distribution any different than the regular binary
distribution? Not many ASF projects directly distribute RPMs, but assuming
the contents are the same, you should be able to use the exact file in both
RPM and BIN distributions.
- Your binary LICENSE/NOTICE must include everything that is included
within that release.  LIkewise, your RPM must include information about all
dependencies within it (but not anything transitive, since those are
installed separately).  So if you're not providing pxf, but dependent on
it, then I wouldn't include it.  But if you are packaging ranger I would
include that.

As far as tooling goes, you could look at the maven license plugin (
http://www.mojohaus.org/license-maven-plugin/ ) as well as the maven shade
plugin to generate a combined NOTICE.

John

On Tue, May 2, 2017 at 10:11 AM Ruilong Huo <hu...@apache.org> wrote:

> Hi All,
>
> We passed Apache HAWQ 2.2.0.0-incubating binary release PMC vote but failed
> with IPMC vote
> <
> https://lists.apache.org/thread.html/47b2924c098b36dbef3bd1110eef8654a2696be85898c6057213612d@%3Cdev.hawq.apache.org%3E
> >.
> The major reason is that the binary rpm package is lack of LICENSE, NOTICE
> files.
>
> Please review below steps to generate contents for LICENSE and NOTICE and
> let us know if it is the correct way or is there better ways to do that.
> Thanks.
>
> Step 1. Download apache hawq 2.2.0.0 incubating binary tarball:
>
> https://dist.apache.org/repos/dist/dev/incubator/hawq/2.2.0.0-incubating.RC2/apache-hawq-rpm-2.2.0.0-incubating.tar.gz
>
> Step 2. Extract the rpm package for components from the tarball, which
> basically contains hawq core (written by c/c++/java), pxf and ranger
> (written by java)
>
> *[gpadmin@localhost Downloads]$ ls -alt hawq_rpm_packages*
>
> *-rw-r--r--. 1 gpadmin gpadmin 84083656 Apr 10 10:41
> apache-hawq-2.2.0.0-el7.x86_64.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin  8892442 Apr 10 10:41
> apache-tomcat-7.0.62-el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin 55353540 Apr 10 10:41
> hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin     5668 Apr 10 10:41
> pxf-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin    27034 Apr 10 10:41
> pxf-hbase-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin    51142 Apr 10 10:41
> pxf-hdfs-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin    68824 Apr 10 10:41
> pxf-hive-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin    24724 Apr 10 10:41
> pxf-jdbc-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin    18675 Apr 10 10:41
> pxf-json-3.2.1.0-1.el6.noarch.rpm*
> *-rw-r--r--. 1 gpadmin gpadmin   227890 Apr 10 10:41
> pxf-service-3.2.1.0-1.el6.noarch.rpm*
>
> Step 3. For the LICENSE of hawq core, pxf, and ranger binary, we add below
> contents based on the LICENSE in hawq core source tarball
> <
> https://dist.apache.org/repos/dist/dev/incubator/hawq/2.2.0.0-incubating.RC2/apache-hawq-src-2.2.0.0-incubating.tar.gz
> >
> .
>
> 1) get the contents by extracting them from rpm. For example,
> rpm2cpio hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch.rpm | cpio -div
>
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/lib/postgresql-9.1-901-1.jdbc4.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/lib/ranger-plugin-admin-2.2.0.0.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/activation-1.1.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/apacheds-i18n-2.0.0-M15.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/apacheds-kerberos-codec-2.0.0-M15.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/api-asn1-api-1.0.0-M20.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/api-util-1.0.0-M20.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/asm-3.1.jar*
>
> *./hawq-ranger-plugin-2.2.0.0-1.el7.centos.noarch/usr/local/apache-hawq/ranger/plugin-service/lib/avro-1.7.4.jar*
> *......*
>
> 2) check which license does each of the library jar use and add them to the
> LICENSE file for binary release.
>
> Is there any tools can that show which license does each of the jar file
> use or we can only do that by searching on the internet? Thanks.
>