Port Debian patches to solve segfaults with shapefiles
This commit is contained in:
parent
17420e24b7
commit
3b6fe99412
1
.gitignore
vendored
1
.gitignore
vendored
@ -13,3 +13,4 @@
|
||||
/qgis-2.18.12.tar.bz2
|
||||
/qgis-2.18.13.tar.bz2
|
||||
/qgis-2.18.14.tar.bz2
|
||||
/qgis-2.18.15.tar.bz2
|
||||
|
135
saga/saga-projections-gcc6.patch
Normal file
135
saga/saga-projections-gcc6.patch
Normal file
@ -0,0 +1,135 @@
|
||||
From f3c103afb8be0e3fc79c0777ae9bfbd7d3ebdca3 Mon Sep 17 00:00:00 2001
|
||||
Applied-Upstream: https://sourceforge.net/p/saga-gis/code/ci/f3c103afb8be0e3fc79c0777ae9bfbd7d3ebdca3/
|
||||
From: oconrad <conrad@geowiss.uni-hamburg.de>
|
||||
Date: Thu, 18 Aug 2016 13:01:36 +0200
|
||||
Subject: saga_api, CSG_MetaData, gcc v6 compatibility: is_valid() function
|
||||
removed (you can use () operator to check if a child entry with given name
|
||||
exists)
|
||||
|
||||
|
||||
diff --git a/saga-gis/src/saga_core/saga_api/metadata.cpp b/saga-gis/src/saga_core/saga_api/metadata.cpp
|
||||
index 030be0c..4e2f135 100644
|
||||
--- a/src/saga_core/saga_api/metadata.cpp
|
||||
+++ b/src/saga_core/saga_api/metadata.cpp
|
||||
@@ -174,17 +174,6 @@ void CSG_MetaData::Destroy(void)
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
//---------------------------------------------------------
|
||||
-bool CSG_MetaData::is_Valid(void) const
|
||||
-{
|
||||
- return( this != NULL );
|
||||
-}
|
||||
-
|
||||
-
|
||||
-///////////////////////////////////////////////////////////
|
||||
-// //
|
||||
-///////////////////////////////////////////////////////////
|
||||
-
|
||||
-//---------------------------------------------------------
|
||||
CSG_MetaData * CSG_MetaData::Add_Child(void)
|
||||
{
|
||||
return( Ins_Child(-1) );
|
||||
diff --git a/saga-gis/src/saga_core/saga_api/metadata.h b/saga-gis/src/saga_core/saga_api/metadata.h
|
||||
index 905a668..858be49 100644
|
||||
--- a/src/saga_core/saga_api/metadata.h
|
||||
+++ b/src/saga_core/saga_api/metadata.h
|
||||
@@ -157,8 +157,6 @@ public:
|
||||
const CSG_MetaData & operator [] (int Index) const { return( *Get_Child(Index ) ); }
|
||||
const CSG_MetaData & operator [] (const CSG_String &Name) const { return( *Get_Child(_Get_Child(Name)) ); }
|
||||
|
||||
- bool is_Valid (void) const;
|
||||
-
|
||||
int Get_Property_Count (void) const { return( m_Prop_Names.Get_Count() ); }
|
||||
const CSG_String & Get_Property_Name (int i) const { return( m_Prop_Names [i] ); }
|
||||
const SG_Char * Get_Property (int i) const { return( i >= 0 && i < m_Prop_Values.Get_Count() ? m_Prop_Values[i].c_str() : NULL ); }
|
||||
diff --git a/saga-gis/src/saga_core/saga_api/projections.cpp b/saga-gis/src/saga_core/saga_api/projections.cpp
|
||||
index d84d386..638c0da 100644
|
||||
--- a/src/saga_core/saga_api/projections.cpp
|
||||
+++ b/src/saga_core/saga_api/projections.cpp
|
||||
@@ -220,7 +220,7 @@ double SG_Get_Projection_Unit_To_Meter (TSG_Projection_Unit Unit)
|
||||
//---------------------------------------------------------
|
||||
bool SG_Set_Projection_Unit (const CSG_MetaData &m, TSG_Projection_Unit &Unit, CSG_String &Name, double &To_Meter)
|
||||
{
|
||||
- if( m["UNIT"].is_Valid() )
|
||||
+ if( m("UNIT") )
|
||||
{
|
||||
if( m["UNIT"].Get_Property("name", Name) && (Unit = SG_Get_Projection_Unit(Name)) != SG_PROJ_UNIT_Undefined )
|
||||
{
|
||||
@@ -1042,8 +1042,8 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
// ]
|
||||
if( !m.Get_Name().Cmp("GEOGCS") )
|
||||
{
|
||||
- if( !m["DATUM"].is_Valid()
|
||||
- || !m["DATUM"]["SPHEROID"].is_Valid()
|
||||
+ if( !m("DATUM")
|
||||
+ || !m["DATUM"]("SPHEROID")
|
||||
|| m["DATUM"]["SPHEROID"].Get_Children_Count() != 2
|
||||
|| !m["DATUM"]["SPHEROID"][0].Get_Content().asDouble(a) || a <= 0.0
|
||||
|| !m["DATUM"]["SPHEROID"][1].Get_Content().asDouble(d) || d < 0.0 )
|
||||
@@ -1056,7 +1056,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
Proj4 += CSG_String::Format(SG_T(" +a=%f"), a); // Semimajor radius of the ellipsoid axis
|
||||
Proj4 += CSG_String::Format(SG_T(" +b=%f"), d > 0.0 ? a - a / d : a); // Semiminor radius of the ellipsoid axis
|
||||
|
||||
- if( m["DATUM"]["TOWGS84"].is_Valid() && m["DATUM"]["TOWGS84"].Get_Children_Count() == 7 )
|
||||
+ if( m["DATUM"]("TOWGS84") && m["DATUM"]["TOWGS84"].Get_Children_Count() == 7 )
|
||||
{
|
||||
for(i=0; i<7; i++)
|
||||
{
|
||||
@@ -1064,7 +1064,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
}
|
||||
}
|
||||
|
||||
- if( m["PRIMEM"].is_Valid() && m["PRIMEM"].Get_Content().asDouble(d) && d != 0.0 )
|
||||
+ if( m("PRIMEM") && m["PRIMEM"].Get_Content().asDouble(d) && d != 0.0 )
|
||||
{
|
||||
Proj4 += CSG_String::Format(SG_T(" +pm=%f"), d);
|
||||
}
|
||||
@@ -1090,7 +1090,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
// ]
|
||||
if( !m.Get_Name().Cmp(SG_T("PROJCS")) )
|
||||
{
|
||||
- if( !m["PROJECTION"].is_Valid() )
|
||||
+ if( !m("PROJECTION") )
|
||||
{
|
||||
SG_UI_Msg_Add_Error(CSG_String::Format(SG_T(">> WKT: %s"), _TL("no projection specified")));
|
||||
|
||||
@@ -1104,9 +1104,9 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
return( false );
|
||||
}
|
||||
|
||||
- if( !m["GEOGCS"].is_Valid()
|
||||
- || !m["GEOGCS"]["DATUM"].is_Valid()
|
||||
- || !m["GEOGCS"]["DATUM"]["SPHEROID"].is_Valid()
|
||||
+ if( !m("GEOGCS")
|
||||
+ || !m["GEOGCS"]("DATUM")
|
||||
+ || !m["GEOGCS"]["DATUM"]("SPHEROID")
|
||||
|| m["GEOGCS"]["DATUM"]["SPHEROID"].Get_Children_Count() != 2
|
||||
|| !m["GEOGCS"]["DATUM"]["SPHEROID"][0].Get_Content().asDouble(a) || a <= 0.0
|
||||
|| !m["GEOGCS"]["DATUM"]["SPHEROID"][1].Get_Content().asDouble(d) || d < 0.0 )
|
||||
@@ -1121,7 +1121,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
Proj4 += CSG_String::Format(SG_T(" +a=%f"), a);
|
||||
Proj4 += CSG_String::Format(SG_T(" +b=%f"), d <= 0.0 ? a : a - a / d); // Semiminor radius of the ellipsoid axis
|
||||
|
||||
- if( m["GEOGCS"]["DATUM"]["TOWGS84"].is_Valid() && m["GEOGCS"]["DATUM"]["TOWGS84"].Get_Children_Count() == 7 )
|
||||
+ if( m["GEOGCS"]["DATUM"]("TOWGS84") && m["GEOGCS"]["DATUM"]["TOWGS84"].Get_Children_Count() == 7 )
|
||||
{
|
||||
for(i=0; i<7; i++)
|
||||
{
|
||||
@@ -1129,7 +1129,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
}
|
||||
}
|
||||
|
||||
- if( m["PRIMEM"].is_Valid() && m["PRIMEM"].Get_Content().asDouble(d) && d != 0.0 )
|
||||
+ if( m("PRIMEM") && m["PRIMEM"].Get_Content().asDouble(d) && d != 0.0 )
|
||||
{
|
||||
Proj4 += CSG_String::Format(SG_T(" +pm=%f"), d);
|
||||
}
|
||||
@@ -1149,7 +1149,7 @@ bool CSG_Projections::WKT_to_Proj4(CSG_String &Proj4, const CSG_String &WKT) con
|
||||
}
|
||||
}
|
||||
|
||||
- if( m["UNIT"].is_Valid() && m["UNIT"].Get_Content().asDouble(d) && d != 0.0 && d != 1.0 )
|
||||
+ if( m("UNIT") && m["UNIT"].Get_Content().asDouble(d) && d != 0.0 && d != 1.0 )
|
||||
{
|
||||
Proj4 += CSG_String::Format(SG_T(" +to_meter=%f"), d);
|
||||
}
|
132
saga/saga-spelling-errors.patch
Normal file
132
saga/saga-spelling-errors.patch
Normal file
@ -0,0 +1,132 @@
|
||||
Description: Fix spelling errors.
|
||||
* minium -> minimum
|
||||
* coodinate -> coordinate
|
||||
* contributers -> contributors
|
||||
* ins't -> isn't
|
||||
* Internation -> International
|
||||
Author: Bas Couwenberg <sebastic@debian.org>
|
||||
Forwarded: https://sourceforge.net/p/saga-gis/patches/15/
|
||||
Applied-Upstream: https://sourceforge.net/p/saga-gis/code/ci/ed0361f4a2d25ac727cc184ceaca3125ef6c7dfe/
|
||||
https://sourceforge.net/p/saga-gis/code/ci/450e5927b0b0759d23b8b31258cc431e9d5aa844/
|
||||
|
||||
--- a/src/modules/grid/grid_filter/Filter_Multi_Dir_Lee.cpp
|
||||
+++ b/src/modules/grid/grid_filter/Filter_Multi_Dir_Lee.cpp
|
||||
@@ -190,7 +190,7 @@ CFilter_Multi_Dir_Lee::CFilter_Multi_Dir
|
||||
Set_Author(_TL("Copyrights (c) 2003 by Andre Ringeler"));
|
||||
|
||||
Set_Description (_TW(
|
||||
- "The module searches for the minium variance within 16 directions "
|
||||
+ "The module searches for the minimum variance within 16 directions "
|
||||
"and applies a Lee Filter in the direction of minimum variance. The "
|
||||
"filter is edge-preserving and can be used to remove speckle noise "
|
||||
"from SAR images or to smooth DTMs. Applied to DTMs, this filter "
|
||||
--- a/src/modules/terrain_analysis/ta_hydrology/Flow_RecursiveDown.cpp
|
||||
+++ b/src/modules/terrain_analysis/ta_hydrology/Flow_RecursiveDown.cpp
|
||||
@@ -128,7 +128,7 @@ CFlow_RecursiveDown::CFlow_RecursiveDown
|
||||
|
||||
Parameters.Add_Value(
|
||||
NULL , "MINDQV" , _TL("DEMON - Min. DQV"),
|
||||
- _TL("DEMON - Minium Drainage Quota Volume (DQV) for traced flow tubes"),
|
||||
+ _TL("DEMON - Minimum Drainage Quota Volume (DQV) for traced flow tubes"),
|
||||
PARAMETER_TYPE_Double , 0.0, 0.0, true, 1.0, true
|
||||
);
|
||||
|
||||
--- a/src/saga_core/saga_gui/res/saga.bra.txt
|
||||
+++ b/src/saga_core/saga_gui/res/saga.bra.txt
|
||||
@@ -1216,7 +1216,7 @@ TEXT TRANSLATION
|
||||
"DEM without Sinks" "MDE sem skins"
|
||||
"DEMON" "DEMON"
|
||||
"DEMON - Min. DQV" "DEMON - Min. DQV"
|
||||
-"DEMON - Minium Drainage Quota Volume (DQV) for traced flow tubes" "DEMON - Volume mínimo de drenagem do contigente (DQV) para tubos de fluxo rastreados"
|
||||
+"DEMON - Minimum Drainage Quota Volume (DQV) for traced flow tubes" "DEMON - Volume mínimo de drenagem do contigente (DQV) para tubos de fluxo rastreados"
|
||||
"DESCRIPTION" "Descrição"
|
||||
"DIFF_MEAN" "DIFF_MEAN"
|
||||
"DN" "DN"
|
||||
--- a/src/saga_core/saga_gui/res/saga.ger.txt
|
||||
+++ b/src/saga_core/saga_gui/res/saga.ger.txt
|
||||
@@ -1216,7 +1216,7 @@ TEXT TRANSLATION
|
||||
"DEM without Sinks" ""
|
||||
"DEMON" "DEMON"
|
||||
"DEMON - Min. DQV" ""
|
||||
-"DEMON - Minium Drainage Quota Volume (DQV) for traced flow tubes" "DEMON - Minimales Abflussquotenvolumen (DQV) für aufgezeichnete Fließröhren"
|
||||
+"DEMON - Minimum Drainage Quota Volume (DQV) for traced flow tubes" "DEMON - Minimales Abflussquotenvolumen (DQV) für aufgezeichnete Fließröhren"
|
||||
"DESCRIPTION" "BESCHREIBUNG"
|
||||
"DIFF_MEAN" "DIFFERENZ_DURCHSCHNITT"
|
||||
"DN" ""
|
||||
--- a/src/saga_core/saga_gui/res/saga.lng.txt
|
||||
+++ b/src/saga_core/saga_gui/res/saga.lng.txt
|
||||
@@ -1216,7 +1216,7 @@ TEXT TRANSLATION
|
||||
"DEM without Sinks" ""
|
||||
"DEMON" ""
|
||||
"DEMON - Min. DQV" ""
|
||||
-"DEMON - Minium Drainage Quota Volume (DQV) for traced flow tubes" ""
|
||||
+"DEMON - Minimum Drainage Quota Volume (DQV) for traced flow tubes" ""
|
||||
"DESCRIPTION" ""
|
||||
"DIFF_MEAN" ""
|
||||
"DN" ""
|
||||
--- a/src/modules/projection/pj_proj4/crs_grid_geogcoords.cpp
|
||||
+++ b/src/modules/projection/pj_proj4/crs_grid_geogcoords.cpp
|
||||
@@ -79,7 +79,7 @@ CCRS_Grid_GeogCoords::CCRS_Grid_GeogCoor
|
||||
Set_Description (_TW(
|
||||
"Creates for a given grid geographic coordinate information, "
|
||||
"i.e. two grids specifying the longitude and latitude for each cell. "
|
||||
- "The coodinate system of the input grid has to be defined. "
|
||||
+ "The coordinate system of the input grid has to be defined. "
|
||||
));
|
||||
|
||||
Set_Description (Get_Description() + "\n" + CSG_CRSProjector::Get_Description());
|
||||
--- a/src/saga_core/saga_cmd/man/saga_cmd.1
|
||||
+++ b/src/saga_core/saga_cmd/man/saga_cmd.1
|
||||
@@ -221,7 +221,7 @@ Multiple input files can be specified by
|
||||
On the website of \fIhttp://www.saga\-gis.org\fR, a list of known bugs can be found and new bug reports can be submitted.
|
||||
.SH "AUTHORS"
|
||||
.IX Header "AUTHORS"
|
||||
-\&\fB\s-1SAGA\s0\fR was written by Olaf Conrad with help from a large number of contributers. This manual page was written by Johan Van de Wauw.
|
||||
+\&\fB\s-1SAGA\s0\fR was written by Olaf Conrad with help from a large number of contributors. This manual page was written by Johan Van de Wauw.
|
||||
Both are released under the \s-1GNU\s0 General Public License v2.
|
||||
.PP
|
||||
More info \fIhttp://www.saga\-gis.org\fR
|
||||
--- a/src/saga_core/saga_gui/man/saga_gui.1
|
||||
+++ b/src/saga_core/saga_gui/man/saga_gui.1
|
||||
@@ -142,7 +142,7 @@ Graphical user interface to the System f
|
||||
On the project website: \fIhttp://www.saga\-gis.org\fR, a list of known bugs can be found and new bug reports can be submitted.
|
||||
.SH "AUTHORS"
|
||||
.IX Header "AUTHORS"
|
||||
-\&\fB\s-1SAGA\s0\fR was written by Olaf Conrad with help from a large number of contributers. This manual page was written by Johan Van de Wauw.
|
||||
+\&\fB\s-1SAGA\s0\fR was written by Olaf Conrad with help from a large number of contributors. This manual page was written by Johan Van de Wauw.
|
||||
Both are released under the \s-1GNU\s0 General Public License v2.
|
||||
.PP
|
||||
More info \fIhttp://www.saga\-gis.org\fR
|
||||
--- a/src/modules/pointcloud/pointcloud_tools/pc_reclass_extract.cpp
|
||||
+++ b/src/modules/pointcloud/pointcloud_tools/pc_reclass_extract.cpp
|
||||
@@ -91,7 +91,7 @@ CPC_Reclass_Extract::CPC_Reclass_Extract
|
||||
"In addition to these settings, two special cases ('NoData values' and 'other values' not "
|
||||
"included in the parameter setup) are supported:\n"
|
||||
"In mode (a) and (b) the 'NoData option' is evaluated before the method settings, in mode "
|
||||
- "(c) the option is evaluated only if the NoData value ins't included in the lookup table.\n"
|
||||
+ "(c) the option is evaluated only if the NoData value isn't included in the lookup table.\n"
|
||||
"The 'other values' option is always evaluated after checking the method settings.\n\n")
|
||||
);
|
||||
|
||||
--- a/src/saga_core/saga_api/projections.cpp
|
||||
+++ b/src/saga_core/saga_api/projections.cpp
|
||||
@@ -1639,7 +1639,7 @@ bool CSG_Projections::_Set_Dictionary(CS
|
||||
{ "hammer" , " ", "Hammer_Eckert_Greifendorff" , "*) Hammer & Eckert-Greifendorff" },
|
||||
{ "hatano" , " ", "Hatano_Asymmetrical_Equal_Area" , "*) Hatano Asymmetrical Equal Area" },
|
||||
{ "igh" , " ", "World_Goode_Homolosine_Land" , "*) Interrupted Goode Homolosine" },
|
||||
- { "imw_p" , " ", "Internation_Map_of_the_World_Polyconic" , "*) Internation Map of the World Polyconic" },
|
||||
+ { "imw_p" , " ", "International_Map_of_the_World_Polyconic" , "*) International Map of the World Polyconic" },
|
||||
{ "kav5" , " ", "Kavraisky_V" , "*) Kavraisky V" },
|
||||
{ "kav7" , " ", "Kavraisky_VII" , "*) Kavraisky VII" },
|
||||
{ "krovak" , " ", "Krovak" , "Krovak" },
|
||||
--- a/src/saga_core/saga_gui/res/saga_dic.txt
|
||||
+++ b/src/saga_core/saga_gui/res/saga_dic.txt
|
||||
@@ -50,7 +50,7 @@ PROJ4 DIR WKT DESC
|
||||
"hammer" " " "Hammer_Eckert_Greifendorff" "*) Hammer & Eckert-Greifendorff"
|
||||
"hatano" " " "Hatano_Asymmetrical_Equal_Area" "*) Hatano Asymmetrical Equal Area"
|
||||
"igh" " " "Interrupted_Goodes_Homolosine" "*) Interrupted Goode's Homolosine"
|
||||
-"imw_p" " " "Internation_Map_of_the_World_Polyconic" "*) Internation Map of the World Polyconic"
|
||||
+"imw_p" " " "International_Map_of_the_World_Polyconic" "*) International Map of the World Polyconic"
|
||||
"kav5" " " "Kavraisky_V" "*) Kavraisky V"
|
||||
"kav7" " " "Kavraisky_VII" "*) Kavraisky VII"
|
||||
"krovak" " " "Krovak" "Krovak"
|
@ -1,6 +1,6 @@
|
||||
Name: saga
|
||||
Version: 2.3.1
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Geographic information system with an API for processing geodata
|
||||
|
||||
Group: Applications/Engineering
|
||||
@ -12,6 +12,8 @@ License: GPLv2 and LGPLv2
|
||||
URL: http://www.saga-gis.org
|
||||
#Source0: https://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.3/SAGA%20%{version}/saga_%{version}_gpl2.tar.gz
|
||||
Source0: %{name}_%{version}_gpl2.tar.gz
|
||||
Patch0: %{name}-projections-gcc6.patch
|
||||
Patch1: %{name}-spelling-errors.patch
|
||||
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
@ -68,6 +70,9 @@ This package includes the headers and development libraries for SAGA.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
# Convert to UNIX line-breaks
|
||||
sed -i 's/\r//' AUTHORS
|
||||
|
||||
@ -145,6 +150,10 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/%{name}.a
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jan 18 2018 Daniele Viganò <daniele@vigano.me> - 2.3.1-3
|
||||
- Add from Debian to address segfaults with shapefiles and newer GCC
|
||||
- Add a patch from Debian to fix spelling
|
||||
|
||||
* Tue Aug 29 2017 Daniele Viganò <daniele@vigano.me> - 2.3.1-2
|
||||
- Sync with upstream master
|
||||
- Python 2 binary package renamed to python2-saga
|
||||
|
Reference in New Issue
Block a user