Compare commits

...
Sign in to create a new pull request.

18 commits

Author SHA1 Message Date
Marian Koncek
8eb5f89383 Bundle ongres-* dependencies 2026-01-07 14:57:44 +01:00
Marian Koncek
5aad0aad43 Refactor .spec 2026-01-07 14:49:12 +01:00
Mikolaj Izdebski
28dea36d4b Update to upstream version 42.7.8 2025-10-15 11:00:09 +02:00
Yaakov Selkowitz
dc561ead6d Test with PostgreSQL 18
The unversioned packages are provided by version 18 as of F43:

https://fedoraproject.org/wiki/Changes/PostgreSQL_18
2025-08-26 00:01:25 -04:00
Marian Koncek
43e9f32dc7 Port to junit 5.13 2025-08-06 11:08:35 +02:00
Marian Koncek
259e83f2b6 Build with OpenJDK 25 2025-08-05 15:57:21 +02:00
Marian Koncek
04832d877e Improve setup function 2025-08-05 15:02:37 +02:00
Jiri Vanek
d42690c41d Rrevert to jdk21
during rebuild for https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk
your package failed to build. Is preemptively reverted back to versioned jdk21
2025-07-30 14:10:23 +02:00
Jiri Vanek
64c97d034b Rebuilt for java-25-openjdk as preffered jdk
https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk
Note, that since f43, you should be always explicit on what jdk to use.
This commit should do exactly that.
2025-07-30 01:09:37 +02:00
Fedora Release Engineering
4fedbe33f7 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 06:04:00 +00:00
Marian Koncek
c306c7f95e Update to upstream version 42.7.7 2025-06-13 11:09:39 +02:00
Marian Koncek
9b7b1c8c29 Update to upstream version 42.7.6 2025-06-13 11:09:02 +02:00
Marian Koncek
c4976a0dfa Remove old Obsolete 2025-04-07 13:47:48 +02:00
Marian Koncek
a5272931f1 Update to upstream version 42.7.5 2025-04-07 13:47:45 +02:00
Marian Koncek
19a840a099 Remove Javadoc subpackage 2025-04-07 13:25:31 +02:00
Marian Koncek
404168fe36 Switch tests repo to Gitlab 2025-04-03 14:55:16 +02:00
Marian Koncek
ec34358b26 Refactor spec 2025-03-10 16:15:55 +01:00
Marian Koncek
d4b3f61bb0 Add tests subpackage 2025-03-10 16:15:49 +01:00
6 changed files with 83 additions and 44 deletions

4
.gitignore vendored
View file

@ -25,3 +25,7 @@
/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

View file

@ -1,7 +1,7 @@
summary: Run javapackages-specific tests
discover:
how: fmf
url: https://src.fedoraproject.org/tests/javapackages
url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git
ref: main
execute:
how: tmt

10
plans/smoke.fmf Normal file
View file

@ -0,0 +1,10 @@
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

View file

@ -48,24 +48,22 @@
Summary: JDBC driver for PostgreSQL
Name: postgresql-jdbc
Version: 42.7.4
Version: 42.7.8
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
BuildRequires: maven-local-openjdk25
BuildRequires: mvn(com.ongres.scram:scram-client)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
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
@ -75,18 +73,24 @@ BuildRequires: postgresql-test-rpm-macros
# gettext is only needed if we try to update translations
# BuildRequires: gettext
Obsoletes: %{name}-parent-poms < 42.2.2-2
# 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
%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 javadoc
Summary: API docs for %{name}
%package tests
Summary: Tests for %{name}
%description javadoc
This package contains the API Documentation for %{name}.
%description tests
This package contains tests for %{name}.
%prep
%autosetup -p1 -n postgresql-%{version}-jdbc-src
@ -94,9 +98,6 @@ This package contains the API Documentation 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
@ -106,13 +107,19 @@ 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
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
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"]' '
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>'
%mvn_package org.postgresql:postgresql::tests: tests
%build
# Ideally we would run "sh update-translations.sh" here, but that results
@ -123,41 +130,35 @@ rm src/test/java/org/postgresql/test/jdbc2/DriverTest.java \
# Include PostgreSQL testing methods and variables.
%if %runselftest
%postgresql_tests_init
PGTESTS_LOCALE=C.UTF-8
cat <<EOF > 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
. %{SOURCE1}
setup_build_local_properties > build.local.properties
# Start the local PG cluster.
%postgresql_tests_start
%else
# -f is equal to -Dmaven.test.skip=true
opts="-f"
# NOTE this parameter skips running tests but still compiles them
opts="-DskipTests=true"
%endif
%mvn_build $opts --xmvn-javadoc
%mvn_build -j -- $opts
xmvn --offline -Dmdep.outputFile=tests-classpath dependency:build-classpath
%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 javadoc -f .mfiles-javadoc
%files tests -f .mfiles-tests
%license LICENSE
%{_datadir}/%{name}-tests
%{_libexecdir}/%{name}-tests
%changelog
%autochangelog

24
postgresql_jdbc_tests_init.sh Executable file
View file

@ -0,0 +1,24 @@
#!/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
}

View file

@ -1 +1 @@
SHA512 (postgresql-42.7.4-jdbc-src.tar.gz) = 3f864848d0b6b079daf8abecabb2bd8487fa8bc23ef9265bfa71c484b4ee3b38a76cc38af7a72ac3ac64fa26569952b9b69d08b3b8a115d44bee823151c6c292
SHA512 (postgresql-42.7.8-jdbc-src.tar.gz) = 4860f6446960ad4d38af28a3cd38cbc6bdd53d8acdd0c20cc3141df3e7a4b41aad67293f19aac6ae6d9da351b7e6379a0a02261d8bb188e1daae914f7ba0139f