From 80af49cad40295a2c975268428d7cdcb1f968038 Mon Sep 17 00:00:00 2001 From: Craig Ringer Date: Mon, 16 Dec 2019 16:03:04 +0800 Subject: [PATCH v1] Build PostGIS 2.5 for PostgreSQL 12 on EL-6 Includes a Dockerfile, wrapper script and entrypoint script to do the build. Restores proj49 as a dependency, since it was removed upstream. Creates link for PostGIS 2.5 on EL-6 Patches PostGIS spec file to depend on older proj, older geos, etc. --- build_postgis25_el6/Dockerfile | 31 +++ .../entrypoint_build_postgis25_el6.sh | 20 ++ .../epel-release-latest-6.noarch.rpm | Bin 0 -> 14540 bytes .../pgdg-redhat-repo-latest.noarch.rpm | Bin 0 -> 5888 bytes build_postgis25_el6/run_docker_build.sh | 56 ++++ rpm/redhat/12/geos36/EL-6 | 1 + rpm/redhat/common/Makefile.global | 2 +- rpm/redhat/common/Makefile.global-PG12 | 12 +- .../master/postgis25/master/postgis25.spec | 18 +- rpm/redhat/master/proj49/EL-6/Makefile | 17 ++ .../EL-6/proj-4.8.0-removeinclude.patch | 1 + .../master/proj49/EL-6/proj49-pgdg-libs.conf | 1 + rpm/redhat/master/proj49/EL-6/proj49.spec | 1 + rpm/redhat/master/proj49/master/Makefile | 17 ++ .../master/proj-4.8.0-removeinclude.patch | 10 + .../proj49/master/proj49-pgdg-libs.conf | 1 + rpm/redhat/master/proj49/master/proj49.spec | 239 ++++++++++++++++++ 17 files changed, 413 insertions(+), 14 deletions(-) create mode 100644 build_postgis25_el6/Dockerfile create mode 100755 build_postgis25_el6/entrypoint_build_postgis25_el6.sh create mode 100644 build_postgis25_el6/epel-release-latest-6.noarch.rpm create mode 100644 build_postgis25_el6/pgdg-redhat-repo-latest.noarch.rpm create mode 100755 build_postgis25_el6/run_docker_build.sh create mode 120000 rpm/redhat/12/geos36/EL-6 create mode 100644 rpm/redhat/master/proj49/EL-6/Makefile create mode 120000 rpm/redhat/master/proj49/EL-6/proj-4.8.0-removeinclude.patch create mode 120000 rpm/redhat/master/proj49/EL-6/proj49-pgdg-libs.conf create mode 120000 rpm/redhat/master/proj49/EL-6/proj49.spec create mode 100644 rpm/redhat/master/proj49/master/Makefile create mode 100644 rpm/redhat/master/proj49/master/proj-4.8.0-removeinclude.patch create mode 100644 rpm/redhat/master/proj49/master/proj49-pgdg-libs.conf create mode 100644 rpm/redhat/master/proj49/master/proj49.spec diff --git a/build_postgis25_el6/Dockerfile b/build_postgis25_el6/Dockerfile new file mode 100644 index 000000000..b80fd49cc --- /dev/null +++ b/build_postgis25_el6/Dockerfile @@ -0,0 +1,31 @@ +FROM centos:6 + +# usage: ./build_postgis25_el6/run_docker_build.sh + +VOLUME /pgrpms + +ADD epel-release-latest-6.noarch.rpm /root/ +RUN yum -y clean all && \ + rpm -i /root/epel-release-latest-6.noarch.rpm && \ + yum -y check-update; ecode=$?; if [ $ecode != 0 && $ecode != 100 ]; then exit 1; fi; \ + yum -y install yum-utils git make gcc gcc-c++ rpmbuild fakeroot spectool + +# from https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm +ADD pgdg-redhat-repo-latest.noarch.rpm /root/ +RUN rpm -i /root/pgdg-redhat-repo-latest.noarch.rpm && \ + yum -y check-update; ecode=$?; if [ $ecode != 0 && $ecode != 100 ]; then exit 1; fi; \ + yum-builddep -y postgresql12 + +ARG PGRPMS_UID +ARG PGRPMS_GID +ARG PGRPMS_USER +ARG PGRPMS_GROUP +RUN groupadd -g ${PGRPMS_GID:?} ${PGRPMS_GROUP} && \ + useradd -u ${PGRPMS_UID:?} -g ${PGRPMS_GID:?} ${PGRPMS_USER:?} + +ADD entrypoint_build_postgis25_el6.sh /entrypoint_build_postgis25_el6.sh +RUN chmod 0555 /entrypoint_build_postgis25_el6.sh + +WORKDIR /pgrpms/rpm/redhat/12/postgis25/EL-6 +RUN echo '%pgmajorversion 12' >> /root/.rpmmacros +CMD ["/bin/bash", "-c", "/entrypoint_build_postgis25_el6.sh"] diff --git a/build_postgis25_el6/entrypoint_build_postgis25_el6.sh b/build_postgis25_el6/entrypoint_build_postgis25_el6.sh new file mode 100755 index 000000000..26468ef7c --- /dev/null +++ b/build_postgis25_el6/entrypoint_build_postgis25_el6.sh @@ -0,0 +1,20 @@ +# Some of the prep used: +# +# git checkout caf2197d48ac8ee2fcb18a3ceaf3f9162c086aae^1 -- rpm/redhat/master/proj49/{master,EL-6} +# cp -a rpm/redhat/11/geos36/EL-6 rpm/redhat/12/geos36/EL-6 +# cp -a rpm/redhat/11/postgis25/EL-6 rpm/redhat/12/postgis25/EL-6 + +pushd rpm/redhat/master/proj49/EL-6/ +yum-builddep -y *.spec && make NO_GIT=1 rpm12 +yum install ./x86_64/proj49-4.9.3-3.rhel6.1.x86_64.rpm ./x86_64/proj49-devel-4.9.3-3.rhel6.1.x86_64.rpm +popd + +pushd rpm/redhat/12/geos36/EL-6 +yum-builddep -y *.spec && make NO_GIT=1 rpm12 +yum install ./x86_64/geos36-3.6.3-1.rhel6.1.x86_64.rpm ./x86_64/geos36-devel-3.6.3-1.rhel6.1.x86_64.rpm +popd + +pushd rpm/redhat/12/postgis25/EL-6 +# Requires patched spec file to change required geos and proj, disable SFCGAL and change gdaldir to /usr +yum-builddep -y *.spec && make NO_GIT=1 rpm12 +popd diff --git a/build_postgis25_el6/epel-release-latest-6.noarch.rpm b/build_postgis25_el6/epel-release-latest-6.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..588a577e489358a3b9638f3b90c527034fcb8565 GIT binary patch literal 14540 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 literal 0 HcmV?d00001 diff --git a/build_postgis25_el6/pgdg-redhat-repo-latest.noarch.rpm b/build_postgis25_el6/pgdg-redhat-repo-latest.noarch.rpm new file mode 100644 index 0000000000000000000000000000000000000000..9b3560ddc81f35620395fa5f4ea5b4d80692d7d1 GIT binary patch literal 5888 zcmbVQ3pkWn`2WTwLXoI+(N}7tHN!A7hUkKFi4qZ_n#(t1n49@NmuOQeNh#@Oi(Y zP$+UCUr1G8{16TSKrW*)tZ0^0ChYsa77C*NZ_(Z7UQozy8UR~CoewH(*Mh1CCe|i7 z0K^sWF#t!6v=J~?^#y3Ffl7c1c_%o6P&ryyX*$WVSY(h_-q1 z^0c|fOyh^+T2s2J3?498HkK?KfsKI8vBmfTjt!T?#@Jjwoh4w{GBJ!{!?wiObZamt zD2D7Qp&F9j7ggqgO9q}jLxMN`w;k_vk<3FDV{0auv5vVt_3ybs4d%F5to20F$EsZ& zcX!*VwW~J>WU-Sr-FTi_5{DquKY$68J{%q%P62J;0|fbppV)-Mh~$g7V!YhdzdUnB)ckfek8S0fP0Y z83F|3RiM4lzKH;Vyox$3V4Ru}*}sY8(CjwH& zp*|3YYPJBOycfysM!1><$sI@dC>XQ)K;8u)7(WW`Gqlf@gf4<`E)Nxp{U1tf>(46IwD6(C$M ze}rp7J&6?h0Rnq9(?}jg_UDp3n&j6; z`1pM!F9%3*LjIjk5tvUACgLT-384b>S>b_txj4I^-d>(K6%B}xpxz+s;vzz(SdTi% zqymvJLct+KGASyMDL^M5b>$GK1?q%JiRC`X$`BEb$~n9+ju1n6GAY3kNpW;N&;!VS z3|=fHFoj$p!ZFlCB#nqRCzY9Nain~dBgSPY5rUyEUM^@Dwq7~!UpCSZm_fs2p&}{| zSRlh$)Mz$~%3@IELT-de4Bb4f>hIMdzEWI{@k9a<#z#U3LXO*6SOD{AV3E)Pc(|A* zQwR|;Gz5{#I0_y-8Ol^O>N8_a(=IJxUK!sOX-`CO2NSu7SG zW3cELondJSva^+?4WGeh2-rMJCX2~qvN&uumutn~+1LoIm|QlKWo2p2XCPc#jLoET z=@^^C=kXbAE`v_T7)&~y!DaES_%@g&htFa#fp#_%Awe={qG|+Vgv{{O>m&K{#h+Bf@ks9 zZ7#+*IEMVEUSNV)#5Hx2N#tN(aE!l1B*vC;Bp7ankbUrrvq*^H#NXe%IP1kSj#3zR z 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 literal 0 HcmV?d00001 diff --git a/build_postgis25_el6/run_docker_build.sh b/build_postgis25_el6/run_docker_build.sh new file mode 100755 index 000000000..f8b2a32e0 --- /dev/null +++ b/build_postgis25_el6/run_docker_build.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# +# Use a container to build PostGIS 2.5 for PostgreSQL 2.5 on CentOS/RHEL 6 +# + +SUDO=${SUDO:-sudo} + +if [ "$(id -u)" -eq 0 ] +then + echo "Do not run this script as root, run it as the owner of the" + echo "checked out pgrpms git tree." + exit 1 +fi + +if ! [ -e rpm/redhat/common/Makefile.global ] +then + echo "rpm/redhat/common/Makefile.global not found" + echo "Run from the root of the pgrpms directory" + echo "(cwd is now $(pwd))" + exit 1 +fi + +if ! test -O "." +then + echo "$(pwd) is now owned by current user, run as user who owns it" + exit 1 +fi + +set -e -u + +if [ -n "$(which getenforce 2>/dev/null)" ] +then + if [ "$(getenforce)" = "Enforcing" ]; then + echo "-------------------------------------------------------" + echo "WARNING: SELinux is in enforcing mode and may interfere" + echo "with Docker bind mounts unless you relabel the tree." + echo + echo "Consider running 'setenforce 0' for the build then" + echo "re-enabling SELinux with 'setenforce 1' afterwards." + echo "-------------------------------------------------------" + else + echo "SELinux detected: $(getenforce)"; + fi +fi + +sudo docker build -t build_postgis25_el6 \ + --build-arg PGRPMS_UID=$(id -u) --build-arg PGRPMS_GID=$(id -g) \ + --build-arg PGRPMS_USER=$(id -un) --build-arg PGRPMS_GROUP=$(id -gn) \ + build_postgis25_el6 + +sudo docker rm buildit >&/dev/null || true + +sudo docker run --rm -v `pwd`:/pgrpms -it --name buildit \ + build_postgis25_el6:latest + +find rpm/redhat/ -name \*.rpm diff --git a/rpm/redhat/12/geos36/EL-6 b/rpm/redhat/12/geos36/EL-6 new file mode 120000 index 000000000..4d466ba64 --- /dev/null +++ b/rpm/redhat/12/geos36/EL-6 @@ -0,0 +1 @@ +../../master/geos36/EL-6 \ No newline at end of file diff --git a/rpm/redhat/common/Makefile.global b/rpm/redhat/common/Makefile.global index 5281a2b9d..c8b4ef5cb 100644 --- a/rpm/redhat/common/Makefile.global +++ b/rpm/redhat/common/Makefile.global @@ -18,7 +18,7 @@ prep: if [ -f dead.package ]; then echo "This package is marked as dead. Build won't continue"; exit 1; fi # Update spec file, patches, etc, before running spectool: - git pull + if [ -z "$(NO_GIT)" ]; then git pull; fi # Use spectool to download source files, especially tarballs. spectool -g -S $(SPECFILE) diff --git a/rpm/redhat/common/Makefile.global-PG12 b/rpm/redhat/common/Makefile.global-PG12 index d19f6c7a8..00255a67f 100644 --- a/rpm/redhat/common/Makefile.global-PG12 +++ b/rpm/redhat/common/Makefile.global-PG12 @@ -20,7 +20,7 @@ prep12: if [ -f dead.package ]; then echo "This package is marked as dead. Build won't continue"; exit 1; fi # Update spec file, patches, etc, before running spectool: - git pull + if [ -z "$(NO_GIT)" ]; then git pull; fi # Use spectool to download source files, especially tarballs. spectool -g -S --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" $(SPECFILE) @@ -39,21 +39,21 @@ srpm12: prep12 --define "_builddir ." --define "_srcrpmdir ." --sign \ --define "_buildrootdir $(HOME)/rpm12/BUILDROOT" \ --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" \ - --define "_rpmdir ." --define "dist $(DIST)" --nodeps -bs $(SPECFILE) + --define "_rpmdir ." --define "dist $(DIST)" -bs $(SPECFILE) bfsrpm12: prep12 rpmbuild --define "_sourcedir ." --define "_specdir ." \ --define "_builddir ." --define "_srcrpmdir $(HOME)/rpm12/SRPMS" --sign \ --define "_buildrootdir $(HOME)/rpm12/BUILDROOT" \ --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" \ - --define "_rpmdir ." --define "dist $(DIST)" --nodeps -bs $(SPECFILE) + --define "_rpmdir ." --define "dist $(DIST)" -bs $(SPECFILE) bfnosignsrpm12: prep12 rpmbuild --define "_sourcedir ." --define "_specdir ." \ --define "_buildrootdir $(HOME)/rpm12/BUILDROOT" \ --define "_builddir ." --define "_srcrpmdir $(HOME)/rpm12/SRPMS" \ --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" \ - --define "_rpmdir ." --define "dist $(DIST)" --nodeps -bs $(SPECFILE) + --define "_rpmdir ." --define "dist $(DIST)" -bs $(SPECFILE) rpm12: prep12 rpmbuild --define "_sourcedir $(PWD)" \ @@ -80,7 +80,7 @@ noprepbuild12: --define "_builddir ." --define "_srcrpmdir $(HOME)/rpm12/SRPMS" --sign \ --define "_buildrootdir $(HOME)/rpm12/BUILDROOT" \ --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" \ - --define "_rpmdir ." --define "dist $(DIST)" --nodeps -bs $(SPECFILE) + --define "_rpmdir ." --define "dist $(DIST)" -bs $(SPECFILE) rpmbuild --define "_sourcedir $(PWD)" \ --define "_specdir $(PWD)" \ @@ -106,5 +106,5 @@ noprepsrpm12: --define "_builddir ." --define "_srcrpmdir ." \ --define "_buildrootdir $(HOME)/rpm12/BUILDROOT" \ --define "pgmajorversion 12" --define "pginstdir /usr/pgsql-12" --define "pgpackageversion 12" \ - --define "_rpmdir ." --define "dist $(DIST)" --nodeps -bs $(SPECFILE) + --define "_rpmdir ." --define "dist $(DIST)" -bs $(SPECFILE) diff --git a/rpm/redhat/master/postgis25/master/postgis25.spec b/rpm/redhat/master/postgis25/master/postgis25.spec index 17f16bb57..3f32eae45 100644 --- a/rpm/redhat/master/postgis25/master/postgis25.spec +++ b/rpm/redhat/master/postgis25/master/postgis25.spec @@ -4,13 +4,13 @@ %global postgisprevmajorversion 2.4 %global sname postgis -%global geosversion 38 +%global geosversion 36 %global gdalversion 30 -%global projversion 62 +%global projversion 49 %global geosinstdir /usr/geos%{geosversion} %global projinstdir /usr/proj%{projversion} -%global gdalinstdir /usr/gdal%{gdalversion} +%global gdalinstdir /usr/ %global gdalminorversion 3.0.2 @@ -28,7 +28,8 @@ %if 0%{?fedora} >= 27 || 0%{?rhel} >= 6 || 0%{?suse_version} >= 1315 %ifnarch ppc64 ppc64le # TODO -%{!?sfcgal:%global sfcgal 1} +# disabled for EL-6 +%{!?sfcgal:%global sfcgal 0} %else %{!?sfcgal:%global sfcgal 0} %endif @@ -56,7 +57,7 @@ Patch1: %{sname}%{postgiscurrmajorversion}-%{postgismajorversion}.1-el6pragma.p URL: http://www.postgis.net/ -BuildRequires: postgresql%{pgmajorversion}-devel, geos%{geosversion}-devel >= 3.8.0, pcre-devel +BuildRequires: postgresql%{pgmajorversion}-devel, geos%{geosversion}-devel >= 3.6.0, pcre-devel %if 0%{?suse_version} %if 0%{?suse_version} >= 1315 BuildRequires: libjson-c-devel libproj-devel @@ -89,7 +90,7 @@ BuildRequires: advance-toolchain-%{atstring}-devel %endif Requires: postgresql%{pgmajorversion} postgresql%{pgmajorversion}-contrib -Requires: geos%{geosversion} >= 3.8.0 proj%{projversion} xerces-c +Requires: geos%{geosversion} >= 3.6.0 proj%{projversion} xerces-c %if 0%{?rhel} && 0%{?rhel} < 6 Requires: hdf5 < 1.8.7 %else @@ -241,7 +242,7 @@ LDFLAGS="$LDFLAGS -L%{geosinstdir}/lib64 -L%{projinstdir}/lib64"; export LDFLAGS %endif --enable-rpath --libdir=%{pginstdir}/lib \ --with-geosconfig=/%{geosinstdir}/bin/geos-config \ - --with-gdalconfig=%{gdalinstdir}/bin/gdal-config \ + --with-gdalconfig=%{gdalinstdir}/bin/gdal-config-64 \ --with-projdir=%{projinstdir} SHLIB_LINK="$SHLIB_LINK" %{__make} LPATH=`%{pginstdir}/bin/pg_config --pkglibdir` shlib="%{sname}-%{postgismajorversion}.so" @@ -385,6 +386,9 @@ fi %endif %changelog +* Mon Dec 16 2019 Craig Ringer +- Rebuild for PostgreSQL 12 on CentOS 6 using GEOS 3.6 + * Thu Sep 26 2019 Devrim Gündüz 2.5.3-6 - Rebuild for GEOS 3.8.0, Proj 6.2.1 and GDAL 3.0.2 diff --git a/rpm/redhat/master/proj49/EL-6/Makefile b/rpm/redhat/master/proj49/EL-6/Makefile new file mode 100644 index 000000000..7d7c98764 --- /dev/null +++ b/rpm/redhat/master/proj49/EL-6/Makefile @@ -0,0 +1,17 @@ +################################# +# RPM-specific Makefile # +# https://yum.postgresql.org # +# # +# Devrim Gunduz # +# devrim@gunduz.org # +################################# + +# Predefined values + +ARCH=`rpm --eval "%{_arch}"` +DIR=`pwd` +DIST=.rhel6 +SPECFILE="proj49.spec" + +# Now, include global Makefile +include ../../../common/Makefile.global diff --git a/rpm/redhat/master/proj49/EL-6/proj-4.8.0-removeinclude.patch b/rpm/redhat/master/proj49/EL-6/proj-4.8.0-removeinclude.patch new file mode 120000 index 000000000..d78b7fff2 --- /dev/null +++ b/rpm/redhat/master/proj49/EL-6/proj-4.8.0-removeinclude.patch @@ -0,0 +1 @@ +../master/proj-4.8.0-removeinclude.patch \ No newline at end of file diff --git a/rpm/redhat/master/proj49/EL-6/proj49-pgdg-libs.conf b/rpm/redhat/master/proj49/EL-6/proj49-pgdg-libs.conf new file mode 120000 index 000000000..ca62b05d2 --- /dev/null +++ b/rpm/redhat/master/proj49/EL-6/proj49-pgdg-libs.conf @@ -0,0 +1 @@ +../master/proj49-pgdg-libs.conf \ No newline at end of file diff --git a/rpm/redhat/master/proj49/EL-6/proj49.spec b/rpm/redhat/master/proj49/EL-6/proj49.spec new file mode 120000 index 000000000..2135b70fe --- /dev/null +++ b/rpm/redhat/master/proj49/EL-6/proj49.spec @@ -0,0 +1 @@ +../master/proj49.spec \ No newline at end of file diff --git a/rpm/redhat/master/proj49/master/Makefile b/rpm/redhat/master/proj49/master/Makefile new file mode 100644 index 000000000..f2aa7d79e --- /dev/null +++ b/rpm/redhat/master/proj49/master/Makefile @@ -0,0 +1,17 @@ +################################# +# RPM-specific Makefile # +# https://yum.postgresql.org # +# # +# Devrim Gunduz # +# devrim@gunduz.org # +################################# + +# Predefined values + +ARCH=`rpm --eval "%{_arch}"` +DIR=`pwd` +DIST=.f42 +SPECFILE="proj49.spec" + +# Now, include global Makefile +include ../../../common/Makefile.global diff --git a/rpm/redhat/master/proj49/master/proj-4.8.0-removeinclude.patch b/rpm/redhat/master/proj49/master/proj-4.8.0-removeinclude.patch new file mode 100644 index 000000000..dd0898589 --- /dev/null +++ b/rpm/redhat/master/proj49/master/proj-4.8.0-removeinclude.patch @@ -0,0 +1,10 @@ +--- src/jniproj.c.old 2012-04-21 00:01:12.286146452 +0300 ++++ src/jniproj.c 2012-04-21 00:01:18.128146582 +0300 +@@ -49,7 +49,6 @@ + #include + #include + #include "projects.h" +-#include "org_proj4_PJ.h" + #include + + #define PJ_FIELD_NAME "ptr" diff --git a/rpm/redhat/master/proj49/master/proj49-pgdg-libs.conf b/rpm/redhat/master/proj49/master/proj49-pgdg-libs.conf new file mode 100644 index 000000000..d85b63a96 --- /dev/null +++ b/rpm/redhat/master/proj49/master/proj49-pgdg-libs.conf @@ -0,0 +1 @@ +/usr/proj49/lib/ diff --git a/rpm/redhat/master/proj49/master/proj49.spec b/rpm/redhat/master/proj49/master/proj49.spec new file mode 100644 index 000000000..b53989a59 --- /dev/null +++ b/rpm/redhat/master/proj49/master/proj49.spec @@ -0,0 +1,239 @@ +%global sname proj +%global projinstdir /usr/%{sname}49 + +%ifarch ppc64 ppc64le +# Define the AT version and path. +%global atstring at10.0 +%global atpath /opt/%{atstring} +%endif + +Name: %{sname}49 +Version: 4.9.3 +Release: 3%{?dist}.1 +Epoch: 0 +Summary: Cartographic projection software (PROJ.4) + +License: MIT +URL: http://trac.osgeo.org/proj +Source0: http://download.osgeo.org/%{sname}/%{sname}-%{version}.tar.gz +Source1: http://download.osgeo.org//proj/proj-datumgrid-1.5.zip +Source2: %{name}-pgdg-libs.conf + +Patch0: proj-4.8.0-removeinclude.patch + +BuildRequires: libtool + +%ifarch ppc64 ppc64le +BuildRequires: advance-toolchain-%{atstring}-devel +%endif + +%ifarch ppc64 ppc64le +AutoReq: 0 +Requires: advance-toolchain-%{atstring}-runtime +%endif + +%package devel +Summary: Development files for PROJ.4 +Requires: %{name} = %{version}-%{release} +%ifarch ppc64 ppc64le +AutoReq: 0 +Requires: advance-toolchain-%{atstring}-runtime +%endif + +%package nad +Summary: US, Canadian, French and New Zealand datum shift grids for PROJ.4 +Requires: %{name} = %{version}-%{release} +%ifarch ppc64 ppc64le +AutoReq: 0 +Requires: advance-toolchain-%{atstring}-runtime +%endif + +%package epsg +Summary: EPSG dataset for PROJ.4 +Requires: %{name} = %{version}-%{release} +%ifarch ppc64 ppc64le +AutoReq: 0 +Requires: advance-toolchain-%{atstring}-runtime +%endif + +%package static +Summary: Development files for PROJ.4 +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +%ifarch ppc64 ppc64le +AutoReq: 0 +Requires: advance-toolchain-%{atstring}-runtime +%endif + +%description +Proj and invproj perform respective forward and inverse transformation of +cartographic data to or from cartesian data with a wide range of selectable +projection functions. Proj docs: http://www.remotesensing.org/dl/new_docs/ + +%description devel +This package contains libproj and the appropriate header files and man pages. + +%description nad +This package contains additional US and Canadian datum shift grids. + +%description epsg +This package contains additional EPSG dataset. + +%description static +This package contains libproj static library. + +%prep +%setup -q -n %{sname}-%{version} + +# disable internal libtool to avoid hardcoded r-path +for makefile in `find . -type f -name 'Makefile.in'`; do +sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' $makefile +done + +# Prepare nad +cd nad +unzip %{SOURCE1} +cd .. +# fix shebag header of scripts +for script in `find nad/ -type f -perm -a+x`; do +sed -i -e '1,1s|:|#!/bin/bash|' $script +done + +%build +# fix version info to respect new ABI +sed -i -e 's|5\:4\:5|6\:4\:6|' src/Makefile* + +%ifarch ppc64 ppc64le + CFLAGS="${CFLAGS} $(echo %{__global_cflags} | sed 's/-O2/-O3/g') -m64 -mcpu=power8 -mtune=power8 -I%{atpath}/include" + CXXFLAGS="${CXXFLAGS} $(echo %{__global_cflags} | sed 's/-O2/-O3/g') -m64 -mcpu=power8 -mtune=power8 -I%{atpath}/include" + LDFLAGS="-L%{atpath}/%{_lib}" + CC=%{atpath}/bin/gcc; export CC +%endif +LDFLAGS="-Wl,-rpath,/usr/proj49/lib64 ${LDFLAGS}" ; export LDFLAGS +SHLIB_LINK="$SHLIB_LINK -Wl,-rpath,/usr/proj49/lib" ; export SHLIB_LINK + +#./configure --exec-prefix=/usr/proj49 --libdir=/usr/proj49/lib --without-jni +./configure --prefix=%{projinstdir} --without-jni +#make OPTIMIZE="$RPM_OPT_FLAGS" %{?_smp_mflags} +%{__make} %{?_smp_mflags} + +%install +%{__rm} -rf %{buildroot} +%make_install +%{__install} -d %{buildroot}%{projinstdir}/share/%{sname} +%{__install} -d %{buildroot}%{projinstdir}/share/doc/ +%{__install} -p -m 0644 nad/pj_out27.dist nad/pj_out83.dist nad/td_out.dist %{buildroot}%{projinstdir}/share/%{sname} +%{__install} -p -m 0755 nad/test27 nad/test83 nad/testvarious %{buildroot}%{projinstdir}/share/%{sname} +%{__install} -p -m 0644 nad/epsg %{buildroot}%{projinstdir}/share/%{sname} +%{__install} -p -m 0644 NEWS AUTHORS COPYING README ChangeLog %{buildroot}%{projinstdir}/share/doc/ + +# Install linker config file: +%{__mkdir} -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +%{__install} %{SOURCE2} %{buildroot}%{_sysconfdir}/ld.so.conf.d/ + +%check +pushd nad +# set test enviroment for porj +export PROJ_LIB=%{buildroot}%{projinstdir}/share/%{sname} +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH%{buildroot}%{projinstdir}/lib +# run tests for proj +./test27 %{buildroot}%{projinstdir}/bin/%{sname} || exit 0 +./test83 %{buildroot}%{projinstdir}/bin/%{sname} || exit 0 +./testntv2 %{buildroot}%{projinstdir}/bin/%{sname} || exit 0 +./testvarious %{buildroot}%{projinstdir}/bin/%{sname} || exit 0 +popd + +%clean +%{__rm} -rf %{buildroot} + +%post +%ifarch ppc64 ppc64le +%{atpath}/sbin/ldconfig +%else +/sbin/ldconfig +%endif + +%postun +%ifarch ppc64 ppc64le +%{atpath}/sbin/ldconfig +%else +/sbin/ldconfig +%endif + +%files +%defattr(-,root,root,-) +%doc %{projinstdir}/share/doc/* +%{projinstdir}/bin/* +%{projinstdir}/share/man/man1/*.1 +%{projinstdir}/lib/libproj.so.12* +%config(noreplace) %attr (644,root,root) %{_sysconfdir}/ld.so.conf.d/%{name}-pgdg-libs.conf + +%files devel +%defattr(-,root,root,-) +%{projinstdir}/share/man/man3/*.3 +%{projinstdir}/include/*.h +%{projinstdir}/lib/*.so +%{projinstdir}/lib/*.a +#%attr(0755,root,root) %{projinstdir}/pkgconfig/%{sname}.pc +%exclude %{projinstdir}/lib/libproj.a +%exclude %{projinstdir}/lib/libproj.la + +%files static +%defattr(-,root,root,-) +%{projinstdir}/lib/libproj.a +%{projinstdir}/lib/libproj.la + +%files nad +%defattr(-,root,root,-) +%doc nad/README +%attr(0755,root,root) %{projinstdir}/share/%{sname}/test27 +%attr(0755,root,root) %{projinstdir}/share/%{sname}/test83 +%attr(0755,root,root) %{projinstdir}/share/%{sname}/testvarious +%attr(0755,root,root) %{projinstdir}/lib/pkgconfig/%{sname}.pc +%exclude %{projinstdir}/share/%{sname}/epsg +%{projinstdir}/share/%{sname} + +%files epsg +%defattr(-,root,root,-) +%doc nad/README +%attr(0644,root,root) %{projinstdir}/share/%{sname}/epsg + +%changelog +* Mon Oct 15 2018 Devrim Gündüz - 0:4.9.3-3.1 +- Rebuild against PostgreSQL 11.0 + +* Tue Nov 28 2017 Devrim Gündüz - 4.9.3-3 +- Fix linker config file contents. Per report from Daniel Farina. + +* Thu Nov 23 2017 Devrim Gündüz - 4.9.3-2 +- Add a linker config file to satisfy GDAL and other packages + which we use while building PostGIS. + +* Tue Nov 21 2017 Devrim Gündüz 4.9.3-1 +- Update to 4.9.3 + +* Mon Apr 24 2017 Devrim Gündüz 4.9.2-1 +- Update to 4.9.2 + +* Wed Mar 11 2015 Devrim Gündüz 4.9.1-1 +- Update to 4.9.1 +- track soname so bumps are not a suprise. +- -devel: include .pc file here (left copy in -nad too) + +* Thu Jul 26 2012 Devrim Gündüz - 0:4.8.0-2 +- Add --without-jni to configure, for clean build.. + +* Wed Apr 04 2012 - Devrim Gündüz - 0:4.8.0-1 +- Update to 4.8.0 + +* Thu Dec 10 2009 - Devrim Gündüz - 0:4.7.0-1 +- Update to 4.7.0 +- Update proj-datumgrid to 1.5 +- Fix attr issue for epsg package. + +* Tue Dec 2 2008 - Devrim Gündüz - 0:4.6.1-1 +- Update to 4.6.1 +- Update URLs + +* Thu Apr 3 2008 - Devrim Gündüz - 0:4.6.0-1 +- Initial build for yum.postgresql.org, based on Fedora/EPEL spec. + -- 2.23.0