Update to 3.0.4

This commit is contained in:
Sandro Mani 2020-03-03 15:20:35 +01:00
parent d9276d81d4
commit d89196fcc8
15 changed files with 233 additions and 1015 deletions

View File

@ -1,7 +1,6 @@
Index: gdal-2.2.3-fedora/swig/java/java.opt
===================================================================
--- gdal-2.2.3-fedora.orig/swig/java/java.opt
+++ gdal-2.2.3-fedora/swig/java/java.opt
diff -rupN --no-dereference gdal-3.0.4-fedora/swig/java/java.opt gdal-3.0.4-fedora-new/swig/java/java.opt
--- gdal-3.0.4-fedora/swig/java/java.opt 2020-01-28 11:13:12.000000000 +0100
+++ gdal-3.0.4-fedora-new/swig/java/java.opt 2020-02-06 00:23:36.321286290 +0100
@@ -7,6 +7,6 @@ JAVADOC=$(JAVA_HOME)/bin/javadoc
JAVAC=$(JAVA_HOME)/bin/javac
JAVA=$(JAVA_HOME)/bin/java

View File

@ -1,13 +0,0 @@
diff --git a/frmts/mrf/mrf_band.cpp b/frmts/mrf/mrf_band.cpp
index d5b3403..0772ec8 100644
--- a/frmts/mrf/mrf_band.cpp
+++ b/frmts/mrf/mrf_band.cpp
@@ -49,7 +49,7 @@
#include <vector>
#include <assert.h>
-#include "../zlib/zlib.h"
+#include <zlib.h>
CPL_CVSID("$Id: mrf_band.cpp 7e07230bbff24eb333608de4dbd460b7312839d0 2017-12-11 19:08:47Z Even Rouault $")

View File

@ -1,46 +0,0 @@
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

View File

