rebase: most recent upstream version

Resolves: rhbz#1196445
Version: 9.4.1209-1
This commit is contained in:
Pavel Raiskup 2016-07-20 07:29:48 +02:00
parent d941feffb6
commit df7c1ce59f
3 changed files with 133 additions and 60 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
/postgresql-jdbc-9.4-1200.src.tar.gz /REL9.4.1209.tar.gz
/REL1.0.8.tar.gz

View File

@ -26,37 +26,56 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Configuration for rpmbuild, might be specified by options
# like e.g. 'rpmbuild --define "runselftest 0"'.
%{!?runselftest:%global runselftest 1}
%global section devel %global section devel
%global upstreamrel 1200 %global upstreamrel 1209
%global upstreamver 9.4-%{upstreamrel} %global upstreammajor 9.4
%global source_path pgjdbc/src/main/java/org/postgresql
%global parent_ver 1.0.8
%global parent_poms_builddir ./pgjdbc-parent-poms
%global pgjdbc_mvn_options -DwaffleEnabled=false -DosgiEnabled=false \\\
-DexcludePackageNames=org.postgresql.osgi:org.postgresql.sspi
Summary: JDBC driver for PostgreSQL Summary: JDBC driver for PostgreSQL
Name: postgresql-jdbc Name: postgresql-jdbc
Version: 9.4.%{upstreamrel} Version: %upstreammajor.%{upstreamrel}
Release: 3%{?dist} Release: 1%{?dist}
# ASL 2.0 applies only to postgresql-jdbc.pom file, the rest is BSD # ASL 2.0 applies only to postgresql-jdbc.pom file, the rest is BSD
License: BSD and ASL 2.0 License: BSD and ASL 2.0
Group: Applications/Databases Group: Applications/Databases
URL: http://jdbc.postgresql.org/ URL: http://jdbc.postgresql.org/
Source0: http://jdbc.postgresql.org/download/%{name}-%{upstreamver}.src.tar.gz Source0: https://github.com/pgjdbc/pgjdbc/archive/REL%version.tar.gz
# originally http://repo2.maven.org/maven2/postgresql/postgresql/8.4-701.jdbc4/postgresql-8.4-701.jdbc4.pom: Source1: postgres-testing.sh
Source1: %{name}.pom
# Revert back fix for travis build which breaks our ant-build for version 1.9.2 # Upstream moved parent pom.xml into separate project (even though there is only
# & 1.9.4. # one dependant project on it?). Let's try to not complicate packaging by
# ~> downstream # having separate spec file for it, too.
# ~> 1118667 Source2: https://github.com/pgjdbc/pgjdbc-parent-poms/archive/REL%parent_ver.tar.gz
Patch0: postgresql-jdbc-9.3-1102-revert-88b9a034.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: java-devel >= 1:1.8 BuildRequires: java-devel >= 1.8
BuildRequires: jpackage-utils BuildRequires: jpackage-utils
BuildRequires: ant BuildRequires: maven-local
BuildRequires: ant-junit BuildRequires: java-comment-preprocessor
BuildRequires: junit BuildRequires: properties-maven-plugin
BuildRequires: maven-enforcer-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: maven-plugin-build-helper
%if %runselftest
BuildRequires: postgresql-server
BuildRequires: postgresql-contrib
%endif
# gettext is only needed if we try to update translations # gettext is only needed if we try to update translations
#BuildRequires: gettext #BuildRequires: gettext
Requires: jpackage-utils Requires: jpackage-utils
@ -67,6 +86,15 @@ PostgreSQL is an advanced Object-Relational database management
system. The postgresql-jdbc package includes the .jar files needed for system. The postgresql-jdbc package includes the .jar files needed for
Java programs to access a PostgreSQL database. Java programs to access a PostgreSQL database.
%package parent-poms
Summary: Build dependency management for pgjdbc.
%description parent-poms
Pom files bringing dependencies required for successful PostgreSQL JDBC driver
build.
%package javadoc %package javadoc
Summary: API docs for %{name} Summary: API docs for %{name}
Group: Documentation Group: Documentation
@ -74,79 +102,122 @@ Group: Documentation
%description javadoc %description javadoc
This package contains the API Documentation for %{name}. This package contains the API Documentation for %{name}.
%prep %prep
%setup -c -q %setup -c -q -a 2 -n pgjdbc-REL%version
mv -f %{name}-%{upstreamver}.src/* .
rm -f %{name}-%{upstreamver}.src/.gitignore mv pgjdbc-REL%version/* .
rm -f %{name}-%{upstreamver}.src/.travis.yml mv pgjdbc-parent-poms-REL%parent_ver pgjdbc-parent-poms
rmdir %{name}-%{upstreamver}.src
# remove any binary libs # remove any binary libs
find -name "*.jar" -or -name "*.class" | xargs rm -f find -name "*.jar" -or -name "*.class" | xargs rm -f
%patch0 -p1 -b .revert-travis-fix
%pom_disable_module ubenchmark
# Hack #0! For upstream it is to some extent important to have the parent-poms
# project separated. Having it like that on downstream level does not help at
# all. Note that we have to revert this patch before we do the installation.
sed -i.hack-parent-poms \
's!<relativePath />!<relativePath>../pgjdbc-parent-poms/pgjdbc-core-parent/pom.xml</relativePath>!' \
pgjdbc/pom.xml
sed -i.hack-parent-poms \
'/<artifactId>pgjdbc-versions/a <relativePath>pgjdbc-parent-poms/pgjdbc-versions/pom.xml</relativePath>' \
pom.xml
# Hack #1! This directory is missing for some reason, it is most probably some
# misunderstanding between maven, maven-compiler-plugin and
# java-comment-preprocessor? Not solved yet. See rhbz#1325060.
mkdir -p pgjdbc/target/generated-sources/annotations
%build %build
export OPT_JAR_LIST="ant/ant-junit junit"
export CLASSPATH=
# Ideally we would run "sh update-translations.sh" here, but that results # Ideally we would run "sh update-translations.sh" here, but that results
# in inserting the build timestamp into the generated messages_*.class # in inserting the build timestamp into the generated messages_*.class
# files, which makes rpmdiff complain about multilib conflicts if the # files, which makes rpmdiff complain about multilib conflicts if the
# different platforms don't build in the same minute. For now, rely on # different platforms don't build in the same minute. For now, rely on
# upstream to have updated the translations files before packaging. # upstream to have updated the translations files before packaging.
ant jar publicapi # Include PostgreSQL testing methods and variables.
%if %runselftest
. %{SOURCE1}
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
# Start the local PG cluster.
pgtests_start
%endif
# First "build" the parent-poms ..
cd %parent_poms_builddir
%mvn_build -- %pgjdbc_mvn_options
cd ..
# .. and then build pgjdbc.
%if %runselftest
%mvn_build -- %pgjdbc_mvn_options
%else
%mvn_build -- %pgjdbc_mvn_options -Dmaven.test.skip=true
%endif
# Hack #0! Revert the patch above.
for i in `find -name '*.hack-parent-poms'`
do
mv $i ${i%%%%.hack-parent-poms}
done
%install %install
install -d $RPM_BUILD_ROOT%{_javadir} %mvn_install
# Per jpp conventions, jars have version-numbered names and we add cd %parent_poms_builddir
# versionless symlinks. %mvn_install
install -m 644 jars/postgresql-%{upstreamver}.jdbc41.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
pushd $RPM_BUILD_ROOT%{_javadir} pushd $RPM_BUILD_ROOT%{_javadir}
# Also, for backwards compatibility with our old postgresql-jdbc packages, # Also, for backwards compatibility with our old postgresql-jdbc packages,
# add these symlinks. (Probably only the jdbc3 symlink really makes sense?) # add these symlinks. (Probably only the jdbc3 symlink really makes sense?)
ln -s postgresql-jdbc.jar postgresql-jdbc2.jar ln -s %{name}/postgresql.jar postgresql-jdbc.jar
ln -s postgresql-jdbc.jar postgresql-jdbc2ee.jar ln -s %{name}/postgresql.jar postgresql-jdbc2.jar
ln -s postgresql-jdbc.jar postgresql-jdbc3.jar ln -s %{name}/postgresql.jar postgresql-jdbc2ee.jar
ln -s %{name}/postgresql.jar postgresql-jdbc3.jar
popd popd
# Install the pom after inserting the correct version number
sed 's/UPSTREAM_VERSION/%{upstreamver}/g' %{SOURCE1} >JPP-%{name}.pom
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}/
install -m 644 JPP-%{name}.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -ra build/publicapi $RPM_BUILD_ROOT%{_javadocdir}/%{name}
install -d build/publicapi docs/%{name}
%check %check
%if 0%{?runselftest}
# Note that this requires to have PostgreSQL properly configured; for this
# reason the testsuite is turned off by default (see org/postgresql/test/README)
test_log=test.log
# TODO: more reliable testing
ant test 2>&1 | tee "$test_log" || :
( test -f "$test_log" && ! grep FAILED "$test_log" )
%endif
%files -f .mfiles %files -f .mfiles
%doc LICENSE README.md doc/* %license LICENSE
%doc README.md
%{_javadir}/%{name}.jar
%{_javadir}/%{name}2.jar %{_javadir}/%{name}2.jar
%{_javadir}/%{name}2ee.jar %{_javadir}/%{name}2ee.jar
%{_javadir}/%{name}3.jar %{_javadir}/%{name}3.jar
%files parent-poms -f %parent_poms_builddir/.mfiles
%files javadoc %files javadoc
%doc LICENSE %license LICENSE
%doc %{_javadocdir}/%{name} %doc %{_javadocdir}/%{name}
%changelog %changelog
* Wed Jul 20 2016 Pavel Raiskup <praiskup@redhat.com> - 9.4.1209-1
- update to latest release version, thanks to Pavel Kajaba, Michael Simacek and
Vladimir Sitnikov for big help
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.1200-3 * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.1200-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

View File

@ -1 +1,2 @@
6feafab5bc01ae9854e3cd8532adad54 postgresql-jdbc-9.4-1200.src.tar.gz c69ee412c0465529eb0c2f0d29b9e0a7 REL9.4.1209.tar.gz
c15959ae73c9afc52b77897b26216f97 REL1.0.8.tar.gz