From a32af88b8a36932b238d8eae28bc49e070f7c3f8 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 11 Jan 2020 10:27:37 +0100 Subject: [PATCH] Proj and gdla are now in /usr/local prefix --- fedora/SPECS/{gdal.spec => gdal3.spec} | 32 +++++++----- fedora/SPECS/{proj.spec => proj6.spec} | 68 ++++++++++++++------------ 2 files changed, 56 insertions(+), 44 deletions(-) rename fedora/SPECS/{gdal.spec => gdal3.spec} (85%) rename fedora/SPECS/{proj.spec => proj6.spec} (60%) diff --git a/fedora/SPECS/gdal.spec b/fedora/SPECS/gdal3.spec similarity index 85% rename from fedora/SPECS/gdal.spec rename to fedora/SPECS/gdal3.spec index aeab5cb..7d40185 100644 --- a/fedora/SPECS/gdal.spec +++ b/fedora/SPECS/gdal3.spec @@ -1,9 +1,17 @@ %define bashcompletiondir %{_sysconfdir}/bash_completion.d %define realname gdal +Prefix: /opt +%define sysprefix /usr +%define _prefix /usr/local +%define _includedir %{_prefix}/include +%define _datadir %{_prefix}/share +%define _bindir %{_prefix}/bin +%define _libdir %{_prefix}/lib64 +%define _mandir %{_prefix}/man Name: gdal3 Version: 3.0.2 -Release: 2%{?dist} +Release: 1%{?dist} #define debug_package #{nil} License: MIT Group: Applications/System @@ -24,9 +32,9 @@ BuildRequires: perl-generators BuildRequires: openjpeg2-devel BuildRequires: openjpeg-devel BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: %{_bindir}/pkg-config +BuildRequires: %{sysprefix}/bin/pkg-config BuildRequires: libpq-devel -BuildRequires: proj-devel >= 6.0.2 +BuildRequires: proj6-devel >= 6.0.2 %if %{with python2} BuildRequires: python2-devel BuildRequires: python2-numpy @@ -38,8 +46,6 @@ BuildRequires: python3-numpy BuildRequires: sqlite-devel BuildRequires: swig -Obsoletes: gdal < 3 - %global DONT_REMOVE_RPATH 1 # don't check for rpath: %global __arch_install_post /usr/lib/rpm/check-buildroot @@ -77,8 +83,8 @@ This package contains the GDAL file format library. %build ./configure \ - --datadir=%{_datadir}/%{name} \ - --includedir=%{_includedir}/%{name} \ + --datadir=%{_datadir}/%{realname} \ + --includedir=%{_includedir}/%{realname} \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ @@ -86,17 +92,17 @@ This package contains the GDAL file format library. --with-curl \ --with-freexl \ --with-geos \ - --with-png=%{_prefix} \ + --with-png=%{sysprefix} \ --with-gif \ --with-gta \ --with-jpeg \ --without-jpeg12 \ --with-liblzma \ - --with-libtiff=%{_prefix} \ + --with-libtiff=%{sysprefix} \ --with-libz \ --without-mdb \ --without-msg \ - --with-proj \ + --with-proj=%{_prefix} \ --with-threads \ --enable-shared @@ -142,13 +148,13 @@ mv %{buildroot}%{_prefix}/etc %{buildroot}/ %doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITTERS %{_libdir}/libgdal.so.26 %{_libdir}/libgdal.so.26.* -%{_datadir}/%{name}/* +%{_datadir}/%{realname}/* #TODO: Possibly remove files like .dxf, .dgn, ... %dir %{_libdir}/%{realname}plugins %files devel -%{_bindir}/%{name}-config -%{_includedir}/%{name}/*.h +%{_bindir}/%{realname}-config +%{_includedir}/%{realname}/*.h %{_libdir}/*.a %{_libdir}/*.la %{_libdir}/*.so diff --git a/fedora/SPECS/proj.spec b/fedora/SPECS/proj6.spec similarity index 60% rename from fedora/SPECS/proj.spec rename to fedora/SPECS/proj6.spec index 504460e..8e5aa8b 100644 --- a/fedora/SPECS/proj.spec +++ b/fedora/SPECS/proj6.spec @@ -1,6 +1,12 @@ %global proj_version 6.3.0 %global datumgrid_version 1.8 %define realname proj +%define _prefix /usr/local +%define _includedir %{_prefix}/include +%define _datadir %{_prefix}/share +%define _bindir %{_prefix}/bin +%define _libdir %{_prefix}/lib64 +%define _mandir %{_datadir}/man Name: proj6 Version: %{proj_version} @@ -21,7 +27,7 @@ projection functions. %package devel Summary: Development files for PROJ.4 -Requires: %{realname}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains libproj and the appropriate header files and man pages. @@ -29,21 +35,23 @@ This package contains libproj and the appropriate header files and man pages. %package static Summary: Development files for PROJ.4 -Requires: %{realname}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description static This package contains libproj static library. %prep -%autosetup +%setup -q -n %{realname}-%{version} %build # rebuild due to patch autoreconf -i -%configure \ - --includedir=%{_includedir}/%{name} \ - --datarootdir=%{_datadir}/%{name} +./configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --includedir=%{_includedir} \ + --datarootdir=%{_datadir} sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool @@ -51,13 +59,8 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %install -%make_install +make install DESTDIR=%{buildroot} chmod -x %{buildroot}%{_libdir}/libproj.la -install -p -m 0644 nad/README.DATUMGRID %{buildroot}%{_datadir}/%{name} -for f in $(egrep '^\/usr' datumgrid.files); do - bf=$(basename $f) - install -m 0644 nad/$bf %{buildroot}%{_datadir}/%{name}/$bf -done # Install cmake config manually because we use autotools for building mkdir -p %{buildroot}%{_datadir}/cmake/Modules/ @@ -67,9 +70,9 @@ set(PROJ4_FOUND 1) set(PROJ4_INCLUDE_DIRS %{_includedir}) set(PROJ4_LIBRARIES proj) if(\${LIB_SUFFIX} MATCHES 64) -set(PROJ4_LIBRARY_DIRS /usr/lib64) +set(PROJ4_LIBRARY_DIRS %{_libdir}) else() -set(PROJ4_LIBRARY_DIRS /usr/lib) +set(PROJ4_LIBRARY_DIRS %{_prefix}/lib) endif() set(PROJ4_BINARY_DIRS %{_bindir}) set(PROJ4_VERSION %{proj_version}) @@ -79,7 +82,7 @@ EOF %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ - make PROJ_LIB=%{buildroot}%{_datadir}/%{name} check || ( cat src/test-suite.log; exit 1 ) + make PROJ_LIB=%{buildroot}%{_datadir}/%{realname} check || ( cat src/test-suite.log; exit 1 ) %files @@ -87,27 +90,27 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ %{_bindir}/* %{_mandir}/man1/*.1* %{_libdir}/libproj.so.15* -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/CH -%{_datadir}/%{name}/GL27 -%{_datadir}/%{name}/ITRF2000 -%{_datadir}/%{name}/ITRF2008 -%{_datadir}/%{name}/ITRF2014 -%{_datadir}/%{name}/nad.lst -%{_datadir}/%{name}/nad27 -%{_datadir}/%{name}/nad83 -%{_datadir}/%{name}/null -%{_datadir}/%{name}/other.extra -%{_datadir}/%{name}/world -%{_datadir}/%{name}/projjson.schema.json -%{_datadir}/%{name}/%{name}.db +%dir %{_datadir}/%{realname} +%{_datadir}/%{realname}/CH +%{_datadir}/%{realname}/GL27 +%{_datadir}/%{realname}/ITRF2000 +%{_datadir}/%{realname}/ITRF2008 +%{_datadir}/%{realname}/ITRF2014 +%{_datadir}/%{realname}/nad.lst +%{_datadir}/%{realname}/nad27 +%{_datadir}/%{realname}/nad83 +%{_datadir}/%{realname}/null +%{_datadir}/%{realname}/other.extra +%{_datadir}/%{realname}/world +%{_datadir}/%{realname}/projjson.schema.json +%{_datadir}/%{realname}/%{realname}.db %files devel %{_mandir}/man3/*.3* %{_includedir}/*.h -%{_includedir}/%{name}/*.hpp +%{_includedir}/%{realname}/*.hpp %{_libdir}/libproj.so -%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/pkgconfig/%{realname}.pc %{_datadir}/cmake/Modules/FindPROJ4.cmake %exclude %{_libdir}/libproj.a %exclude %{_libdir}/libproj.la @@ -118,6 +121,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ %changelog +* Sat Jan 11 2020 Daniel Steiner +- New name proj6 and relocation to /usr/local. + * Mon Jan 6 2020 Daniel Steiner - Initial build