From d89196fcc80b735a9f11f76c5059dc969981b6bf Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Tue, 3 Mar 2020 15:20:35 +0100 Subject: [PATCH] Update to 3.0.4 --- gdal-1.9.0-java.patch | 7 +- gdal-2.3.0-zlib.patch | 13 - gdal-2.3.1-perl-build.patch | 46 --- gdal-2.3.2-poppler-0.73.0.patch | 314 ------------------ gdal-2.3.2-poppler-0.76.0.patch | 106 ------ gdal-3.0.1-perl-build.patch | 8 - gdal-3.0.1-zlib.patch | 11 - gdal-cleaner.sh | 2 +- gdal-completion.patch | 7 +- gdal-g2clib.patch | 79 ----- gdal-jni.patch | 52 --- gdal.spec | 560 +++++++++++--------------------- gdal_iso8211.patch | 13 + gdal_tirpcinc.patch | 24 ++ sources | 6 +- 15 files changed, 233 insertions(+), 1015 deletions(-) delete mode 100644 gdal-2.3.0-zlib.patch delete mode 100644 gdal-2.3.1-perl-build.patch delete mode 100644 gdal-2.3.2-poppler-0.73.0.patch delete mode 100644 gdal-2.3.2-poppler-0.76.0.patch delete mode 100644 gdal-3.0.1-perl-build.patch delete mode 100644 gdal-3.0.1-zlib.patch delete mode 100644 gdal-g2clib.patch delete mode 100644 gdal-jni.patch create mode 100644 gdal_iso8211.patch create mode 100644 gdal_tirpcinc.patch diff --git a/gdal-1.9.0-java.patch b/gdal-1.9.0-java.patch index 289ca0d..b0f1871 100644 --- a/gdal-1.9.0-java.patch +++ b/gdal-1.9.0-java.patch @@ -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 diff --git a/gdal-2.3.0-zlib.patch b/gdal-2.3.0-zlib.patch deleted file mode 100644 index a830193..0000000 --- a/gdal-2.3.0-zlib.patch +++ /dev/null @@ -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 - #include --#include "../zlib/zlib.h" -+#include - - CPL_CVSID("$Id: mrf_band.cpp 7e07230bbff24eb333608de4dbd460b7312839d0 2017-12-11 19:08:47Z Even Rouault $") - diff --git a/gdal-2.3.1-perl-build.patch b/gdal-2.3.1-perl-build.patch deleted file mode 100644 index 1704dcc..0000000 --- a/gdal-2.3.1-perl-build.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 33beac3add11101ba09b3261adcd3375f87b51dd Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -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 diff --git a/gdal-2.3.2-poppler-0.73.0.patch b/gdal-2.3.2-poppler-0.73.0.patch deleted file mode 100644 index ba046bd..0000000 --- a/gdal-2.3.2-poppler-0.73.0.patch +++ /dev/null @@ -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;igetLength();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;igetLength();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, "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(gooString->getCString()), -+ return (osStr = GDALPDFGetUTF8StringFromBytes(reinterpret_cast(gooString->c_str()), - static_cast(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 - #include - - /* begin of poppler xpdf includes */ diff --git a/gdal-2.3.2-poppler-0.76.0.patch b/gdal-2.3.2-poppler-0.76.0.patch deleted file mode 100644 index 74144da..0000000 --- a/gdal-2.3.2-poppler-0.76.0.patch +++ /dev/null @@ -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 -+// GooList.h removed in poppler 0.76 -+//#include - - /* begin of poppler xpdf includes */ - #include diff --git a/gdal-3.0.1-perl-build.patch b/gdal-3.0.1-perl-build.patch deleted file mode 100644 index e387e51..0000000 --- a/gdal-3.0.1-perl-build.patch +++ /dev/null @@ -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 diff --git a/gdal-3.0.1-zlib.patch b/gdal-3.0.1-zlib.patch deleted file mode 100644 index de5a1aa..0000000 --- a/gdal-3.0.1-zlib.patch +++ /dev/null @@ -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 - #include --#include "../zlib/zlib.h" -+#include "zlib.h" - - CPL_CVSID("$Id: mrf_band.cpp 09abe392b2b229ee2ee7625cfc5d6509c57f4f17 2019-02-02 13:13:07 -0800 Lucian Plesea $") - diff --git a/gdal-cleaner.sh b/gdal-cleaner.sh index 1668535..beb0059 100755 --- a/gdal-cleaner.sh +++ b/gdal-cleaner.sh @@ -1,5 +1,5 @@ #!/bin/bash -VERSION="2.3.2" +VERSION="3.0.4" tar xvf gdal-"${VERSION}".tar.xz diff --git a/gdal-completion.patch b/gdal-completion.patch index f68acad..0c195f1 100644 --- a/gdal-completion.patch +++ b/gdal-completion.patch @@ -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: diff --git a/gdal-g2clib.patch b/gdal-g2clib.patch deleted file mode 100644 index bcc5019..0000000 --- a/gdal-g2clib.patch +++ /dev/null @@ -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]); - } diff --git a/gdal-jni.patch b/gdal-jni.patch deleted file mode 100644 index 5b096d5..0000000 --- a/gdal-jni.patch +++ /dev/null @@ -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; diff --git a/gdal.spec b/gdal.spec index 7219dca..0740e58 100644 --- a/gdal.spec +++ b/gdal.spec @@ -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 - -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 < - 3.0.4-1 +- Update to 3.0.4 + * Tue Jan 28 2020 Fedora Release Engineering - 2.3.2-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/gdal_iso8211.patch b/gdal_iso8211.patch new file mode 100644 index 0000000..ee1c4c5 --- /dev/null +++ b/gdal_iso8211.patch @@ -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) diff --git a/gdal_tirpcinc.patch b/gdal_tirpcinc.patch new file mode 100644 index 0000000..5b55069 --- /dev/null +++ b/gdal_tirpcinc.patch @@ -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)) + diff --git a/sources b/sources index e224f5f..1ac9d4c 100644 --- a/sources +++ b/sources @@ -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