@ -1,314 +0,0 @@
--- gdal-2.3.2-fedora/frmts/pdf/pdfdataset.cpp
+++ gdal-2.3.2-fedora/frmts/pdf/pdfdataset.cpp
@@ -165,7 +165,7 @@ class GDALPDFOutputDev : public SplashOu
public:
GDALPDFOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
- GBool reverseVideoA, SplashColorPtr paperColorA) :
+ bool reverseVideoA, SplashColorPtr paperColorA) :
SplashOutputDev(colorModeA, bitmapRowPadA,
reverseVideoA, paperColorA),
bEnableVector(TRUE),
@@ -227,11 +227,11 @@ class GDALPDFOutputDev : public SplashOu
}
#ifndef POPPLER_0_23_OR_LATER
- virtual GBool deviceHasTextClip(GfxState *state) override
+ virtual bool deviceHasTextClip(GfxState *state) override
{
if (bEnableText)
return SplashOutputDev::deviceHasTextClip(state);
- return gFalse;
+ return false;
}
#endif
@@ -242,8 +242,8 @@ class GDALPDFOutputDev : public SplashOu
}
virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
- int width, int height, GBool invert,
- GBool interpolate, GBool inlineImg) override
+ int width, int height, bool invert,
+ bool interpolate, bool inlineImg) override
{
if (bEnableBitmap)
SplashOutputDev::drawImageMask(state, ref, str,
@@ -263,8 +263,8 @@ class GDALPDFOutputDev : public SplashOu
#ifdef POPPLER_0_20_OR_LATER
virtual void setSoftMaskFromImageMask(GfxState *state,
Object *ref, Stream *str,
- int width, int height, GBool invert,
- GBool inlineImg, double *baseMatrix) override
+ int width, int height, bool invert,
+ bool inlineImg, double *baseMatrix) override
{
if (bEnableBitmap)
SplashOutputDev::setSoftMaskFromImageMask(state, ref, str,
@@ -283,7 +283,7 @@ class GDALPDFOutputDev : public SplashOu
virtual void drawImage(GfxState *state, Object *ref, Stream *str,
int width, int height, GfxImageColorMap *colorMap,
- GBool interpolate, int *maskColors, GBool inlineImg) override
+ bool interpolate, int *maskColors, bool inlineImg) override
{
if (bEnableBitmap)
SplashOutputDev::drawImage(state, ref, str,
@@ -305,9 +305,9 @@ class GDALPDFOutputDev : public SplashOu
virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
int width, int height,
GfxImageColorMap *colorMap,
- GBool interpolate,
+ bool interpolate,
Stream *maskStr, int maskWidth, int maskHeight,
- GBool maskInvert, GBool maskInterpolate) override
+ bool maskInvert, bool maskInterpolate) override
{
if (bEnableBitmap)
SplashOutputDev::drawMaskedImage(state, ref, str,
@@ -322,11 +322,11 @@ class GDALPDFOutputDev : public SplashOu
virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
int width, int height,
GfxImageColorMap *colorMap,
- GBool interpolate,
+ bool interpolate,
Stream *maskStr,
int maskWidth, int maskHeight,
GfxImageColorMap *maskColorMap,
- GBool maskInterpolate) override
+ bool maskInterpolate) override
{
if (bEnableBitmap)
{
@@ -1728,7 +1728,7 @@ CPLErr PDFDataset::ReadPixels( int nReqX
GDALPDFOutputDev *poSplashOut =
new GDALPDFOutputDev(
(nBands < 4) ? splashModeRGB8 : splashModeXBGR8,
- 4, gFalse,
+ 4, false,
(nBands < 4) ? sColor : nullptr);
if (pszRenderingOptions != nullptr)
@@ -1780,7 +1780,7 @@ CPLErr PDFDataset::ReadPixels( int nReqX
iPage,
dfDPI, dfDPI,
0,
- TRUE, gFalse, gFalse,
+ TRUE, false, false,
nReqXOff, nReqYOff,
nReqXSize, nReqYSize);
@@ -2599,7 +2599,7 @@ static void PDFDatasetErrorFunction(CPL_
#else
int nPos,
#endif
- char *pszMsg)
+ const char *pszMsg)
{
CPLString osError;
@@ -3440,16 +3440,15 @@ void PDFDataset::FindLayersPoppler()
}
else
{
- GooList* ocgList = optContentConfig->getOCGs();
- for(int i=0;i<ocgList->getLength();i++)
- {
- OptionalContentGroup* ocg = (OptionalContentGroup*) ocgList->get(i);
- if( ocg != nullptr && ocg->getName() != nullptr )
- {
- const char* pszLayerName = (const char*)ocg->getName()->getCString();
- AddLayer(pszLayerName);
- oLayerOCGMapPoppler[pszLayerName] = ocg;
- }
+ const auto &ocgList = optContentConfig->getOCGs();
+ for (const auto &oc : ocgList) {
+ OptionalContentGroup* ocg = (OptionalContentGroup*) oc.second.get();
+ if( ocg != nullptr && ocg->getName() != nullptr )
+ {
+ const char* pszLayerName = (const char*)ocg->getName()->c_str();
+ AddLayer(pszLayerName);
+ oLayerOCGMapPoppler[pszLayerName] = ocg;
+ }
}
}
@@ -3472,11 +3471,10 @@ void PDFDataset::TurnLayersOnOffPoppler(
{
int i;
int bAll = EQUAL(pszLayers, "ALL");
- GooList* ocgList = optContentConfig->getOCGs();
- for(i=0;i<ocgList->getLength();i++)
- {
- OptionalContentGroup* ocg = (OptionalContentGroup*) ocgList->get(i);
- ocg->setState( (bAll) ? OptionalContentGroup::On : OptionalContentGroup::Off );
+ const auto &ocgList = optContentConfig->getOCGs();
+ for (const auto &oc : ocgList) {
+ OptionalContentGroup* ocg = (OptionalContentGroup*) oc.second.get();
+ ocg->setState( (bAll) ? OptionalContentGroup::On : OptionalContentGroup::Off );
}
char** papszLayers = CSLTokenizeString2(pszLayers, ",", 0);
@@ -4430,7 +4428,7 @@ GDALDataset *PDFDataset::Open( GDALOpenI
#ifdef HAVE_POPPLER
if (bUseLib.test(PDFLIB_POPPLER))
{
- PDFRectangle* psMediaBox = poPagePoppler->getMediaBox();
+ const PDFRectangle* psMediaBox = poPagePoppler->getMediaBox();
dfX1 = psMediaBox->x1;
dfY1 = psMediaBox->y1;
dfX2 = psMediaBox->x2;
@@ -4768,12 +4766,12 @@ GDALDataset *PDFDataset::Open( GDALOpenI
GooString* poMetadata = poCatalogPoppler->readMetadata();
if (poMetadata)
{
- char* pszContent = poMetadata->getCString();
+ const char* pszContent = poMetadata->c_str();
if (pszContent != nullptr &&
STARTS_WITH(pszContent, "<?xpacket begin="))
{
char *apszMDList[2];
- apszMDList[0] = pszContent;
+ apszMDList[0] = (char *) pszContent;
apszMDList[1] = nullptr;
poDS->SetMetadata(apszMDList, "xml:XMP");
}
--- gdal-2.3.2-fedora/frmts/pdf/pdfio.cpp
+++ gdal-2.3.2-fedora/frmts/pdf/pdfio.cpp
@@ -66,7 +66,7 @@ VSIPDFFileStream::VSIPDFFileStream(
poFilename(new GooString(pszFilename)),
f(fIn),
nStart(0),
- bLimited(gFalse),
+ bLimited(false),
nLength(0),
nCurrentPos(VSI_L_OFFSET_MAX),
bHasSavedPos(FALSE),
@@ -80,7 +80,7 @@ VSIPDFFileStream::VSIPDFFileStream(
/************************************************************************/
VSIPDFFileStream::VSIPDFFileStream( VSIPDFFileStream* poParentIn,
- vsi_l_offset startA, GBool limitedA,
+ vsi_l_offset startA, bool limitedA,
vsi_l_offset lengthA,
makeSubStream_object_type dictA) :
#ifdef POPPLER_0_58_OR_LATER
@@ -139,7 +139,7 @@ BaseStream* VSIPDFFileStream::copy()
/************************************************************************/
/* makeSubStream() */
/************************************************************************/
-Stream *VSIPDFFileStream::makeSubStream(makeSubStream_offset_type startA, GBool limitedA,
+Stream *VSIPDFFileStream::makeSubStream(makeSubStream_offset_type startA, bool limitedA,
makeSubStream_offset_type lengthA, makeSubStream_object_type dictA)
{
#ifdef POPPLER_0_58_OR_LATER
@@ -346,7 +346,7 @@ void VSIPDFFileStream::setPos(setPos_off
}
else
{
- if (bLimited == gFalse)
+ if (bLimited == false)
{
VSIFSeekL(f, 0, SEEK_END);
}
@@ -380,7 +380,7 @@ void VSIPDFFileStream::moveStart(moveSta
/* hasGetChars() */
/************************************************************************/
-GBool VSIPDFFileStream::hasGetChars()
+bool VSIPDFFileStream::hasGetChars()
{
return true;
}
@@ -389,7 +389,7 @@ GBool VSIPDFFileStream::hasGetChars()
/* getChars() */
/************************************************************************/
-int VSIPDFFileStream::getChars(int nChars, Guchar *buffer)
+int VSIPDFFileStream::getChars(int nChars, unsigned char *buffer)
{
int nRead = 0;
while (nRead < nChars)
--- gdal-2.3.2-fedora/frmts/pdf/pdfio.h
+++ gdal-2.3.2-fedora/frmts/pdf/pdfio.h
@@ -46,9 +46,9 @@
#define moveStart_delta_type Goffset
#else
#define getPos_ret_type int
-#define getStart_ret_type Guint
-#define makeSubStream_offset_type Guint
-#define setPos_offset_type Guint
+#define getStart_ret_type unsigned int
+#define makeSubStream_offset_type unsigned int
+#define setPos_offset_type unsigned int
#define moveStart_delta_type int
#endif
@@ -64,7 +64,7 @@ class VSIPDFFileStream: public BaseStrea
VSIPDFFileStream(VSILFILE* f, const char* pszFilename,
makeSubStream_object_type dictA);
VSIPDFFileStream(VSIPDFFileStream* poParent,
- vsi_l_offset startA, GBool limitedA,
+ vsi_l_offset startA, bool limitedA,
vsi_l_offset lengthA,
makeSubStream_object_type dictA);
virtual ~VSIPDFFileStream();
@@ -73,7 +73,7 @@ class VSIPDFFileStream: public BaseStrea
virtual BaseStream* copy() override;
#endif
- virtual Stream * makeSubStream(makeSubStream_offset_type startA, GBool limitedA,
+ virtual Stream * makeSubStream(makeSubStream_offset_type startA, bool limitedA,
makeSubStream_offset_type lengthA, makeSubStream_object_type dictA) override;
virtual getPos_ret_type getPos() override;
virtual getStart_ret_type getStart() override;
@@ -99,8 +99,8 @@ class VSIPDFFileStream: public BaseStrea
* This test will be wrong for poppler 0.15 or 0.16,
* but will still compile correctly.
*/
- virtual GBool hasGetChars() override;
- virtual int getChars(int nChars, Guchar *buffer) override;
+ virtual bool hasGetChars() override;
+ virtual int getChars(int nChars, unsigned char *buffer) override;
#else
virtual GBool hasGetChars() ;
virtual int getChars(int nChars, Guchar *buffer) ;
@@ -110,7 +110,7 @@ class VSIPDFFileStream: public BaseStrea
GooString *poFilename;
VSILFILE *f;
vsi_l_offset nStart;
- GBool bLimited;
+ bool bLimited;
vsi_l_offset nLength;
vsi_l_offset nCurrentPos;
--- gdal-2.3.2-fedora/frmts/pdf/pdfobject.cpp
+++ gdal-2.3.2-fedora/frmts/pdf/pdfobject.cpp
@@ -1061,7 +1061,7 @@ const CPLString& GDALPDFObjectPoppler::G
#else
GooString* gooString = m_po->getString();
#endif
- return (osStr = GDALPDFGetUTF8StringFromBytes(reinterpret_cast<const GByte*>(gooString->getCString()),
+ return (osStr = GDALPDFGetUTF8StringFromBytes(reinterpret_cast<const GByte*>(gooString->c_str()),
static_cast<int>(gooString->getLength())));
}
else
@@ -1422,7 +1422,7 @@ char* GDALPDFStreamPoppler::GetBytes()
char* pszContent = (char*) VSIMalloc(m_nLength + 1);
if (pszContent)
{
- memcpy(pszContent, gstr->getCString(), m_nLength);
+ memcpy(pszContent, gstr->c_str(), m_nLength);
pszContent[m_nLength] = '\0';
}
delete gstr;
--- gdal-2.3.2-fedora/frmts/pdf/pdfsdk_headers.h
+++ gdal-2.3.2-fedora/frmts/pdf/pdfsdk_headers.h
@@ -50,7 +50,6 @@
#pragma warning( disable : 4244 ) /* conversion from 'const int' to 'Guchar', possible loss of data */
#endif
-#include <goo/gtypes.h>
#include <goo/GooList.h>
/* begin of poppler xpdf includes */

View File

@ -1,106 +0,0 @@
diff -up ./frmts/pdf/pdfdataset.cpp.poppler-0.76.0 ./frmts/pdf/pdfdataset.cpp
--- ./frmts/pdf/pdfdataset.cpp.poppler-0.76.0 2020-01-18 12:42:15.887861696 -0500
+++ ./frmts/pdf/pdfdataset.cpp 2020-01-18 12:48:22.515663567 -0500
@@ -212,7 +212,7 @@ class GDALPDFOutputDev : public SplashOu
virtual void drawChar(GfxState *state, double x, double y,
double dx, double dy,
double originX, double originY,
- CharCode code, int nBytes, Unicode *u, int uLen) override
+ CharCode code, int nBytes, const Unicode *u, int uLen) override
{
if (bEnableText)
SplashOutputDev::drawChar(state, x, y, dx, dy,
@@ -283,7 +283,7 @@ class GDALPDFOutputDev : public SplashOu
virtual void drawImage(GfxState *state, Object *ref, Stream *str,
int width, int height, GfxImageColorMap *colorMap,
- bool interpolate, int *maskColors, bool inlineImg) override
+ bool interpolate, const int *maskColors, bool inlineImg) override
{
if (bEnableBitmap)
SplashOutputDev::drawImage(state, ref, str,
@@ -4071,7 +4071,7 @@ GDALDataset *PDFDataset::Open( GDALOpenI
CPLMutexHolderD(&hGlobalParamsMutex);
/* poppler global variable */
if (globalParams == nullptr)
- globalParams = new GlobalParams();
+ globalParams.reset(new GlobalParams());
globalParams->setPrintCommands(CPLTestBool(
CPLGetConfigOption("GDAL_PDF_PRINT_COMMANDS", "FALSE")));
diff -up ./frmts/pdf/pdfio.cpp.poppler-0.76.0 ./frmts/pdf/pdfio.cpp
--- ./frmts/pdf/pdfio.cpp.poppler-0.76.0 2020-01-18 11:38:59.373535988 -0500
+++ ./frmts/pdf/pdfio.cpp 2020-01-18 11:38:59.375536039 -0500
@@ -175,7 +175,7 @@ getStart_ret_type VSIPDFFileStream::getS
/* getKind() */
/************************************************************************/
-StreamKind VSIPDFFileStream::getKind()
+StreamKind VSIPDFFileStream::getKind() const
{
return strFile;
}
diff -up ./frmts/pdf/pdfio.h.poppler-0.76.0 ./frmts/pdf/pdfio.h
--- ./frmts/pdf/pdfio.h.poppler-0.76.0 2020-01-18 11:38:59.373535988 -0500
+++ ./frmts/pdf/pdfio.h 2020-01-18 11:38:59.375536039 -0500
@@ -81,7 +81,7 @@ class VSIPDFFileStream: public BaseStrea
virtual void setPos(setPos_offset_type pos, int dir = 0) override;
virtual void moveStart(moveStart_delta_type delta) override;
- virtual StreamKind getKind() override;
+ virtual StreamKind getKind() const override;
virtual GooString *getFileName() override;
virtual int getChar() override;
diff -up ./frmts/pdf/pdfobject.cpp.poppler-0.76.0 ./frmts/pdf/pdfobject.cpp
--- ./frmts/pdf/pdfobject.cpp.poppler-0.76.0 2020-01-18 13:11:46.693450692 -0500
+++ ./frmts/pdf/pdfobject.cpp 2020-01-18 13:25:51.256924278 -0500
@@ -1190,7 +1190,7 @@ GDALPDFObject* GDALPDFDictionaryPoppler:
return oIter->second;
#ifdef POPPLER_0_58_OR_LATER
- Object o = m_poDict->lookupNF(((char*)pszKey));
+ auto&& o(m_poDict->lookupNF(((char*)pszKey)));
if (!o.isNull())
{
int nRefNum = 0;
@@ -1210,7 +1210,7 @@ GDALPDFObject* GDALPDFDictionaryPoppler:
}
else
{
- GDALPDFObjectPoppler* poObj = new GDALPDFObjectPoppler(new Object(std::move(o)), TRUE);
+ GDALPDFObjectPoppler* poObj = new GDALPDFObjectPoppler(new Object(o.copy()), TRUE);
poObj->SetRefNumAndGen(nRefNum, nRefGen);
m_map[pszKey] = poObj;
return poObj;
@@ -1324,7 +1324,7 @@ GDALPDFObject* GDALPDFArrayPoppler::Get(
return m_v[nIndex];
#ifdef POPPLER_0_58_OR_LATER
- Object o = m_poArray->getNF(nIndex);
+ auto&& o(m_poArray->getNF(nIndex));
if( !o.isNull() )
{
int nRefNum = 0;
@@ -1344,7 +1344,7 @@ GDALPDFObject* GDALPDFArrayPoppler::Get(
}
else
{
- GDALPDFObjectPoppler* poObj = new GDALPDFObjectPoppler(new Object(std::move(o)), TRUE);
+ GDALPDFObjectPoppler* poObj = new GDALPDFObjectPoppler(new Object(o.copy()), TRUE);
poObj->SetRefNumAndGen(nRefNum, nRefGen);
m_v[nIndex] = poObj;
return poObj;
diff -up ./frmts/pdf/pdfsdk_headers.h.poppler-0.76.0 ./frmts/pdf/pdfsdk_headers.h
--- ./frmts/pdf/pdfsdk_headers.h.poppler-0.76.0 2020-01-18 11:38:59.373535988 -0500
+++ ./frmts/pdf/pdfsdk_headers.h 2020-01-18 11:38:59.375536039 -0500
@@ -50,7 +50,8 @@
#pragma warning( disable : 4244 ) /* conversion from 'const int' to 'Guchar', possible loss of data */
#endif
-#include <goo/GooList.h>
+// GooList.h removed in poppler 0.76
+//#include <goo/GooList.h>
/* begin of poppler xpdf includes */
#include <poppler/Object.h>

View File

@ -1,8 +0,0 @@
--- swig/perl/GNUmakefile.old 2019-09-02 16:37:34.566311857 +0100
+++ swig/perl/GNUmakefile 2019-09-02 16:38:36.695697656 +0100
@@ -64,3 +64,5 @@
.FORCE:
perl parse-for-doxygen.pl > all.pm; doxygen; rm -f all.pm
+
+.PHONY: generate

View File

@ -1,11 +0,0 @@
--- frmts/mrf/mrf_band.cpp.old 2019-09-02 16:35:50.670667617 +0100
+++ frmts/mrf/mrf_band.cpp 2019-09-02 16:36:00.888730978 +0100
@@ -49,7 +49,7 @@
#include <vector>
#include <assert.h>
-#include "../zlib/zlib.h"
+#include "zlib.h"
CPL_CVSID("$Id: mrf_band.cpp 09abe392b2b229ee2ee7625cfc5d6509c57f4f17 2019-02-02 13:13:07 -0800 Lucian Plesea $")

View File

@ -1,5 +1,5 @@
#!/bin/bash
VERSION="2.3.2"
VERSION="3.0.4"
tar xvf gdal-"${VERSION}".tar.xz

View File

@ -1,7 +1,6 @@
Index: gdal-2.2.3-fedora/scripts/GNUmakefile
===================================================================
--- gdal-2.2.3-fedora.orig/scripts/GNUmakefile
+++ gdal-2.2.3-fedora/scripts/GNUmakefile
diff -rupN --no-dereference gdal-3.0.4-fedora/scripts/GNUmakefile gdal-3.0.4-fedora-new/scripts/GNUmakefile
--- gdal-3.0.4-fedora/scripts/GNUmakefile 2020-01-28 11:13:13.000000000 +0100
+++ gdal-3.0.4-fedora-new/scripts/GNUmakefile 2020-02-06 00:23:36.089287463 +0100
@@ -5,6 +5,6 @@ completion:
install:

View File

@ -1,79 +0,0 @@
Index: gdal-2.2.3-fedora/frmts/grib/GNUmakefile
===================================================================
--- gdal-2.2.3-fedora.orig/frmts/grib/GNUmakefile
+++ gdal-2.2.3-fedora/frmts/grib/GNUmakefile
@@ -7,8 +7,7 @@ include ../../GDALmake.opt
OBJ = gribdataset.o \
clock.o \
degrib1.o \
- degrib2.o inventory.o metaname.o myerror.o tdlpack.o filedatasource.o memorydatasource.o grib1tab.o myutil.o metaparse.o weather.o metaprint.o engribapi.o grib2api.o myassert.o scan.o memendian.o fileendian.o gridtemplates.o drstemplates.o pdstemplates.o gbits.o g2_free.o g2_unpack1.o g2_unpack2.o g2_unpack3.o g2_unpack4.o g2_unpack5.o g2_unpack6.o g2_unpack7.o g2_info.o g2_getfld.o simunpack.o comunpack.o pack_gp.o reduce.o specpack.o specunpack.o rdieee.o mkieee.o int_power.o simpack.o compack.o cmplxpack.o misspack.o g2_create.o g2_addlocal.o g2_addgrid.o g2_addfield.o g2_gribend.o getdim.o g2_miss.o getpoly.o seekgb.o \
- dec_jpeg2000.o jpcunpack.o jpcpack.o enc_jpeg2000.o
+ degrib2.o inventory.o metaname.o myerror.o tdlpack.o filedatasource.o memorydatasource.o grib1tab.o myutil.o metaparse.o weather.o metaprint.o engribapi.o grib2api.o myassert.o scan.o memendian.o fileendian.o
ifeq ($(PNG_SETTING),internal)
EXTRAFLAGS := $(EXTRAFLAGS) -I../png/libpng -DUSE_PNG
@@ -20,7 +19,7 @@ endif
ifeq ($(PNG_SETTING),external)
EXTRAFLAGS := $(EXTRAFLAGS) -DUSE_PNG
-OBJ := $(OBJ) pngpack.o pngunpack.o enc_png.o dec_png.o
+OBJ := $(OBJ)
endif
CPPFLAGS := $(CPPFLAGS) $(EXTRAFLAGS)
Index: gdal-2.2.3-fedora/frmts/grib/degrib18/degrib/engribapi.c
===================================================================
--- gdal-2.2.3-fedora.orig/frmts/grib/degrib18/degrib/engribapi.c
+++ gdal-2.2.3-fedora/frmts/grib/degrib18/degrib/engribapi.c
@@ -419,7 +419,6 @@ int fillSect3 (enGribMeta *en, uShort2 t
double meshLat, double orientLon, double scaleLat1,
double scaleLat2, double southLat, double southLon)
{
- const struct gridtemplate *templatesgrid = get_templatesgrid();
int i; /* loop counter over number of GDS templates. */
double unit; /* Used to convert from stored value to degrees
* lat/lon. See GRIB2 Regulation 92.1.6 */
@@ -641,7 +640,6 @@ int fillSect4_0 (enGribMeta *en, uShort2
double dSurfVal2)
{
int i; /* loop counter over number of PDS templates. */
- const struct pdstemplate *templatespds = get_templatespds();
/* analysis template (0) */
/* In addition templates (1, 2, 5, 8, 9, 12) begin with 4.0 info. */
@@ -1197,7 +1195,6 @@ int fillSect5 (enGribMeta *en, uShort2 t
uChar orderOfDiff)
{
int i; /* loop counter over number of DRS templates. */
- const struct drstemplate *templatesdrs = get_templatesdrs();
/* Find NCEP's template match */
for (i = 0; i < MAXDRSTEMP; i++) {
Index: gdal-2.2.3-fedora/frmts/grib/degrib18/degrib/grib2api.c
===================================================================
--- gdal-2.2.3-fedora.orig/frmts/grib/degrib18/degrib/grib2api.c
+++ gdal-2.2.3-fedora/frmts/grib/degrib18/degrib/grib2api.c
@@ -961,7 +961,6 @@ void unpk_g2ncep (CPL_UNUSED sInt4 * kfi
}
curIndex = 14;
for (i = 0; i < gfld->igdtlen; i++) {
- const struct gridtemplate *templatesgrid = get_templatesgrid();
is3[curIndex] = gfld->igdtmpl[i];
curIndex += abs (templatesgrid[gridIndex].mapgrid[i]);
}
@@ -1029,7 +1028,6 @@ void unpk_g2ncep (CPL_UNUSED sInt4 * kfi
}
curIndex = 9;
for (i = 0; i < gfld->ipdtlen; i++) {
- const struct pdstemplate *templatespds = get_templatespds();
is4[curIndex] = gfld->ipdtmpl[i];
curIndex += abs (templatespds[pdsIndex].mappds[i]);
}
@@ -1047,7 +1045,6 @@ void unpk_g2ncep (CPL_UNUSED sInt4 * kfi
}
curIndex = 11;
for (i = 0; i < gfld->idrtlen; i++) {
- const struct drstemplate *templatesdrs = get_templatesdrs();
is5[curIndex] = gfld->idrtmpl[i];
curIndex += abs (templatesdrs[drsIndex].mapdrs[i]);
}

View File

@ -1,52 +0,0 @@
Index: gdal-2.2.3-fedora/swig/include/java/gdalconst_java.i
===================================================================
--- gdal-2.2.3-fedora.orig/swig/include/java/gdalconst_java.i
+++ gdal-2.2.3-fedora/swig/include/java/gdalconst_java.i
@@ -13,7 +13,7 @@
static {
try {
- System.loadLibrary("gdalconstjni");
+ System.load("/usr/lib/java/gdal/libgdalconstjni.so");
available = true;
} catch (UnsatisfiedLinkError e) {
available = false;
Index: gdal-2.2.3-fedora/swig/include/java/gdal_java.i
===================================================================
--- gdal-2.2.3-fedora.orig/swig/include/java/gdal_java.i
+++ gdal-2.2.3-fedora/swig/include/java/gdal_java.i
@@ -15,7 +15,7 @@
static {
try {
- System.loadLibrary("gdaljni");
+ System.load("/usr/lib/java/gdal/libgdaljni.so");
available = true;
if (gdal.HasThreadSupport() == 0)
Index: gdal-2.2.3-fedora/swig/include/java/ogr_java.i
===================================================================
--- gdal-2.2.3-fedora.orig/swig/include/java/ogr_java.i
+++ gdal-2.2.3-fedora/swig/include/java/ogr_java.i
@@ -17,7 +17,7 @@
static {
try {
- System.loadLibrary("ogrjni");
+ System.load("/usr/lib/java/gdal/libogrjni.so");
available = true;
if (org.gdal.gdal.gdal.HasThreadSupport() == 0)
Index: gdal-2.2.3-fedora/swig/include/java/osr_java.i
===================================================================
--- gdal-2.2.3-fedora.orig/swig/include/java/osr_java.i
+++ gdal-2.2.3-fedora/swig/include/java/osr_java.i
@@ -20,7 +20,7 @@
static {
try {
- System.loadLibrary("osrjni");
+ System.load("/usr/lib/java/gdal/libosrjni.so");
available = true;
} catch (UnsatisfiedLinkError e) {
available = false;

560
gdal.spec
View File

@ -1,4 +1,3 @@
#TODO: g2clib and grib (said to be modified)
#TODO: Create script to make clean tarball
#TODO: msg needs to have PublicDecompWT.zip from EUMETSAT, which is not free;
# Building without msg therefore
@ -9,22 +8,13 @@
#TODO: e00compr source is the same in the package and bundled in GDAL
#TODO: Consider doxy patch from Suse, setting EXTRACT_LOCAL_CLASSES = NO
# Soname should be bumped on API/ABI break
# http://trac.osgeo.org/gdal/ticket/4543
# Conditionals and structures for EL 5 are there
# to make life easier for downstream ELGIS.
# Sadly noarch doesn't work in EL 5, see
# http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies
# Tests can be of a different version
%global testversion 2.3.2
%global testversion 3.0.4
%global run_tests 0
%global bashcompletiondir %(pkg-config --variable=compatdir bash-completion)
%if 0%{?bootstrap}
%global build_refman 0
%global with_mysql 0
%global mysql --without-mysql
%global with_poppler 0
@ -32,9 +22,6 @@
%global with_spatialite 0
%global spatialite --without-spatialite
%else
# Enable/disable generating refmans
# texlive currently broken deps and FTBFS in rawhide
%global build_refman 1
# https://bugzilla.redhat.com/show_bug.cgi?id=1490492
%global with_mysql 1
%global mysql --with-mysql
@ -57,142 +44,125 @@
%endif
%endif
Name: gdal
Version: 2.3.2
Release: 16%{?dist}%{?bootstrap:.%{bootstrap}.bootstrap}
Summary: GIS file format library
License: MIT
URL: http://www.gdal.org
Name: gdal
Version: 3.0.4
Release: 1%{?dist}%{?bootstrap:.%{bootstrap}.bootstrap}
Summary: GIS file format library
License: MIT
URL: http://www.gdal.org
# Source0: http://download.osgeo.org/gdal/%%{version}/gdal-%%{version}.tar.xz
# See PROVENANCE.TXT-fedora and the cleaner script for details!
Source0: %{name}-%{version}-fedora.tar.xz
Source1: http://download.osgeo.org/%{name}/%{testversion}/%{name}autotest-%{testversion}.tar.gz
Source0: %{name}-%{version}-fedora.tar.xz
Source1: http://download.osgeo.org/%{name}/%{testversion}/%{name}autotest-%{testversion}.tar.gz
# Cleaner script for the tarball
Source3: %{name}-cleaner.sh
Source3: %{name}-cleaner.sh
Source4: PROVENANCE.TXT-fedora
Source4: PROVENANCE.TXT-fedora
# Patch to use system g2clib
Patch1: %{name}-g2clib.patch
# Patch for Fedora JNI library location
Patch2: %{name}-jni.patch
# Fix bash-completion install dir
Patch3: %{name}-completion.patch
Patch1: %{name}-completion.patch
# Fedora uses Alternatives for Java
Patch8: %{name}-1.9.0-java.patch
Patch2: %{name}-1.9.0-java.patch
# Ensure rpc/types.h is found by dods driver (indirectly required by libdap/XDRUtils.h)
Patch3: gdal_tirpcinc.patch
# Use libtool to create libiso8211.a, otherwise broken static lib is created since object files are compiled through libtool
Patch4: gdal_iso8211.patch
Patch9: %{name}-2.3.0-zlib.patch
# https://github.com/OSGeo/gdal/pull/876
Patch10: %{name}-2.3.1-perl-build.patch
Patch11: %{name}-2.3.2-poppler-0.73.0.patch
# Remove goo/GooList.h for new poppler
# https://github.com/OSGeo/gdal/commit/8958528f9b5737581afa7249b0e16f2ff89d727e
Patch12: %{name}-2.3.2-poppler-0.76.0.patch
BuildRequires: gcc gcc-c++
BuildRequires: ant
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: ant
# No armadillo in EL5
BuildRequires: armadillo-devel
BuildRequires: bash-completion
BuildRequires: cfitsio-devel
BuildRequires: armadillo-devel
BuildRequires: bash-completion
BuildRequires: cfitsio-devel
# No CharLS in EL5
#BuildRequires: CharLS-devel
BuildRequires: chrpath
BuildRequires: curl-devel
BuildRequires: doxygen
BuildRequires: expat-devel
BuildRequires: fontconfig-devel
BuildRequires: chrpath
BuildRequires: curl-devel
BuildRequires: doxygen
BuildRequires: expat-devel
BuildRequires: fontconfig-devel
# No freexl in EL5
BuildRequires: freexl-devel
BuildRequires: g2clib-static
BuildRequires: geos-devel >= 3.7.1
BuildRequires: ghostscript
BuildRequires: hdf-devel
BuildRequires: hdf-static
BuildRequires: hdf5-devel
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jasper-devel
BuildRequires: jpackage-utils
BuildRequires: freexl-devel
BuildRequires: g2clib-static
BuildRequires: geos-devel >= 3.7.1
BuildRequires: ghostscript
BuildRequires: hdf-devel
BuildRequires: hdf-static
BuildRequires: hdf5-devel
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jasper-devel
BuildRequires: jpackage-utils
# For 'mvn_artifact' and 'mvn_install'
BuildRequires: javapackages-local
BuildRequires: json-c-devel
BuildRequires: libgeotiff-devel
BuildRequires: javapackages-local
BuildRequires: json-c-devel
BuildRequires: libgeotiff-devel
# No libgta in EL5
BuildRequires: libgta-devel
BuildRequires: libgta-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
# No libkml in EL
BuildRequires: libkml-devel
BuildRequires: libkml-devel
%if %{with_spatialite}
BuildRequires: libspatialite-devel
BuildRequires: libspatialite-devel
%endif
BuildRequires: libtiff-devel
BuildRequires: libtiff-devel
# No libwebp in EL 5 and 6
BuildRequires: libwebp-devel
BuildRequires: libtool
BuildRequires: giflib-devel
BuildRequires: netcdf-devel
BuildRequires: libdap-devel
BuildRequires: librx-devel
BuildRequires: libwebp-devel
BuildRequires: libtool
BuildRequires: giflib-devel
BuildRequires: netcdf-devel
BuildRequires: libdap-devel
BuildRequires: librx-devel
%if 0%{?with_mysql}
BuildRequires: mariadb-connector-c-devel
BuildRequires: mariadb-connector-c-devel
%endif
BuildRequires: pcre-devel
BuildRequires: ogdi-devel
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: openjpeg2-devel
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: %{_bindir}/pkg-config
BuildRequires: pcre-devel
BuildRequires: ogdi-devel
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: openjpeg2-devel
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: %{_bindir}/pkg-config
%if 0%{?with_poppler}
BuildRequires: poppler-devel
BuildRequires: poppler-devel
%endif
BuildRequires: libpq-devel
BuildRequires: proj-devel >= 5.2.0
BuildRequires: libpq-devel
BuildRequires: proj-devel >= 5.2.0
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-numpy
BuildRequires: python2-devel
BuildRequires: python2-numpy
%endif
%if %{with python3}
BuildRequires: python3-devel
BuildRequires: python3-numpy
BuildRequires: python3-devel
BuildRequires: python3-numpy
%endif
BuildRequires: sqlite-devel
BuildRequires: swig
%if %{build_refman}
BuildRequires: texlive-latex
BuildRequires: texlive-collection-fontsrecommended
%if 0%{?fedora}
BuildRequires: texlive-collection-langcyrillic
BuildRequires: texlive-collection-langportuguese
%endif
BuildRequires: texlive-collection-latex
BuildRequires: texlive-epstopdf
BuildRequires: tex(multirow.sty)
BuildRequires: tex(sectsty.sty)
BuildRequires: tex(tabu.sty)
BuildRequires: tex(tocloft.sty)
BuildRequires: tex(xtab.sty)
%endif
BuildRequires: unixODBC-devel
BuildRequires: xerces-c-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildRequires: libtirpc-devel
BuildRequires: sqlite-devel
BuildRequires: swig
BuildRequires: unixODBC-devel
BuildRequires: xerces-c-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildRequires: libtirpc-devel
BuildRequires: /usr/bin/epstopdf
BuildRequires: /usr/bin/latex
BuildRequires: /usr/bin/dvips
BuildRequires: tex(newunicodechar.sty)
# Run time dependency for gpsbabel driver
Requires: gpsbabel
Requires: gpsbabel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# We have multilib triage
%if "%{_lib}" == "lib"
@ -201,11 +171,6 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%global cpuarch 64
%endif
%if ! (0%{?fedora} || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif
#TODO: Description on the lib?
%description
Geospatial Data Abstraction Library (GDAL/OGR) is a cross platform
@ -219,51 +184,45 @@ GDAL/OGR is the most widely used geospatial data access library.
%package devel
Summary: Development files for the GDAL file format library
# Old rpm didn't figure out
%if 0%{?rhel} < 6
Requires: pkgconfig
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-static < 1.9.0-1
Summary: Development files for the GDAL file format library
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
This package contains development files for GDAL.
%package libs
Summary: GDAL file format library
# https://trac.osgeo.org/gdal/ticket/3978#comment:5
Obsoletes: %{name}-ruby < 1.11.0-1
Summary: GDAL file format library
# See frmts/grib/degrib/README.TXT
Provides: bundled(g2lib) = 1.6.0
Provides: bundled(degrib) = 2.14
%description libs
This package contains the GDAL file format library.
%package java
Summary: Java modules for the GDAL file format library
Requires: jpackage-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Summary: Java modules for the GDAL file format library
Requires: jpackage-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description java
The GDAL Java modules provide support to handle multiple GIS file formats.
%package javadoc
Summary: Javadocs for %{name}
Requires: jpackage-utils
BuildArch: noarch
Summary: Javadocs for %{name}
Requires: jpackage-utils
BuildArch: noarch
%description javadoc
This package contains the API documentation for %{name}.
%package perl
Summary: Perl modules for the GDAL file format library
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Summary: Perl modules for the GDAL file format library
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description perl
The GDAL Perl modules provide support to handle multiple GIS file formats.
@ -275,9 +234,9 @@ The GDAL Perl modules provide support to handle multiple GIS file formats.
Provides: %{name}-python = %{version}-%{release}
Provides: %{name}-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python < %{version}-%{release}
Summary: Python modules for the GDAL file format library
Requires: numpy
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Summary: Python modules for the GDAL file format library
Requires: numpy
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description -n python2-gdal
The GDAL Python modules provide support to handle multiple GIS file formats.
@ -288,11 +247,11 @@ The package also includes a couple of useful utilities in Python.
%if %{with python3}
%package -n python3-gdal
%{?python_provide:%python_provide python3-gdal}
Summary: Python modules for the GDAL file format library
Requires: python3-numpy
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Obsoletes: gdal-python3 < 2.3.1
Provides: gdal-python3 = %version-%release
Summary: Python modules for the GDAL file format library
Requires: python3-numpy
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Obsoletes: gdal-python3 < 2.3.1
Provides: gdal-python3 = %version-%release
%description -n python3-gdal
The GDAL Python 3 modules provide support to handle multiple GIS file formats.
@ -301,8 +260,8 @@ The GDAL Python 3 modules provide support to handle multiple GIS file formats.
%if %{with python2} || %{with python3}
%package python-tools
Summary: Python tools for the GDAL file format library
Requires: %{?with_python3:python3-gdal}%{?!with_python3:python2-gdal}
Summary: Python tools for the GDAL file format library
Requires: %{?with_python3:python3-gdal}%{?!with_python3:python2-gdal}
%description python-tools
The GDAL Python package provides number of tools for programming and
@ -311,201 +270,115 @@ manipulating GDAL file format library
%package doc
Summary: Documentation for GDAL
BuildArch: noarch
Summary: Documentation for GDAL
BuildArch: noarch
%description doc
This package contains HTML and PDF documentation for GDAL.
This package contains documentation for GDAL.
# We don't want to provide private Python extension libs
%if %{with python2} && %{with python3}
%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\.so$
%elif %{with python2}
%global __provides_exclude_from ^%{python2_sitearch}/.*\.so$
%elif %{with_python3}
%global __provides_exclude_from ^%{python3_sitearch}/.*\.so$
%endif
%prep
%setup -q -n %{name}-%{version}-fedora -a 1
%autosetup -p1 -n %{name}-%{version}-fedora -a 1
# Delete bundled libraries
rm -rf frmts/zlib
rm -rf frmts/png/libpng
rm -rf frmts/gif/giflib
rm -rf frmts/jpeg/libjpeg \
frmts/jpeg/libjpeg12
rm -rf frmts/gtiff/libgeotiff \
frmts/gtiff/libtiff
#rm -r frmts/grib/degrib/g2clib
#%%patch1 -p1 -b .g2clib~
#%%patch2 -p1 -b .jni~
%patch3 -p1 -b .completion~
%patch8 -p1 -b .java~
%patch9 -p1 -b .zlib~
%patch10 -p1 -b .perl-build~
%patch11 -p1 -b .poppler-0.73.0
%patch12 -p1 -b .poppler-0.76.0
rm -rf frmts/jpeg/libjpeg
rm -rf frmts/jpeg/libjpeg12
rm -rf frmts/gtiff/libgeotiff
rm -rf frmts/gtiff/libtiff
# Copy in PROVENANCE.TXT-fedora
cp -p %SOURCE4 .
# Sanitize linebreaks and encoding
#TODO: Don't touch data directory!
# /frmts/grib/degrib18/degrib/metaname.cpp
# and geoconcept.c are potentially dangerous to change
set +x
for f in `find . -type f` ; do
if file $f | grep -q ISO-8859 ; then
set -x
iconv -f ISO-8859-1 -t UTF-8 $f > ${f}.tmp && \
mv -f ${f}.tmp $f
set +x
fi
if file $f | grep -q CRLF ; then
set -x
sed -i -e 's|\r||g' $f
set +x
fi
done
set -x
for f in apps; do
pushd $f
chmod 644 *.cpp
popd
done
# Replace hard-coded library- and include paths
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|-L\$with_netcdf -L\$with_netcdf/lib -lnetcdf|-lnetcdf|g' configure
sed -i 's|-L\$DODS_LIB -ldap++|-ldap++|g' configure
sed -i 's|-L\$with_ogdi -L\$with_ogdi/lib -logdi|-logdi|g' configure
sed -i 's|-L\$with_jpeg -L\$with_jpeg/lib -ljpeg|-ljpeg|g' configure
sed -i 's|-L\$with_libtiff\/lib -ltiff|-ltiff|g' configure
sed -i 's|-lgeotiff -L$with_geotiff $LIBS|-lgeotiff $LIBS|g' configure
sed -i 's|-L\$with_geotiff\/lib -lgeotiff $LIBS|-lgeotiff $LIBS|g' configure
%if %{with python3} || %{with python2}
# Fix Python samples to depend on correct interpreter
mkdir -p swig/python3/samples
pushd swig/python/samples
for f in `find . -name '*.py'`; do
sed 's|^#!.\+python$|#!/usr/bin/python3|' $f > ../../python3/samples/$f
chmod --reference=$f ../../python3/samples/$f
sed -i 's|^#!.\+python$|#!/usr/bin/python2|' $f
done
popd
%endif
# Sanitize permissions
chmod 644 apps/gnmanalyse.cpp apps/gnmmanage.cpp
# Adjust check for LibDAP version
# http://trac.osgeo.org/gdal/ticket/4545
%if %cpuarch == 64
sed -i 's|with_dods_root/lib|with_dods_root/lib64|' configure
sed -i 's|with_dods_root/lib|with_dods_root/lib64|' configure.ac
%endif
# Fix mandir
sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure
sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure.ac
# Add our custom cflags when trying to find geos
# https://bugzilla.redhat.com/show_bug.cgi?id=1284714
sed -i 's|CFLAGS=\"${GEOS_CFLAGS}\"|CFLAGS=\"${CFLAGS} ${GEOS_CFLAGS}\"|g' configure
%build
#TODO: Couldn't I have modified that in the prep section?
%ifarch sparcv9 sparc64 s390 s390x
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
%else
export CFLAGS="$RPM_OPT_FLAGS -fpic"
%endif
export CXXFLAGS="$CFLAGS -I%{_includedir}/libgeotiff -I%{_includedir}/tirpc"
export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libgeotiff -I%{_includedir}/tirpc"
# For future reference:
# epsilon: Stalled review -- https://bugzilla.redhat.com/show_bug.cgi?id=660024
# Building without pgeo driver, because it drags in Java
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
%global g2clib g2c_v1.6.0
%else
%global g2clib grib2c
%endif
autoreconf -ifv
%configure \
LIBS="-l%{g2clib} -ltirpc" \
--with-autoload=%{_libdir}/%{name}plugins \
--datadir=%{_datadir}/%{name}/ \
--includedir=%{_includedir}/%{name}/ \
--prefix=%{_prefix} \
--with-armadillo \
--with-curl \
--with-cfitsio=%{_prefix} \
--with-dods-root=%{_prefix} \
--with-expat \
--with-freexl \
--with-geos \
--with-geotiff=external \
--with-gif \
--with-gta \
--with-hdf4 \
--with-hdf5 \
--with-jasper \
--with-java \
--with-jpeg \
--with-libjson-c \
--without-jpeg12 \
--with-liblzma \
--with-libtiff=external \
--with-libz \
--without-mdb \
--without-msg \
%{mysql} \
--with-netcdf \
--with-odbc \
--with-ogdi \
--with-openjpeg \
--with-pcraster \
--with-pg \
--with-png \
%{poppler} \
--with-proj \
%{spatialite} \
--with-sqlite3 \
--with-threads \
--with-webp \
--with-xerces \
--enable-shared \
--prefix=%{_prefix} \
--with-armadillo \
--with-curl \
--with-cfitsio \
--with-dods-root=%{_prefix} \
--with-expat \
--with-freexl \
--with-geos \
--with-geotiff \
--with-gif \
--with-gta \
--with-hdf4 \
--with-hdf5 \
--with-jasper \
--with-java \
--with-jpeg \
--with-libjson-c \
--without-jpeg12 \
--with-liblzma \
--with-libtiff \
--with-libz \
--without-mdb \
--without-msg \
%{mysql} \
--with-netcdf \
--with-odbc \
--with-ogdi \
--with-openjpeg \
--with-pcraster \
--with-pg \
--with-png \
%{poppler} \
--with-proj \
%{spatialite} \
--with-sqlite3 \
--with-threads \
--with-webp \
--with-xerces \
--enable-shared \
--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!
# NOTE: running autoconf seems to break build:
# fitsdataset.cpp:37:10: fatal error: fitsio.h: No such file or directory
# #include <fitsio.h>
POPPLER_OPTS="POPPLER_0_20_OR_LATER=yes POPPLER_0_23_OR_LATER=yes POPPLER_BASE_STREAM_HAS_TWO_ARGS=yes"
%if 0%{?fedora} > 26 || 0%{?rhel} > 7
POPPLER_OPTS="$POPPLER_OPTS POPPLER_0_58_OR_LATER=yes"
%endif
make %{?_smp_mflags} $POPPLER_OPTS
%make_build
make man
make docs
# Build some utilities, as requested in BZ #1271906
pushd ogr/ogrsf_frmts/s57/
make all
popd
pushd frmts/iso8211/
make all
popd
make -C ogr/ogrsf_frmts/s57 all
make -C frmts/iso8211 all
# Make Java module and documentation
pushd swig/java
make
ant maven
popd
%mvn_artifact swig/java/build/maven/gdal-%version.pom swig/java/build/maven/gdal-%version.jar
# Make Python modules
@ -514,7 +387,7 @@ pushd swig/python
%{?with_python3:%py3_build}
popd
# Make Python modules
# Make Perl modules
pushd swig/perl
perl Makefile.PL INSTALLDIRS=vendor
%make_build
@ -525,50 +398,30 @@ popd
# No useful documentation in swig
%global docdirs apps doc doc/br doc/ru ogr ogr/ogrsf_frmts frmts/gxf frmts/iso8211 frmts/pcidsk frmts/sdts frmts/vrt ogr/ogrsf_frmts/dgn/
for docdir in %{docdirs}; do
# CreateHTML and PDF documentation, if specified
pushd $docdir
if [ ! -f Doxyfile ]; then
doxygen -g
else
doxygen -u
fi
sed -i -e 's|^GENERATE_LATEX|GENERATE_LATEX = YES\n#GENERATE_LATEX |' Doxyfile
sed -i -e 's|^GENERATE_HTML|GENERATE_HTML = YES\n#GENERATE_HTML |' Doxyfile
sed -i -e 's|^USE_PDFLATEX|USE_PDFLATEX = YES\n#USE_PDFLATEX |' Doxyfile
if [ $docdir == "doc/ru" ]; then
sed -i -e 's|^OUTPUT_LANGUAGE|OUTPUT_LANGUAGE = Russian\n#OUTPUT_LANGUAGE |' Doxyfile
fi
rm -rf latex html
rm -rf html
doxygen
%if %{build_refman}
pushd latex
sed -i -e '/rfoot\[/d' -e '/lfoot\[/d' doxygen.sty
sed -i -e '/small/d' -e '/large/d' refman.tex
sed -i -e 's|pdflatex|pdflatex -interaction nonstopmode |g' Makefile
make refman.pdf || true
popd
%endif
popd
done
%install
rm -rf %{buildroot}
pushd swig/python
%{?with_python2:%py2_install}
%{?with_python3:%py3_install}
popd
pushd swig/perl
%make_install
popd
%make_install -C swig/perl
make DESTDIR=%{buildroot} \
install \
install-man
%make_install install-man
install -pm 755 ogr/ogrsf_frmts/s57/s57dump %{buildroot}%{_bindir}
install -pm 755 frmts/iso8211/8211createfromxml %{buildroot}%{_bindir}
@ -612,14 +465,6 @@ for docdir in %{docdirs}; do
path=%{_builddir}/%{name}-%{version}-fedora/refman
mkdir -p $path/html/$docdir
cp -r html $path/html/$docdir
# Install all Refmans
%if %{build_refman}
if [ -f latex/refman.pdf ]; then
mkdir -p $path/pdf/$docdir
cp latex/refman.pdf $path/pdf/$docdir
fi
%endif
popd
done
@ -653,26 +498,6 @@ EOF
#<<<<<<<<<<<<<
touch -r NEWS port/cpl_config.h
# Create and install pkgconfig file
#TODO: Why does that exist? Does Grass really use it? I don't think so.
# http://trac.osgeo.org/gdal/ticket/3470
#>>>>>>>>>>>>>
cat > %{name}.pc <<EOF
prefix=%{_prefix}
exec_prefix=%{_prefix}
libdir=%{_libdir}
includedir=%{_includedir}
Name: GDAL
Description: GIS file format library
Version: %{version}
Libs: -L\${libdir} -lgdal
Cflags: -I\${includedir}/%{name}
EOF
#<<<<<<<<<<<<<
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
install -m 644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig/
touch -r NEWS %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
# Multilib gdal-config
# Rename the original script to gdal-config-$arch (stores arch-specific information)
@ -698,9 +523,6 @@ EOF
touch -r NEWS %{buildroot}%{_bindir}/%{name}-config
chmod 755 %{buildroot}%{_bindir}/%{name}-config
# Clean up junk
rm -f %{buildroot}%{_bindir}/*.dox
#jni-libs and libgdal are also built static (*.a)
#.exists and .packlist stem from Perl
for junk in {*.a,*.la,*.bs,.exists,.packlist} ; do
@ -708,16 +530,8 @@ for junk in {*.a,*.la,*.bs,.exists,.packlist} ; do
done
# Don't duplicate license files
rm -f %{buildroot}%{_datadir}/%{name}/LICENSE.TXT
rm %{buildroot}%{_datadir}/%{name}/LICENSE.TXT
# Throw away random API man mages plus artefact seemingly caused by Doxygen 1.8.1 or 1.8.1.1
for f in 'GDAL*' BandProperty ColorAssociation CutlineTransformer DatasetProperty EnhanceCBInfo ListFieldDesc NamedColor OGRSplitListFieldLayer VRTBuilder; do
rm -rf %{buildroot}%{_mandir}/man1/$f.1*
done
#TODO: What's that?
rm -f %{buildroot}%{_mandir}/man1/*_%{name}-%{version}-fedora_apps_*
rm -f %{buildroot}%{_mandir}/man1/_home_rouault_dist_wrk_gdal_apps_.1*
%check
%if %{run_tests}
@ -794,8 +608,8 @@ popd
%files libs
%doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITTERS PROVENANCE.TXT-fedora
%{_libdir}/libgdal.so.20
%{_libdir}/libgdal.so.20.*
%{_libdir}/libgdal.so.26
%{_libdir}/libgdal.so.26.*
%{_datadir}/%{name}
#TODO: Possibly remove files like .dxf, .dgn, ...
%dir %{_libdir}/%{name}plugins
@ -823,20 +637,19 @@ popd
%if %{with python2}
%files -n python2-gdal
%doc swig/python/README.txt
%doc swig/python/README.rst
%doc swig/python/samples
%{python2_sitearch}/osgeo
%{python2_sitearch}/GDAL-%{version}-py*.egg-info
%{python2_sitearch}/osr.py*
%{python2_sitearch}/ogr.py*
%{python2_sitearch}/gdal*.py*
%{python2_sitearch}/gnm.py*
%endif
%if %{with python3}
%files -n python3-gdal
%doc swig/python/README.txt
%doc swig/python3/samples
%doc swig/python/README.rst
%doc swig/python/samples
%{python3_sitearch}/osgeo
%{python3_sitearch}/GDAL-%{version}-py*.egg-info
%{python3_sitearch}/osr.py
@ -845,8 +658,6 @@ popd
%{python3_sitearch}/__pycache__/ogr.*.py*
%{python3_sitearch}/gdal*.py
%{python3_sitearch}/__pycache__/gdal*.*.py*
%{python3_sitearch}/gnm.py*
%{python3_sitearch}/__pycache__/gnm.*.py*
%endif
%if %{with python2} || %{with python3}
@ -873,6 +684,9 @@ popd
#Or as before, using ldconfig
%changelog
* Wed Feb 05 2020 Sandro Mani <manisandro@gmail.com> - 3.0.4-1
- Update to 3.0.4
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

13
gdal_iso8211.patch Normal file
View File

@ -0,0 +1,13 @@
diff -rupN gdal-3.0.4-fedora/frmts/iso8211/GNUmakefile gdal-3.0.4-fedora-new/frmts/iso8211/GNUmakefile
--- gdal-3.0.4-fedora/frmts/iso8211/GNUmakefile 2020-01-28 11:13:11.000000000 +0100
+++ gdal-3.0.4-fedora-new/frmts/iso8211/GNUmakefile 2020-02-06 00:24:10.382117696 +0100
@@ -23,8 +23,7 @@ dist-clean: clean
rm -rf $(DISTDIR)
$(ISOLIB): $(OBJ:.o=.$(OBJ_EXT))
- $(AR) r $(ISOLIB) $?
- $(RANLIB) $(ISOLIB)
+ $(SHELL) $(top_builddir)/libtool --mode=link gcc -static -o $(ISOLIB) $?
8211createfromxml$(EXE): 8211createfromxml.$(OBJ_EXT)
$(LD) $(LDFLAGS) 8211createfromxml.$(OBJ_EXT) $(CONFIG_LIBS) -o 8211createfromxml$(EXE)

24
gdal_tirpcinc.patch Normal file
View File

@ -0,0 +1,24 @@
diff -rupN --no-dereference gdal-3.0.4-fedora/frmts/dods/GNUmakefile gdal-3.0.4-fedora-new/frmts/dods/GNUmakefile
--- gdal-3.0.4-fedora/frmts/dods/GNUmakefile 2020-01-28 11:13:11.000000000 +0100
+++ gdal-3.0.4-fedora-new/frmts/dods/GNUmakefile 2020-02-06 00:23:36.543285168 +0100
@@ -4,7 +4,7 @@ include ../../GDALmake.opt
OBJ = dodsdataset2.o
-CPPFLAGS := $(CPPFLAGS) $(DODS_INC)
+CPPFLAGS := $(CPPFLAGS) $(DODS_INC) -I/usr/include/tirpc
default: $(OBJ:.o=.$(OBJ_EXT))
diff -rupN --no-dereference gdal-3.0.4-fedora/ogr/ogrsf_frmts/dods/GNUmakefile gdal-3.0.4-fedora-new/ogr/ogrsf_frmts/dods/GNUmakefile
--- gdal-3.0.4-fedora/ogr/ogrsf_frmts/dods/GNUmakefile 2020-01-28 11:13:11.000000000 +0100
+++ gdal-3.0.4-fedora-new/ogr/ogrsf_frmts/dods/GNUmakefile 2020-02-06 00:23:36.543285168 +0100
@@ -5,7 +5,7 @@ include ../../../GDALmake.opt
OBJ = ogrdodsdriver.o ogrdodsdatasource.o ogrdodslayer.o \
ogrdodssequencelayer.o ogrdodsfielddefn.o ogrdodsgrid.o
-CPPFLAGS := -I.. $(CPPFLAGS) $(DODS_INC) -DDO_NOT_USE_DEBUG_BOOL
+CPPFLAGS := -I.. $(CPPFLAGS) $(DODS_INC) -DDO_NOT_USE_DEBUG_BOOL -I/usr/include/tirpc
default: $(O_OBJ:.o=.$(OBJ_EXT))

View File

@ -1,4 +1,2 @@
SHA512 (gdalautotest-2.3.2.tar.gz) = 7781d48407acb4a643175f5f9ecf625ad463a57c6c69c212d4b273d633b34cc8b9bb18d79a303c4905b345f400947d7952d7c75254db7b2f5fadfee865a98815
SHA512 (gdal-2.3.2-fedora.tar.xz) = d9fc4e3395af00673c3d62c3eed9175886ca9efa706f7712a933176245f73b3f348844fb2e5f4315aa6cb079fbc1cfbc64273aeeac91cc5a0b1d2f7bc1a3bc14
SHA512 (gdalautotest-3.0.1.zip) = 07f50ac17d7033ba08e4ca4552a0f59eebbe2b43f351b675df22fae6087edd98687b46b50f7d3fea2a2159ad4183082a3afaac8caa9bf632a410492f098c5be8
SHA512 (gdal-3.0.1-fedora.tar.xz) = 9129e7e7263d1901150a7130a4170d91f3039b3ed416731ad9cc91c2d30066575ad5178c35ee47848e81319482c2ef8bf06a8b05b86ea394bdc4962473a752d1
SHA512 (gdal-3.0.4-fedora.tar.xz) = f880a763cbf3e846789df4c45a68be11121fdc66252dab126d95b79141589435ef7712ed0efcb7d633643f2c82cde88f9663bb15b624e69f362ed2e10a79a110
SHA512 (gdalautotest-3.0.4.tar.gz) = d205c6eba1c68ade3cd55b9ae77c9a885f1ff87f6964ea4e71799bc98393ddcf92081a5319afd3d0d9d0cf8862d140eb59ad2ccf7e70a955cad2732f55c28e72