Обсуждение: Need comments about -jdbc packaging

Поиск
Список
Период
Сортировка

Need comments about -jdbc packaging

От
Devrim GÜNDÜZ
Дата:
Hi,

While working on a unified -jdbc package, I noticed that we have
PostgreSQL major number appended to package name, version, jar file,
etc.

Do we really need that? This package does not depend on PostgreSQL, so
I think we can remove it.

Attached is the spec file that I intend to push later tonight to git,
so that we can ship this package along with tomorrow's releases.

This package has some comment improvements and conditionals for unified
spec file...

Regards, 
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Вложения

Re: Need comments about -jdbc packaging

От
John Harvey
Дата:
Hi Devrim,

I'm not the expert here by any means; I only just got interested in this project when moving from ant to maven became something new and fun to try to put together.  So, feel free to take my opinion for what it is-- just an opinion.

After some research, I found this thread awhile back which might contain helpful information:

In short, it says that the team does not want to use postgresql's version number in the artifacts.  This would explain why the current releases of pgjdbc are not prefixed with 9.5, and are still at 9.4.  It is my guess that the numbering of pgjdbc will stay on 9.4 for some time.  But, I think this is sufficient evidence that having a hard dependency on a postgres major version is something that is not needed.  So, I think I agree with your assessment.  If you wanted a second opinion, Dave Cramer might be the best person to comment.

Additionally, I can verify that the if-block's make sense in the combined spec-file.  I tried one of your pre-release specfiles on EL6 and had issues with "add_maven_depmap", "%files -f .mfiles", and the 2 "_javadir" files.  I think the if-blocks are clean, and I approve your new changes with regard to making a combined specfile.

Regards,
  -John

On Wed, Feb 10, 2016 at 1:58 PM, Devrim GÜNDÜZ <devrim@gunduz.org> wrote:

Hi,

While working on a unified -jdbc package, I noticed that we have
PostgreSQL major number appended to package name, version, jar file,
etc.

Do we really need that? This package does not depend on PostgreSQL, so
I think we can remove it.

Attached is the spec file that I intend to push later tonight to git,
so that we can ship this package along with tomorrow's releases.

This package has some comment improvements and conditionals for unified
spec file...

Regards, 
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Re: Need comments about -jdbc packaging

От
John Harvey
Дата:
Hi Devrim,

Doing a scan of the specfile, I found a few other opportunities:

I am pretty sure that these lines can be removed:
BuildRequires:  jpackage-utils
BuildRequires:  ant
BuildRequires:  ant-junit
BuildRequires:  junit
I am pretty sure that I am able to successfully build without any of these packages.  I think these are legacy requirements from the ant days.

The BuildRequires line for apache-maven should specify 3.0.0 or greater (2.x is a little different):
apache-maven >= 3.0.0

Apart from that, no other issues to report.

Regards,
  -John


On Thu, Feb 11, 2016 at 7:43 AM, John Harvey <john.harvey@crunchydata.com> wrote:
Hi Devrim,

I'm not the expert here by any means; I only just got interested in this project when moving from ant to maven became something new and fun to try to put together.  So, feel free to take my opinion for what it is-- just an opinion.

After some research, I found this thread awhile back which might contain helpful information:

In short, it says that the team does not want to use postgresql's version number in the artifacts.  This would explain why the current releases of pgjdbc are not prefixed with 9.5, and are still at 9.4.  It is my guess that the numbering of pgjdbc will stay on 9.4 for some time.  But, I think this is sufficient evidence that having a hard dependency on a postgres major version is something that is not needed.  So, I think I agree with your assessment.  If you wanted a second opinion, Dave Cramer might be the best person to comment.

Additionally, I can verify that the if-block's make sense in the combined spec-file.  I tried one of your pre-release specfiles on EL6 and had issues with "add_maven_depmap", "%files -f .mfiles", and the 2 "_javadir" files.  I think the if-blocks are clean, and I approve your new changes with regard to making a combined specfile.

Regards,
  -John

On Wed, Feb 10, 2016 at 1:58 PM, Devrim GÜNDÜZ <devrim@gunduz.org> wrote:

Hi,

While working on a unified -jdbc package, I noticed that we have
PostgreSQL major number appended to package name, version, jar file,
etc.

Do we really need that? This package does not depend on PostgreSQL, so
I think we can remove it.

Attached is the spec file that I intend to push later tonight to git,
so that we can ship this package along with tomorrow's releases.

This package has some comment improvements and conditionals for unified
spec file...

Regards, 
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR




Re: Need comments about -jdbc packaging

От
John Harvey
Дата:
One more comment.

The below block doesn't work for me on EL-7:

%if 0%{?rhel} && 0%{?rhel} <= 6
# On RHEL 6, we depend on the apache-maven package that we provide via
# our repo. Build servers should not have any other apache-maven package
# from other repos, because they depend on java-1.7.0, which is not supported by pgjdbc.
# Please note that we don't support RHEL 5 for this package.
BuildRequires:  apache-maven
%else
# On the remaining distros, use the maven package supplied by OS.
BuildRequires:  maven
%endif

