summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/jdbc-postgresql')
-rw-r--r--dev-java/jdbc-postgresql/Manifest3
-rw-r--r--dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch138
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild100
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1205.ebuild (renamed from dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1203.ebuild)25
4 files changed, 15 insertions, 251 deletions
diff --git a/dev-java/jdbc-postgresql/Manifest b/dev-java/jdbc-postgresql/Manifest
index 0a20394d8bc2..9e0097dd9d38 100644
--- a/dev-java/jdbc-postgresql/Manifest
+++ b/dev-java/jdbc-postgresql/Manifest
@@ -1,6 +1,5 @@
DIST postgresql-jdbc-9.2-1003.src.tar.gz 1843082 SHA256 d61449b8a17ce540b26437382c33a59a49a94c578c943fccf91139ee06478968 SHA512 f91d9617726722998a51275c625f6ea89dfe0ac7ce415cc6fa76302b13762bcf825cd61ec69d25d0199ca21de8a24286eeffb843ad59c06fd3049a289ac2b702 WHIRLPOOL a7994d7ce38bd17e9353339d2838601a22328c8eff03baa122663526ef2c0c2afa8b16d9c93ea9fbff7a756612cddffef41ec00552640766acc5e1fbe4996282
DIST postgresql-jdbc-9.2-1004.src.tar.gz 1842921 SHA256 eeadff0d830cd19a4f52a9489748a7126b0c1d4863bf9a5d65618158dfc6ae68 SHA512 6e218b7df3d772e4fb9053672f5f77f6012fe6e652a536dfe171408e957465520b05994d4fa13c4d478b595a55b8068da663b9f3dcb544a46fcf91d71ba8fdf5 WHIRLPOOL f1afa3201fbaaf47edb0224d3263642b3202fbf6fc922318354db86e394f0005611b0981da043a4e14cbb67224ac8fa6d96880e0763fcd4d5b502423c7eaa0c7
DIST postgresql-jdbc-9.3-1100.src.tar.gz 1852465 SHA256 e6be53d4cda04735f5f147d2296acb9a22630b062fa3a4ef894073f23efc6d55 SHA512 43968a62f9443739721016ede186b2f41fa6db2d1ef319cd65059f8715e90eda7c7f568995b293578c39e04d43085cfdfece587500f99ed1a49964c12d8c747a WHIRLPOOL 9bf218936a00df00fb4b4f6ed6c3bbe06cdcfcd14d306a4f7bf3073e83f1c51bc85c0a061c2e04790bcebf9183b8aabd056522fa5d18b0734a4aec34b3ab14a0
-DIST postgresql-jdbc-9.4-1201.src.tar.gz 1909810 SHA256 96b079611038c0ffff6bb8d22d51ada0cb82c8eb3bd3a9294055963cc638fda7 SHA512 6fd543e325de931ee6c33fe4b1daf53d7baa91061afc9dc1687c4b202430cbcf2a7e3fb047f9e1d88f4d39b8f4f85a98f2b930205ceba414212dfcbaaf108883 WHIRLPOOL 3245227c875d44d82109a5700e06ed3d5bcc75469cd9333c98a7b396b2db1e2ac1da002db19f632afed262929cd7e9a3d8f93d2b24321e103b815383f8fc0a05
-DIST postgresql-jdbc-9.4-1203.src.tar.gz 1909858 SHA256 ce2fd309778d9453f012fa85c99071b42cbd62f3ce06d53a4b8aaeb53ac51322 SHA512 9ac059714fb411cf52b1a03ce4991179cc032f17060e733c454f0e41bd8da64c64e718ec131a7d875e334719fd572452c77dbed9ba119eca6cf2f066a3511013 WHIRLPOOL c8581872dfe1495deef2335def51e54d7094c26c6034f26220a63bb657c452181ba996fd6def975d7532dc87a7dba49dd8111c07f9c8e9823917988fd36c9609
DIST postgresql-jdbc-9.4-1204.src.tar.gz 2018904 SHA256 c22862ce505c501115e9f72ae10cd8b5a02ff7f8c7c2f1475f4035b3c85f170b SHA512 659e60fe3ea54f87396d9f32521799d78381a87530c167e903820f3990facc04f3e145685a9c40d74ba3167a404c144fefa781568b9cea2910399cfe2632f25e WHIRLPOOL e5703de1053b5136656c496b4d9518b8044d6a27d431d054d1c48101364b6a999cb4c97295aecca99edf8cb80bf3b2a4b60b740901b9c3f15340eb51197e9cc1
+DIST postgresql-jdbc-9.4-1205.src.tar.gz 2028968 SHA256 bb06d9d94ce1f873df4f6090b26f8d2bb358601f71ba1fbdb782bb58a1164366 SHA512 ebb46c0cfcabc34083e6f481bc97536fba98d082462670d39efdd75e6463f1286db6fa07cd35546c749e456f1c06fb1d022cbc9f5cace2a1b968fab76a57d281 WHIRLPOOL a501cb12486ea1903442aa15c03ba7e9f5b127d3e1aa0d90991f6ded517b4dc792488431cf2047efe1a3ac8652ff527d810e1138235a4353cf5cd44031d2b641
diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch
deleted file mode 100644
index 9d65b4b60bf5..000000000000
--- a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch
+++ /dev/null
@@ -1,138 +0,0 @@
---- a/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:32:15.000000000 +0100
-+++ b/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:41:53.160058718 +0100
-@@ -19,7 +19,6 @@
-
- import org.postgresql.PGProperty;
- import org.postgresql.core.*;
--import org.postgresql.sspi.SSPIClient;
- import org.postgresql.hostchooser.GlobalHostStatusTracker;
- import org.postgresql.hostchooser.HostChooser;
- import org.postgresql.hostchooser.HostChooserFactory;
-@@ -387,11 +386,7 @@
- // or an authentication request
-
- String password = PGProperty.PASSWORD.get(info);
--
-- /* SSPI negotiation state, if used */
-- SSPIClient sspiClient = null;
-
-- try {
- authloop:
- while (true)
- {
-@@ -507,88 +502,16 @@
- case AUTH_REQ_SSPI:
- /*
- * Use GSSAPI if requested on all platforms, via JSSE.
-- *
-- * For SSPI auth requests, if we're on Windows attempt native SSPI
-- * authentication if available, and if not disabled by setting a
-- * kerberosServerName. On other platforms, attempt JSSE GSSAPI
-- * negotiation with the SSPI server.
-- *
-- * Note that this is slightly different to libpq, which uses SSPI
-- * for GSSAPI where supported. We prefer to use the existing Java
-- * JSSE Kerberos support rather than going to native (via JNA) calls
-- * where possible, so that JSSE system properties etc continue
-- * to work normally.
-- *
-- * Note that while SSPI is often Kerberos-based there's no guarantee
-- * it will be; it may be NTLM or anything else. If the client responds
-- * to an SSPI request via GSSAPI and the other end isn't using Kerberos
-- * for SSPI then authentication will fail.
- */
-- final String gsslib = PGProperty.GSS_LIB.get(info);
-- final boolean usespnego = PGProperty.USE_SPNEGO.getBoolean(info);
--
-- boolean useSSPI = false;
-+ org.postgresql.gss.MakeGSS.authenticate(pgStream, host,
-+ user, password,
-+ PGProperty.JAAS_APPLICATION_NAME.get(info),
-+ PGProperty.KERBEROS_SERVER_NAME.get(info),
-+ logger,
-+ PGProperty.USE_SPNEGO.getBoolean(info));
-+
-+ break;
-
-- /*
-- * Use SSPI if we're in auto mode on windows and have a
-- * request for SSPI auth, or if it's forced. Otherwise
-- * use gssapi. If the user has specified a Kerberos server
-- * name we'll always use JSSE GSSAPI.
-- */
-- if (gsslib.equals("gssapi"))
-- logger.debug("Using JSSE GSSAPI, param gsslib=gssapi");
-- else if (areq == AUTH_REQ_GSS && !gsslib.equals("sspi"))
-- logger.debug("Using JSSE GSSAPI, gssapi requested by server and gsslib=sspi not forced");
-- else
-- {
-- /* Determine if SSPI is supported by the client */
-- sspiClient = new SSPIClient(pgStream,
-- PGProperty.SSPI_SERVICE_CLASS.get(info),
-- /* Use negotiation for SSPI, or if explicitly requested for GSS */
-- areq == AUTH_REQ_SSPI || (areq == AUTH_REQ_GSS && usespnego),
-- logger);
--
-- useSSPI = sspiClient.isSSPISupported();
-- logger.debug("SSPI support detected: " + useSSPI);
--
-- if (!useSSPI) {
-- /* No need to dispose() if no SSPI used */
-- sspiClient = null;
--
-- if (gsslib.equals("sspi"))
-- throw new PSQLException("SSPI forced with gsslib=sspi, but SSPI not available; set loglevel=2 for details",
-- PSQLState.CONNECTION_UNABLE_TO_CONNECT);
-- }
--
-- logger.debug("Using SSPI: " + useSSPI + ", gsslib="+gsslib+" and SSPI support detected");
-- }
--
-- if (useSSPI)
-- {
-- /* SSPI requested and detected as available */
-- sspiClient.startSSPI();
-- }
-- else
-- {
-- /* Use JGSS's GSSAPI for this request */
-- org.postgresql.gss.MakeGSS.authenticate(pgStream, host,
-- user, password,
-- PGProperty.JAAS_APPLICATION_NAME.get(info),
-- PGProperty.KERBEROS_SERVER_NAME.get(info),
-- logger,
-- usespnego);
-- }
--
-- break;
--
-- case AUTH_REQ_GSS_CONTINUE:
-- /*
-- * Only called for SSPI, as GSS is handled by an inner loop
-- * in MakeGSS.
-- */
-- sspiClient.continueSSPI(l_msgLen - 8);
-- break;
--
- case AUTH_REQ_OK:
- /* Cleanup after successful authentication */
- if (logger.logDebug())
-@@ -609,18 +532,6 @@
- throw new PSQLException(GT.tr("Protocol error. Session setup failed."), PSQLState.PROTOCOL_VIOLATION);
- }
- }
-- } finally {
-- /* Cleanup after successful or failed authentication attempts */
-- if (sspiClient != null)
-- {
-- try {
-- sspiClient.dispose();
-- } catch (RuntimeException ex) {
-- logger.log("Unexpected error during SSPI context disposal", ex);
-- }
--
-- }
-- }
-
- }
-
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild
deleted file mode 100644
index 23db74b0a561..000000000000
--- a/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PN="postgresql-jdbc"
-MY_PV="${PV/_p/-}"
-MY_P="${MY_PN}-${MY_PV}.src"
-
-DESCRIPTION="JDBC Driver for PostgreSQL"
-SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
-HOMEPAGE="http://jdbc.postgresql.org/"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="test"
-
-DEPEND="
- >=virtual/jdk-1.6
- doc? (
- dev-libs/libxslt
- app-text/docbook-xsl-stylesheets
- )
- test? (
- dev-java/ant-junit
- dev-java/junit:4
- >=dev-db/postgresql-9.3[server]
- )"
-RDEPEND=">=virtual/jre-1.6"
-
-S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
-
-java_prepare() {
- find -name "*.class" -type f -exec rm -v {} + || die
-
- # Strip build.xml of maven deps
- sed -i -e '/<classpath.*dependency\.compile\.classpath/c\' build.xml || die
- sed -i -e '/<classpath.*dependency\.runtime\.classpath/c\' build.xml || die
- sed -i -e '/<classpath.*dependency\.test\.classpath/c\' build.xml || die
- sed -i -e '/<target name="artifact-version"/,/<[/]target>/{s/depends="maven-dependencies"//}' build.xml || die
- sed -i -e '/<target name="compile"/ s/,maven-dependencies//' build.xml || die
-
- # Remove SSPI, it pulls in Waffle-JNA and is only used on Windows
- sed -i -e '/<include.*sspi/c\' build.xml || die
- rm -vrf org/postgresql/sspi || die "Error removing sspi"
- epatch "${FILESDIR}"/${P}-remove-sspi.patch
-
- # FIXME @someone who cares: enable through osgi flag?
- sed -i -e '/<include.*osgi/c\' build.xml || die
- sed -i -e '/<test.*osgi/c\' build.xml || die
- rm -vrf org/postgresql/osgi || die "Error removing osgi"
- rm -vrf org/postgresql/test/osgi || die "Error removing osgi tests"
- epatch "${FILESDIR}"/${P}-remove-osgi.patch
-}
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-EANT_DOC_TARGET="publicapi"
-
-src_compile() {
- EANT_BUILD_TARGET="release-version jar"
- java-pkg-2_src_compile
-
- # There is a task that creates this doc but I didn't find a way how to use system catalog
- # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
- if use doc; then
- mkdir -p "${S}/build/doc"
- xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
- "${S}/doc/pgjdbc.xml"
- fi
-}
-
-src_test() {
- einfo "In order to run the tests successfully, you have to have:"
- einfo "1) PostgreSQL server running"
- einfo "2) database 'test' defined with user 'test' with password 'test'"
- einfo " as owner of the database"
- einfo "3) plpgsql support in the 'test' database"
- einfo
- einfo "You can find a general info on how to perform these steps at"
- einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
-
- ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit-4)
-}
-
-src_install() {
- java-pkg_newjar build/jars/postgresql*.jar jdbc-postgresql.jar
-
- if use doc ; then
- java-pkg_dojavadoc build/publicapi
- dohtml build/doc/pgjdbc.html
- fi
-
- use source && java-pkg_dosrc org
-}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1203.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1205.ebuild
index 43486b5e21e1..c6f95eecd59f 100644
--- a/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1203.ebuild
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1205.ebuild
@@ -6,7 +6,7 @@ EAPI="5"
JAVA_PKG_IUSE="doc source"
-inherit java-pkg-2 java-ant-2
+inherit eutils java-pkg-2 java-ant-2
MY_PN="postgresql-jdbc"
MY_PV="${PV/_p/-}"
@@ -28,17 +28,21 @@ DEPEND="
app-text/docbook-xsl-stylesheets
)
test? (
+ >=dev-db/postgresql-9.3[server]
dev-java/ant-junit
dev-java/junit:4
- >=dev-db/postgresql-9.3[server]
+ dev-java/xml-commons
)"
RDEPEND=">=virtual/jre-1.6"
+RESTRICT="test" # Requires external postgresql server setup
+
S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
-java_prepare() {
- find -name "*.class" -type f -exec rm -v {} + || die
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_DOC_TARGET="publicapi"
+java_prepare() {
# Strip build.xml of maven deps
sed -i -e '/<classpath.*dependency\.compile\.classpath/c\' build.xml || die
sed -i -e '/<classpath.*dependency\.runtime\.classpath/c\' build.xml || die
@@ -49,7 +53,7 @@ java_prepare() {
# Remove SSPI, it pulls in Waffle-JNA and is only used on Windows
sed -i -e '/<include.*sspi/c\' build.xml || die
rm -vrf org/postgresql/sspi || die "Error removing sspi"
- epatch "${FILESDIR}"/${PN}-9.4_p1201-remove-sspi.patch
+ epatch "${FILESDIR}"/${PN}-9.4_p1204-remove-sspi.patch
# FIXME @someone who cares: enable through osgi flag?
sed -i -e '/<include.*osgi/c\' build.xml || die
@@ -57,10 +61,9 @@ java_prepare() {
rm -vrf org/postgresql/osgi || die "Error removing osgi"
rm -vrf org/postgresql/test/osgi || die "Error removing osgi tests"
epatch "${FILESDIR}"/${PN}-9.4_p1201-remove-osgi.patch
-}
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-EANT_DOC_TARGET="publicapi"
+ java-pkg_clean
+}
src_compile() {
EANT_BUILD_TARGET="release-version jar"
@@ -69,9 +72,9 @@ src_compile() {
# There is a task that creates this doc but I didn't find a way how to use system catalog
# to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
if use doc; then
- mkdir -p "${S}/build/doc"
+ mkdir -p "${S}/build/doc" || die
xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
- "${S}/doc/pgjdbc.xml"
+ "${S}/doc/pgjdbc.xml" || die
fi
}
@@ -85,7 +88,7 @@ src_test() {
einfo "You can find a general info on how to perform these steps at"
einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
- ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit-4)
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only "junit-4,xml-commons")
}
src_install() {