FTBFS fixes, perl/python/libtool
- drop RPATH according [1] - fix perl build issue - add BR tex(tabu.sty) - don't hack the build system peculiarities, and rather build without --with-python/--with-perl - use standard %py*{build,install} macros - rename gdal-python3 to python3-gdal Resolves: rhbz#1577185, rhbz#1606875 [1] https://fedoraproject.org/wiki/RPath_Packaging_Draft
This commit is contained in:
parent
672d962609
commit
024a13db9a
|
@ -0,0 +1,46 @@
|
||||||
|
From 33beac3add11101ba09b3261adcd3375f87b51dd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||||||
|
Date: Tue, 21 Aug 2018 12:58:49 +0200
|
||||||
|
Subject: [PATCH] swig-perl: fix make dep graph
|
||||||
|
|
||||||
|
Makefile_Geo__GDAL must depend on Makefile.PL, instead of
|
||||||
|
non-existing gdal_wrap.cc (otherwise the module rebuilds on every
|
||||||
|
make hit).
|
||||||
|
|
||||||
|
Upstream proposal:
|
||||||
|
https://github.com/OSGeo/gdal/pull/876
|
||||||
|
|
||||||
|
Also the 'generate' target should be .PHONY.
|
||||||
|
---
|
||||||
|
gdal/swig/perl/GNUmakefile | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/swig/perl/GNUmakefile b/swig/perl/GNUmakefile
|
||||||
|
index 68d389d..2dfd533 100644
|
||||||
|
--- a/swig/perl/GNUmakefile
|
||||||
|
+++ b/swig/perl/GNUmakefile
|
||||||
|
@@ -20,16 +20,14 @@ generate: ${WRAPPERS}
|
||||||
|
if [ -f OSR.pm ]; then mv OSR.pm lib/Geo; fi
|
||||||
|
if [ -f GNM.pm ]; then mv GNM.pm lib/Geo; fi
|
||||||
|
|
||||||
|
-build: gdal_wrap.cc Makefile_Geo__GDAL
|
||||||
|
+build: Makefile_Geo__GDAL
|
||||||
|
$(MAKE) -f Makefile_Geo__GDAL
|
||||||
|
$(MAKE) -f Makefile_Geo__GDAL__Const
|
||||||
|
$(MAKE) -f Makefile_Geo__OSR
|
||||||
|
if [ -f Makefile_Geo__OGR ]; then $(MAKE) -f Makefile_Geo__OGR; fi
|
||||||
|
if [ -f Makefile_Geo__GNM ]; then $(MAKE) -f Makefile_Geo__GNM; fi
|
||||||
|
|
||||||
|
-gdal_wrap.cc: generate
|
||||||
|
-
|
||||||
|
-Makefile_Geo__GDAL: gdal_wrap.cc
|
||||||
|
+Makefile_Geo__GDAL: Makefile.PL
|
||||||
|
perl Makefile.PL INSTALL_BASE=$(INST_PREFIX)
|
||||||
|
|
||||||
|
test: build
|
||||||
|
@@ -66,3 +64,5 @@ doc: .FORCE
|
||||||
|
|
||||||
|
.FORCE:
|
||||||
|
perl parse-for-doxygen.pl > all.pm; doxygen; rm -f all.pm
|
||||||
|
+
|
||||||
|
+.PHONY: generate
|
70
gdal.spec
70
gdal.spec
|
@ -91,6 +91,10 @@ Patch8: %{name}-1.9.0-java.patch
|
||||||
|
|
||||||
Patch9: %{name}-2.3.0-zlib.patch
|
Patch9: %{name}-2.3.0-zlib.patch
|
||||||
|
|
||||||
|
# https://github.com/OSGeo/gdal/pull/876
|
||||||
|
Patch10: %{name}-2.3.1-perl-build.patch
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++
|
BuildRequires: gcc gcc-c++
|
||||||
BuildRequires: ant
|
BuildRequires: ant
|
||||||
# No armadillo in EL5
|
# No armadillo in EL5
|
||||||
|
@ -171,6 +175,7 @@ BuildRequires: texlive-collection-latex
|
||||||
BuildRequires: texlive-epstopdf
|
BuildRequires: texlive-epstopdf
|
||||||
BuildRequires: tex(multirow.sty)
|
BuildRequires: tex(multirow.sty)
|
||||||
BuildRequires: tex(sectsty.sty)
|
BuildRequires: tex(sectsty.sty)
|
||||||
|
BuildRequires: tex(tabu.sty)
|
||||||
BuildRequires: tex(tocloft.sty)
|
BuildRequires: tex(tocloft.sty)
|
||||||
BuildRequires: tex(xtab.sty)
|
BuildRequires: tex(xtab.sty)
|
||||||
%endif
|
%endif
|
||||||
|
@ -288,13 +293,16 @@ The GDAL Python modules provide support to handle multiple GIS file formats.
|
||||||
The package also includes a couple of useful utilities in Python.
|
The package also includes a couple of useful utilities in Python.
|
||||||
|
|
||||||
|
|
||||||
%package python3
|
%package -n python3-gdal
|
||||||
|
%{?python_provide:%python_provide python3-gdal}
|
||||||
Summary: Python modules for the GDAL file format library
|
Summary: Python modules for the GDAL file format library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: python3-numpy
|
Requires: python3-numpy
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: gdal-python3 < 2.3.1
|
||||||
|
Provides: gdal-python3
|
||||||
|
|
||||||
%description python3
|
%description -n python3-gdal
|
||||||
The GDAL Python 3 modules provide support to handle multiple GIS file formats.
|
The GDAL Python 3 modules provide support to handle multiple GIS file formats.
|
||||||
|
|
||||||
|
|
||||||
|
@ -327,6 +335,7 @@ rm -rf frmts/gtiff/libgeotiff \
|
||||||
%patch3 -p1 -b .completion~
|
%patch3 -p1 -b .completion~
|
||||||
%patch8 -p1 -b .java~
|
%patch8 -p1 -b .java~
|
||||||
%patch9 -p1 -b .zlib~
|
%patch9 -p1 -b .zlib~
|
||||||
|
%patch10 -p1 -b .perl-build~
|
||||||
|
|
||||||
# Copy in PROVENANCE.TXT-fedora
|
# Copy in PROVENANCE.TXT-fedora
|
||||||
cp -p %SOURCE4 .
|
cp -p %SOURCE4 .
|
||||||
|
@ -358,7 +367,6 @@ popd
|
||||||
done
|
done
|
||||||
|
|
||||||
# Replace hard-coded library- and include paths
|
# Replace hard-coded library- and include paths
|
||||||
sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' GDALmake.opt.in
|
|
||||||
sed -i 's|-L\$with_cfitsio -L\$with_cfitsio/lib -lcfitsio|-lcfitsio|g' configure
|
sed -i 's|-L\$with_cfitsio -L\$with_cfitsio/lib -lcfitsio|-lcfitsio|g' configure
|
||||||
sed -i 's|-I\$with_cfitsio -I\$with_cfitsio/include|-I\$with_cfitsio/include/cfitsio|g' configure
|
sed -i 's|-I\$with_cfitsio -I\$with_cfitsio/include|-I\$with_cfitsio/include/cfitsio|g' configure
|
||||||
sed -i 's|-L\$with_netcdf -L\$with_netcdf/lib -lnetcdf|-lnetcdf|g' configure
|
sed -i 's|-L\$with_netcdf -L\$with_netcdf/lib -lnetcdf|-lnetcdf|g' configure
|
||||||
|
@ -373,9 +381,6 @@ sed -i 's|-L\$with_geotiff\/lib -lgeotiff $LIBS|-lgeotiff $LIBS|g' configure
|
||||||
# http://trac.osgeo.org/gdal/ticket/3602
|
# http://trac.osgeo.org/gdal/ticket/3602
|
||||||
sed -i 's|libproj.so|libproj.so.%{proj_somaj}|g' ogr/ogrct.cpp
|
sed -i 's|libproj.so|libproj.so.%{proj_somaj}|g' ogr/ogrct.cpp
|
||||||
|
|
||||||
# Fix Python installation path
|
|
||||||
sed -i 's|setup.py install|setup.py install --root=$DESTDIR|' swig/python/GNUmakefile
|
|
||||||
|
|
||||||
# Fix Python samples to depend on correct interpreter
|
# Fix Python samples to depend on correct interpreter
|
||||||
mkdir -p swig/python3/samples
|
mkdir -p swig/python3/samples
|
||||||
pushd swig/python/samples
|
pushd swig/python/samples
|
||||||
|
@ -462,10 +467,11 @@ export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libgeotiff -I%{_includedir}/tirpc"
|
||||||
--with-webp \
|
--with-webp \
|
||||||
--with-xerces \
|
--with-xerces \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--with-perl \
|
|
||||||
--with-python \
|
|
||||||
--with-libkml
|
--with-libkml
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
# {?_smp_mflags} doesn't work; Or it does -- who knows!
|
# {?_smp_mflags} doesn't work; Or it does -- who knows!
|
||||||
# NOTE: running autoconf seems to break build:
|
# NOTE: running autoconf seems to break build:
|
||||||
# fitsdataset.cpp:37:10: fatal error: fitsio.h: No such file or directory
|
# fitsdataset.cpp:37:10: fatal error: fitsio.h: No such file or directory
|
||||||
|
@ -481,12 +487,6 @@ make %{?_smp_mflags} $POPPLER_OPTS
|
||||||
make man
|
make man
|
||||||
make docs
|
make docs
|
||||||
|
|
||||||
# Make Perl modules
|
|
||||||
pushd swig/perl
|
|
||||||
perl Makefile.PL; make;
|
|
||||||
echo > Makefile.PL;
|
|
||||||
popd
|
|
||||||
|
|
||||||
# Build some utilities, as requested in BZ #1271906
|
# Build some utilities, as requested in BZ #1271906
|
||||||
pushd ogr/ogrsf_frmts/s57/
|
pushd ogr/ogrsf_frmts/s57/
|
||||||
make all
|
make all
|
||||||
|
@ -496,22 +496,22 @@ pushd frmts/iso8211/
|
||||||
make all
|
make all
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Install the Perl modules in the right place
|
|
||||||
sed -i 's|INSTALLDIRS = site|INSTALLDIRS = vendor|' swig/perl/Makefile_*
|
|
||||||
|
|
||||||
# Don't append installation info to pod
|
|
||||||
#TODO: What about the pod?
|
|
||||||
sed -i 's|>> $(DESTINSTALLARCHLIB)\/perllocal.pod|> \/dev\/null|g' swig/perl/Makefile_*
|
|
||||||
|
|
||||||
# Make Java module and documentation
|
# Make Java module and documentation
|
||||||
pushd swig/java
|
pushd swig/java
|
||||||
make
|
make
|
||||||
./make_doc.sh
|
./make_doc.sh
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Make Python 3 module
|
# Make Python modules
|
||||||
pushd swig/python
|
pushd swig/python
|
||||||
%{__python3} setup.py build
|
%py3_build
|
||||||
|
%py2_build
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Make Python modules
|
||||||
|
pushd swig/perl
|
||||||
|
perl Makefile.PL INSTALLDIRS=vendor
|
||||||
|
%make_build
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# --------- Documentation ----------
|
# --------- Documentation ----------
|
||||||
|
@ -551,10 +551,13 @@ done
|
||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
# Install Python 3 module
|
|
||||||
# Must be done first so executables are Python 2.
|
|
||||||
pushd swig/python
|
pushd swig/python
|
||||||
%{__python3} setup.py install --skip-build --root %{buildroot}
|
%py3_install
|
||||||
|
%py2_install
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd swig/perl
|
||||||
|
%make_install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
make DESTDIR=%{buildroot} \
|
make DESTDIR=%{buildroot} \
|
||||||
|
@ -571,7 +574,7 @@ mkdir -p %{buildroot}%{_libdir}/%{name}plugins
|
||||||
|
|
||||||
#TODO: Don't do that?
|
#TODO: Don't do that?
|
||||||
find %{buildroot}%{perl_vendorarch} -name "*.dox" -exec rm -rf '{}' \;
|
find %{buildroot}%{perl_vendorarch} -name "*.dox" -exec rm -rf '{}' \;
|
||||||
rm -f %{buildroot}%{perl_archlib}/perllocal.pod
|
rm %{buildroot}%{perl_archlib}/perllocal.pod
|
||||||
|
|
||||||
# Correct permissions
|
# Correct permissions
|
||||||
#TODO and potential ticket: Why are the permissions not correct?
|
#TODO and potential ticket: Why are the permissions not correct?
|
||||||
|
@ -715,12 +718,6 @@ for f in 'GDAL*' BandProperty ColorAssociation CutlineTransformer DatasetPropert
|
||||||
rm -rf %{buildroot}%{_mandir}/man1/$f.1*
|
rm -rf %{buildroot}%{_mandir}/man1/$f.1*
|
||||||
done
|
done
|
||||||
|
|
||||||
# Fix python interpreter
|
|
||||||
sed -i '1s|^#!/usr/bin/env python$|#!%{__python2}|' %{buildroot}%{_bindir}/*.py
|
|
||||||
|
|
||||||
# Cleanup .pyc for now
|
|
||||||
rm -f %{buildroot}%{_bindir}/*.pyc
|
|
||||||
|
|
||||||
#TODO: What's that?
|
#TODO: What's that?
|
||||||
rm -f %{buildroot}%{_mandir}/man1/*_%{name}-%{version}-fedora_apps_*
|
rm -f %{buildroot}%{_mandir}/man1/*_%{name}-%{version}-fedora_apps_*
|
||||||
rm -f %{buildroot}%{_mandir}/man1/_home_rouault_dist_wrk_gdal_apps_.1*
|
rm -f %{buildroot}%{_mandir}/man1/_home_rouault_dist_wrk_gdal_apps_.1*
|
||||||
|
@ -800,8 +797,9 @@ popd
|
||||||
|
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITERS PROVENANCE.TXT-fedora
|
%doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITTERS PROVENANCE.TXT-fedora
|
||||||
%{_libdir}/libgdal.so.*
|
%{_libdir}/libgdal.so.20
|
||||||
|
%{_libdir}/libgdal.so.20.*
|
||||||
%{_datadir}/%{name}
|
%{_datadir}/%{name}
|
||||||
#TODO: Possibly remove files like .dxf, .dgn, ...
|
#TODO: Possibly remove files like .dxf, .dgn, ...
|
||||||
%dir %{_libdir}/%{name}plugins
|
%dir %{_libdir}/%{name}plugins
|
||||||
|
@ -847,7 +845,7 @@ popd
|
||||||
%{python2_sitearch}/gdal*.py*
|
%{python2_sitearch}/gdal*.py*
|
||||||
%{python2_sitearch}/gnm.py*
|
%{python2_sitearch}/gnm.py*
|
||||||
|
|
||||||
%files python3
|
%files -n python3-gdal
|
||||||
%doc swig/python/README.txt
|
%doc swig/python/README.txt
|
||||||
%doc swig/python3/samples
|
%doc swig/python3/samples
|
||||||
%{python3_sitearch}/osgeo
|
%{python3_sitearch}/osgeo
|
||||||
|
|
Loading…
Reference in New Issue