Re: [pgjdbc] Implement JDBC specs via pre-processor step (#435)

From: Álvaro Hernández Tortosa <aht(at)8kdata(dot)com>
To: Pavel Kajaba <pkajaba(at)redhat(dot)com>, Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>
Cc: Stephen Nelson <stephen(at)eccostudio(dot)com>, List <pgsql-jdbc(at)postgresql(dot)org>, Pavel Raiskup <praiskup(at)redhat(dot)com>, Dave Cramer <pg(at)fastcrypt(dot)com>
Subject: Re: [pgjdbc] Implement JDBC specs via pre-processor step (#435)
Date: 2016-01-22 00:26:36
Message-ID: 56A1773C.8060702@8kdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 21/01/16 02:03, Pavel Kajaba wrote:

> [...]
> Ok, I try to present them:
>
> 1) all pgjdbc maven dependencies have in Fedora in form of RPMs.
> - we are missing osgi-enterpise and waffle-jna

OK, so here's how to reproducible check the dependencies of the
maven project:

- Clone the repo from github
- Do a "mvn package install -DskipTests"
- Run "mvn dependency:list"

For the pgjdbc (we don't care about the ubenchmark, that's not
going to get packaged) looks like this:

org.postgresql:postgresql:bundle:9.4.1208-SNAPSHOT
[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.osgi:org.osgi.enterprise:jar:4.2.0:provided
[INFO] +- org.osgi:org.osgi.core:jar:4.3.1:provided
[INFO] +- xml-resolver:xml-resolver:jar:1.2:compile
[INFO] \- com.github.dblock.waffle:waffle-jna:jar:1.7:compile
[INFO] +- net.java.dev.jna:jna:jar:4.1.0:compile
[INFO] \- net.java.dev.jna:jna-platform:jar:4.1.0:compile

Now go to search.maven org and perform queries like:

u:org.osgi g:org.osgi.enterprise

And read the pom.xml. There the license, dependencies and possible
information to the source code repository or developers can be found.
Also the source jar.

Now looking at some dependencies:

- org.osgi.core is already present in Fedora/RH, but a very old version
(1.4, pgjdbc is using 4.3.1):
http://koji.fedoraproject.org/koji/buildinfo?buildID=649030 But I guess
packaging a new version shouldn't be hard. Specially as this module does
not contain any transitive dependency. Which brings me to another point:
is it easy to just build it, as source code is available and there are
no further dependencies? May we contact this 1.4 version package
mantainer and ask about updating it or otherwise use that packages
building scripts?

- org.osgi.enterprise is not packaged for Fedora/RH but doesn't have any
other dependencies and source is available.

- junit is just a test dependency, it's not required to build the package

- xml-resolver: pretty old code, sources available, no dependencies.
Maybe we should look at using XML code from the JDK rather than this
library, but I haven't checked how big this impact may be. Opinions
welcomed.

- waffle: the real deal, as it doesn't make any sense on a linux build.

Hope this information helps.

Cheers,

Álvaro

>
> 2) If We are not able to get any dependency into Fedora repositories we
> need to find a way how to resolve it without any time bombs/hacks.
> - basicaly we need to find way how to remove/disable waffle-jna and
> osgi-enterpise.
>
> That's pretty much all we require.
>
> I would like to shed some light into way how we work with maven. There
> is tool called XMvn [1]. It works like maven but it is getting jar
> files from RPMs which are already installed.
>
>> Vladimir
>>
>>
> [1] https://mizdebsk.fedorapeople.org/xmvn/site/
>
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Vitalii Tymchyshyn 2016-01-22 00:39:17 Re: Step towards being able to build on Linux (Pull request #435)
Previous Message Dave Cramer 2016-01-21 22:40:56 Re: Step towards being able to build on Linux (Pull request #435)