error: Failed build dependencies:
maven

I think the BuildRequires: apache-maven line should apply to EL-6 and EL-7.  Otherwise, I do not know where to get this dependency for EL-7.

Regards,
  -John

On Thu, Feb 11, 2016 at 7:56 AM, John Harvey <john.harvey@crunchydata.com> wrote:
Hi Devrim,

Doing a scan of the specfile, I found a few other opportunities:

I am pretty sure that these lines can be removed:
BuildRequires:  jpackage-utils
BuildRequires:  ant
BuildRequires:  ant-junit
BuildRequires:  junit
I am pretty sure that I am able to successfully build without any of these packages.  I think these are legacy requirements from the ant days.

The BuildRequires line for apache-maven should specify 3.0.0 or greater (2.x is a little different):
apache-maven >= 3.0.0

Apart from that, no other issues to report.

Regards,
  -John


On Thu, Feb 11, 2016 at 7:43 AM, John Harvey <john.harvey@crunchydata.com> wrote:
Hi Devrim,

I'm not the expert here by any means; I only just got interested in this project when moving from ant to maven became something new and fun to try to put together.  So, feel free to take my opinion for what it is-- just an opinion.

After some research, I found this thread awhile back which might contain helpful information:

In short, it says that the team does not want to use postgresql's version number in the artifacts.  This would explain why the current releases of pgjdbc are not prefixed with 9.5, and are still at 9.4.  It is my guess that the numbering of pgjdbc will stay on 9.4 for some time.  But, I think this is sufficient evidence that having a hard dependency on a postgres major version is something that is not needed.  So, I think I agree with your assessment.  If you wanted a second opinion, Dave Cramer might be the best person to comment.

Additionally, I can verify that the if-block's make sense in the combined spec-file.  I tried one of your pre-release specfiles on EL6 and had issues with "add_maven_depmap", "%files -f .mfiles", and the 2 "_javadir" files.  I think the if-blocks are clean, and I approve your new changes with regard to making a combined specfile.

Regards,
  -John

On Wed, Feb 10, 2016 at 1:58 PM, Devrim GÜNDÜZ <devrim@gunduz.org> wrote:

Hi,

While working on a unified -jdbc package, I noticed that we have
PostgreSQL major number appended to package name, version, jar file,
etc.

Do we really need that? This package does not depend on PostgreSQL, so
I think we can remove it.

Attached is the spec file that I intend to push later tonight to git,
so that we can ship this package along with tomorrow's releases.

This package has some comment improvements and conditionals for unified
spec file...

Regards, 
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR





Re: Need comments about -jdbc packaging

От
John Harvey
Дата:
All right, final comment today-- found what was breaking my EL-6 build.

%_javadir/java/postgresql-jdbc.jar
%_javadir/maven2/poms/JPP-postgresql-jdbc.pom

should be:

%{_datadir}/java/postgresql-jdbc.jar
%{_datadir}/maven2/poms/JPP-postgresql-jdbc.pom

Otherwise, EL-6 doesn't compile for me.

Regards,
  -John

On Thu, Feb 11, 2016 at 9:43 AM, John Harvey <john.harvey@crunchydata.com> wrote:
One more comment.

The below block doesn't work for me on EL-7:

%if 0%{?rhel} && 0%{?rhel} <= 6
# On RHEL 6, we depend on the apache-maven package that we provide via
# our repo. Build servers should not have any other apache-maven package
# from other repos, because they depend on java-1.7.0, which is not supported by pgjdbc.
# Please note that we don't support RHEL 5 for this package.
BuildRequires:  apache-maven
%else
# On the remaining distros, use the maven package supplied by OS.
BuildRequires:  maven
%endif

error: Failed build dependencies:
maven

I think the BuildRequires: apache-maven line should apply to EL-6 and EL-7.  Otherwise, I do not know where to get this dependency for EL-7.

Regards,
  -John

On Thu, Feb 11, 2016 at 7:56 AM, John Harvey <john.harvey@crunchydata.com> wrote:
Hi Devrim,

Doing a scan of the specfile, I found a few other opportunities:

I am pretty sure that these lines can be removed:
BuildRequires:  jpackage-utils
BuildRequires:  ant
BuildRequires:  ant-junit
BuildRequires:  junit
I am pretty sure that I am able to successfully build without any of these packages.  I think these are legacy requirements from the ant days.

The BuildRequires line for apache-maven should specify 3.0.0 or greater (2.x is a little different):
apache-maven >= 3.0.0

Apart from that, no other issues to report.

Regards,
  -John


On Thu, Feb 11, 2016 at 7:43 AM, John Harvey <john.harvey@crunchydata.com> wrote:
Hi Devrim,

I'm not the expert here by any means; I only just got interested in this project when moving from ant to maven became something new and fun to try to put together.  So, feel free to take my opinion for what it is-- just an opinion.

After some research, I found this thread awhile back which might contain helpful information:

