rebase: most recent upstream version
Resolves: rhbz#1196445 Version: 9.4.1209-1
This commit is contained in:
parent
d941feffb6
commit
df7c1ce59f
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/postgresql-jdbc-9.4-1200.src.tar.gz
|
||||
/REL9.4.1209.tar.gz
|
||||
/REL1.0.8.tar.gz
|
||||
|
@ -26,37 +26,56 @@
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# 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 upstreamrel 1200
|
||||
%global upstreamver 9.4-%{upstreamrel}
|
||||
%global upstreamrel 1209
|
||||
%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
|
||||
Name: postgresql-jdbc
|
||||
Version: 9.4.%{upstreamrel}
|
||||
Release: 3%{?dist}
|
||||
Version: %upstreammajor.%{upstreamrel}
|
||||
Release: 1%{?dist}
|
||||
# ASL 2.0 applies only to postgresql-jdbc.pom file, the rest is BSD
|
||||
License: BSD and ASL 2.0
|
||||
Group: Applications/Databases
|
||||
URL: http://jdbc.postgresql.org/
|
||||
|
||||
Source0: http://jdbc.postgresql.org/download/%{name}-%{upstreamver}.src.tar.gz
|
||||
# originally http://repo2.maven.org/maven2/postgresql/postgresql/8.4-701.jdbc4/postgresql-8.4-701.jdbc4.pom:
|
||||
Source1: %{name}.pom
|
||||
Source0: https://github.com/pgjdbc/pgjdbc/archive/REL%version.tar.gz
|
||||
Source1: postgres-testing.sh
|
||||
|
||||
# Revert back fix for travis build which breaks our ant-build for version 1.9.2
|
||||
# & 1.9.4.
|
||||
# ~> downstream
|
||||
# ~> 1118667
|
||||
Patch0: postgresql-jdbc-9.3-1102-revert-88b9a034.patch
|
||||
# Upstream moved parent pom.xml into separate project (even though there is only
|
||||
# one dependant project on it?). Let's try to not complicate packaging by
|
||||
# having separate spec file for it, too.
|
||||
Source2: https://github.com/pgjdbc/pgjdbc-parent-poms/archive/REL%parent_ver.tar.gz
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: java-devel >= 1:1.8
|
||||
BuildRequires: java-devel >= 1.8
|
||||
BuildRequires: jpackage-utils
|
||||
BuildRequires: ant
|
||||
BuildRequires: ant-junit
|
||||
BuildRequires: junit
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: java-comment-preprocessor
|
||||
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
|
||||
#BuildRequires: gettext
|
||||
Requires: jpackage-utils
|
||||
@ -67,86 +86,138 @@ 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 parent-poms
|
||||
Summary: Build dependency management for pgjdbc.
|
||||
|
||||
%description parent-poms
|
||||
Pom files bringing dependencies required for successful PostgreSQL JDBC driver
|
||||
build.
|
||||
|
||||
|
||||
%package javadoc
|
||||
Summary: API docs for %{name}
|
||||
Group: Documentation
|
||||
Summary: API docs for %{name}
|
||||
Group: Documentation
|
||||
|
||||
%description javadoc
|
||||
This package contains the API Documentation for %{name}.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -c -q
|
||||
mv -f %{name}-%{upstreamver}.src/* .
|
||||
rm -f %{name}-%{upstreamver}.src/.gitignore
|
||||
rm -f %{name}-%{upstreamver}.src/.travis.yml
|
||||
rmdir %{name}-%{upstreamver}.src
|
||||
%setup -c -q -a 2 -n pgjdbc-REL%version
|
||||
|
||||
mv pgjdbc-REL%version/* .
|
||||
mv pgjdbc-parent-poms-REL%parent_ver pgjdbc-parent-poms
|
||||
|
||||
# remove any binary libs
|
||||
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
|
||||
export OPT_JAR_LIST="ant/ant-junit junit"
|
||||
export CLASSPATH=
|
||||
|
||||
# Ideally we would run "sh update-translations.sh" here, but that results
|
||||
# in inserting the build timestamp into the generated messages_*.class
|
||||
# files, which makes rpmdiff complain about multilib conflicts if the
|
||||
# different platforms don't build in the same minute. For now, rely on
|
||||
# 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 -d $RPM_BUILD_ROOT%{_javadir}
|
||||
# Per jpp conventions, jars have version-numbered names and we add
|
||||
# versionless symlinks.
|
||||
install -m 644 jars/postgresql-%{upstreamver}.jdbc41.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
|
||||
|
||||
%mvn_install
|
||||
cd %parent_poms_builddir
|
||||
%mvn_install
|
||||
|
||||
pushd $RPM_BUILD_ROOT%{_javadir}
|
||||
# Also, for backwards compatibility with our old postgresql-jdbc packages,
|
||||
# add these symlinks. (Probably only the jdbc3 symlink really makes sense?)
|
||||
ln -s postgresql-jdbc.jar postgresql-jdbc2.jar
|
||||
ln -s postgresql-jdbc.jar postgresql-jdbc2ee.jar
|
||||
ln -s postgresql-jdbc.jar postgresql-jdbc3.jar
|
||||
ln -s %{name}/postgresql.jar postgresql-jdbc.jar
|
||||
ln -s %{name}/postgresql.jar postgresql-jdbc2.jar
|
||||
ln -s %{name}/postgresql.jar postgresql-jdbc2ee.jar
|
||||
ln -s %{name}/postgresql.jar postgresql-jdbc3.jar
|
||||
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
|
||||
%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
|
||||
%doc LICENSE README.md doc/*
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_javadir}/%{name}.jar
|
||||
%{_javadir}/%{name}2.jar
|
||||
%{_javadir}/%{name}2ee.jar
|
||||
%{_javadir}/%{name}3.jar
|
||||
|
||||
%files parent-poms -f %parent_poms_builddir/.mfiles
|
||||
|
||||
%files javadoc
|
||||
%doc LICENSE
|
||||
%license LICENSE
|
||||
%doc %{_javadocdir}/%{name}
|
||||
|
||||
|
||||
%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
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user