diff --git a/.gitignore b/.gitignore index 5804f84..0aa8168 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,3 @@ /postgresql-42.7.2-jdbc-src.tar.gz /postgresql-42.7.3-jdbc-src.tar.gz /postgresql-42.7.4-jdbc-src.tar.gz -/postgresql-42.7.5-jdbc-src.tar.gz -/postgresql-42.7.6-jdbc-src.tar.gz -/postgresql-42.7.7-jdbc-src.tar.gz -/postgresql-42.7.8-jdbc-src.tar.gz diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index 36643ec..1e5c8de 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -1,7 +1,7 @@ summary: Run javapackages-specific tests discover: how: fmf - url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git + url: https://src.fedoraproject.org/tests/javapackages ref: main execute: how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf deleted file mode 100644 index 79935d4..0000000 --- a/plans/smoke.fmf +++ /dev/null @@ -1,10 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf - url: https://gitlab.com/redhat/centos-stream/tests/postgresql-jdbc.git -prepare: - how: install - package: - - java-21-openjdk-devel -execute: - how: tmt diff --git a/postgresql-jdbc.spec b/postgresql-jdbc.spec index 0b0d226..2a48a70 100644 --- a/postgresql-jdbc.spec +++ b/postgresql-jdbc.spec @@ -48,22 +48,24 @@ Summary: JDBC driver for PostgreSQL Name: postgresql-jdbc -Version: 42.7.8 +Version: 42.7.4 Release: %autorelease License: BSD-2-Clause URL: https://jdbc.postgresql.org/ Source0: https://repo1.maven.org/maven2/org/postgresql/postgresql/%{version}/postgresql-%{version}-jdbc-src.tar.gz -Source1: postgresql_jdbc_tests_init.sh BuildArch: noarch ExclusiveArch: %{java_arches} noarch -Provides: pgjdbc = %{version}-%{release} +Provides: pgjdbc = %version-%release -BuildRequires: maven-local-openjdk25 +BuildRequires: maven-local BuildRequires: mvn(com.ongres.scram:scram-client) -BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) +BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.junit.jupiter:junit-jupiter-api) +BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine) +BuildRequires: mvn(org.junit.jupiter:junit-jupiter-params) +BuildRequires: mvn(org.junit.vintage:junit-vintage-engine) +BuildRequires: mvn(se.jiderhamn:classloader-leak-test-framework) %if %runselftest BuildRequires: postgresql-contrib @@ -73,24 +75,18 @@ BuildRequires: postgresql-test-rpm-macros # gettext is only needed if we try to update translations # BuildRequires: gettext -# TODO Remove in Fedora 46 -Obsoletes: %{name}-javadoc < 42.7.4-9 - -Provides: bundled(mvn(com.ongres.scram:scram-client)) = 3.2 -Provides: bundled(mvn(com.ongres.scram:scram-common)) = 3.2 -Provides: bundled(mvn(com.ongres.stringprep:saslprep)) = 2.2 -Provides: bundled(mvn(com.ongres.stringprep:stringprep)) = 2.2 +Obsoletes: %{name}-parent-poms < 42.2.2-2 %description PostgreSQL is an advanced Object-Relational database management system. The postgresql-jdbc package includes the .jar files needed for Java programs to access a PostgreSQL database. -%package tests -Summary: Tests for %{name} +%package javadoc +Summary: API docs for %{name} -%description tests -This package contains tests for %{name}. +%description javadoc +This package contains the API Documentation for %{name}. %prep %autosetup -p1 -n postgresql-%{version}-jdbc-src @@ -98,6 +94,9 @@ This package contains tests for %{name}. # remove any binary libs find -type f \( -name "*.jar" -or -name "*.class" \) -delete +# Build parent POMs in the same Maven call. +%pom_remove_plugin :maven-shade-plugin + # compat symlink: requested by dtardon (libreoffice), reverts part of # 0af97ce32de877 commit. %mvn_file org.postgresql:postgresql %{name}/postgresql %{name} postgresql @@ -107,19 +106,13 @@ find -type f \( -name "*.jar" -or -name "*.class" \) -delete # remove unmet dependency %pom_remove_dep uk.org.webcompere:system-stubs-jupiter -# remove tests that depend on the system-stubs-jupiter -grep -l -r '^import uk\.org\.webcompere\.systemstubs' src/test | xargs rm -v -# Install -tests Jar as well -%pom_xpath_inject 'pom:build/pom:plugins/pom:plugin[pom:artifactId="maven-jar-plugin"]' ' - - - - test-jar - - -' -%mvn_package org.postgresql:postgresql::tests: tests +# remove tests that depend on the system-stubs-jupiter +rm src/test/java/org/postgresql/test/jdbc2/DriverTest.java \ + src/test/java/org/postgresql/util/OSUtilTest.java \ + src/test/java/org/postgresql/jdbcurlresolver/PgServiceConfParserTest.java \ + src/test/java/org/postgresql/jdbcurlresolver/PgPassParserTest.java \ + src/test/java/org/postgresql/util/StubEnvironmentAndProperties.java %build # Ideally we would run "sh update-translations.sh" here, but that results @@ -130,35 +123,41 @@ grep -l -r '^import uk\.org\.webcompere\.systemstubs' src/test | xargs rm -v # Include PostgreSQL testing methods and variables. %if %runselftest -. %{SOURCE1} -setup_build_local_properties > build.local.properties +%postgresql_tests_init + +PGTESTS_LOCALE=C.UTF-8 + +cat < build.local.properties +server=localhost +port=$PGTESTS_PORT +database=test +username=test +password=test +privilegedUser=$PGTESTS_ADMIN +privilegedPassword=$PGTESTS_ADMINPASS +preparethreshold=5 +loglevel=0 +protocolVersion=0 +EOF # Start the local PG cluster. %postgresql_tests_start %else -# NOTE this parameter skips running tests but still compiles them -opts="-DskipTests=true" +# -f is equal to -Dmaven.test.skip=true +opts="-f" %endif -%mvn_build -j -- $opts - -xmvn --offline -Dmdep.outputFile=tests-classpath dependency:build-classpath +%mvn_build $opts --xmvn-javadoc %install %mvn_install -install -m 644 -D tests-classpath %{buildroot}%{_datadir}/%{name}-tests/classpath -install -m 644 -D -t %{buildroot}%{_datadir}/%{name}-tests build.properties ssltest.properties -cp -r -t %{buildroot}%{_datadir}/%{name}-tests certdir -install -m 755 -D -t %{buildroot}%{_libexecdir}/%{name}-tests %{SOURCE1} %files -f .mfiles %license LICENSE %doc README.md -%files tests -f .mfiles-tests +%files javadoc -f .mfiles-javadoc %license LICENSE -%{_datadir}/%{name}-tests -%{_libexecdir}/%{name}-tests %changelog %autochangelog diff --git a/postgresql_jdbc_tests_init.sh b/postgresql_jdbc_tests_init.sh deleted file mode 100755 index a711672..0000000 --- a/postgresql_jdbc_tests_init.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/bash - -# Before running tests, source this file. -# Call the function `setup_build_local_properties` and redirect its output into -# the file `build.local.properties` and run the tests in the same directory. - -. /usr/share/postgresql-setup/postgresql_pkg_tests.sh - -PGTESTS_LOCALE=C.UTF-8 - -function setup_build_local_properties -{ -cat << EOF -test.url.PGHOST=localhost -test.url.PGPORT=$PGTESTS_PORT -test.url.PGDBNAME=test -user=test -password=test -privilegedUser=$PGTESTS_ADMIN -privilegedPassword=$PGTESTS_ADMINPASS -preparethreshold=5 -loglevel=0 -EOF -} diff --git a/sources b/sources index 5ede387..6b05239 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (postgresql-42.7.8-jdbc-src.tar.gz) = 4860f6446960ad4d38af28a3cd38cbc6bdd53d8acdd0c20cc3141df3e7a4b41aad67293f19aac6ae6d9da351b7e6379a0a02261d8bb188e1daae914f7ba0139f +SHA512 (postgresql-42.7.4-jdbc-src.tar.gz) = 3f864848d0b6b079daf8abecabb2bd8487fa8bc23ef9265bfa71c484b4ee3b38a76cc38af7a72ac3ac64fa26569952b9b69d08b3b8a115d44bee823151c6c292