In short, it says that the team does not want to use postgresql's version number in the artifacts.  This would explain why the current releases of pgjdbc are not prefixed with 9.5, and are still at 9.4.  It is my guess that the numbering of pgjdbc will stay on 9.4 for some time.  But, I think this is sufficient evidence that having a hard dependency on a postgres major version is something that is not needed.  So, I think I agree with your assessment.  If you wanted a second opinion, Dave Cramer might be the best person to comment.

Additionally, I can verify that the if-block's make sense in the combined spec-file.  I tried one of your pre-release specfiles on EL6 and had issues with "add_maven_depmap", "%files -f .mfiles", and the 2 "_javadir" files.  I think the if-blocks are clean, and I approve your new changes with regard to making a combined specfile.

Regards,
  -John

On Wed, Feb 10, 2016 at 1:58 PM, Devrim GÜNDÜZ <devrim@gunduz.org> wrote:

Hi,

While working on a unified -jdbc package, I noticed that we have
PostgreSQL major number appended to package name, version, jar file,
etc.

Do we really need that? This package does not depend on PostgreSQL, so
I think we can remove it.

Attached is the spec file that I intend to push later tonight to git,
so that we can ship this package along with tomorrow's releases.

This package has some comment improvements and conditionals for unified
spec file...

Regards, 
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR






Re: Need comments about -jdbc packaging

От
Devrim GÜNDÜZ
Дата:
Hi,

On Thu, 2016-02-11 at 10:39 -0500, John Harvey wrote:
> All right, final comment today-- found what was breaking my EL-6 build.
>
> %_javadir/java/postgresql-jdbc.jar
> %_javadir/maven2/poms/JPP-postgresql-jdbc.pom
>
> should be:
>
> %{_datadir}/java/postgresql-jdbc.jar
> %{_datadir}/maven2/poms/JPP-postgresql-jdbc.pom
>
> Otherwise, EL-6 doesn't compile for me.

Oh, I think I missed the {} there before and after _javadir. Fixed.

Thanks!

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Вложения

Re: Need comments about -jdbc packaging

От
Devrim GÜNDÜZ
Дата:
Hi,

On Thu, 2016-02-11 at 09:43 -0500, John Harvey wrote:
> 
> The below block doesn't work for me on EL-7:
>
> %if 0%{?rhel} && 0%{?rhel} <= 6
> # On RHEL 6, we depend on the apache-maven package that we provide via
> # our repo. Build servers should not have any other apache-maven package
> # from other repos, because they depend on java-1.7.0, which is not
> supported by pgjdbc.
> # Please note that we don't support RHEL 5 for this package.
> BuildRequires:  apache-maven
> %else
> # On the remaining distros, use the maven package supplied by OS.
> BuildRequires:  maven
> %endif
>
> error: Failed build dependencies:
> maven
>
> I think the BuildRequires: apache-maven line should apply to EL-6 and
> EL-7.  Otherwise, I do not know where to get this dependency for EL-7.


Actually this is ok. I think maven is a part of CentOS 7, AFAICS.

The current spec in git can be compiled on all distros, after the fixes you
suggested.

Regards,

--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Вложения

Re: Need comments about -jdbc packaging

От
Devrim GÜNDÜZ
Дата:
Hi,

On Thu, 2016-02-11 at 07:56 -0500, John Harvey wrote:

> Doing a scan of the specfile, I found a few other opportunities:
>
> I am pretty sure that these lines can be removed:
> BuildRequires:  jpackage-utils
> BuildRequires:  ant
> BuildRequires:  ant-junit
> BuildRequires:  junit
> I am pretty sure that I am able to successfully build without any of these
> packages.  I think these are legacy requirements from the ant days.

Thanks, fixed!

> The BuildRequires line for apache-maven should specify 3.0.0 or greater
> (2.x is a little different):
> apache-maven >= 3.0.0

Ok, added version number there

Thanks again!

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Вложения

Re: Need comments about -jdbc packaging

От
Devrim GÜNDÜZ
Дата:
Hi,

On Thu, 2016-02-11 at 07:43 -0500, John Harvey wrote:

<snip>

> In short, it says that the team does not want to use postgresql's version
> number in the artifacts.  This would explain why the current releases of
> pgjdbc are not prefixed with 9.5, and are still at 9.4.  It is my guess
> that the numbering of pgjdbc will stay on 9.4 for some time.  But, I think
> this is sufficient evidence that having a hard dependency on a postgres
> major version is something that is not needed.  So, I think I agree with
> your assessment.  If you wanted a second opinion, Dave Cramer might be the
> best person to comment.

Ok, I removed all the version dependent macros from spec file. Thanks for the
comment.

> Additionally, I can verify that the if-block's make sense in the combined
> spec-file.  I tried one of your pre-release specfiles on EL6 and had issues
> with "add_maven_depmap", "%files -f .mfiles", and the 2 "_javadir" files.
> I think the if-blocks are clean, and I approve your new changes with regard
> to making a combined specfile.

Thanks for confirming this.

I pushed packages for 9.1+ on EL 6 - 7 and Fedora 22-23.

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR



Вложения