[qgis] UPDATE FOR VERSION 1.7.2

Volker Fröhlich volter at fedoraproject.org
Wed Nov 16 17:45:06 UTC 2011


commit f746207dc6b835786feee925f41ced0181bf6d64
Author: Volker Fröhlich <volker27 at gmx.at>
Date:   Wed Nov 16 18:27:59 2011 +0100

    UPDATE FOR VERSION 1.7.2
    
    - Remove georef and histogram patches
    - Add spatialindex patch

 .gitignore                    |    1 +
 qgis-1.7.0-georef-crash.patch |   33 ------
 qgis-1.7.0-histogram.patch    |   48 --------
 qgis-1.7.1-spatialindex.patch |  257 +++++++++++++++++++++++++++++++++++++++++
 qgis.spec                     |   60 +++++------
 sources                       |    2 +-
 6 files changed, 286 insertions(+), 115 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 36cb8f7..b0ee9b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ qgis_1.5.0.tar.gz
 /qgis_1.6.0.tar.gz
 /qgis-1.7.0.tar.bz2
 /qgis-1.7.1.tar.bz2
+/qgis-1.7.2.tar.bz2
diff --git a/qgis-1.7.1-spatialindex.patch b/qgis-1.7.1-spatialindex.patch
new file mode 100644
index 0000000..ae9dd2e
--- /dev/null
+++ b/qgis-1.7.1-spatialindex.patch
@@ -0,0 +1,257 @@
+--- qgis-1.7.1/CMakeLists.txt	2011-09-24 01:38:02.000000000 +0200
++++ ../BUILD/qgis-1.7.1/CMakeLists.txt	2011-10-16 16:17:07.042202703 +0200
+@@ -66,7 +66,9 @@
+   SET (POSTGRESQL_PREFIX "" CACHE PATH "Path to POSTGRESQL base directory")
+ ENDIF (WITH_POSTGRESQL)
+ 
+-SET (WITH_INTERNAL_QWTPOLAR TRUE CACHE BOOL "Use internal built of QwtPolar")
++SET (WITH_INTERNAL_QWTPOLAR TRUE CACHE BOOL "Use internal build of QwtPolar")
++
++SET (WITH_INTERNAL_SPATIALINDEX TRUE CACHE BOOL "Use internal build of Spatialindex")
+ 
+ SET (WITH_SPATIALITE TRUE CACHE BOOL "Determines whether SPATIALITE support should be built")
+ 
+@@ -145,6 +147,11 @@
+ FIND_PACKAGE(GSL)      # Georeferencer
+ FIND_PACKAGE(GEOS)
+ FIND_PACKAGE(GDAL)
++
++IF (NOT WITH_INTERNAL_SPATIALINDEX)
++  FIND_PACKAGE(Spatialindex REQUIRED)
++ENDIF(NOT WITH_INTERNAL_SPATIALINDEX)
++
+ FIND_PACKAGE(Qwt REQUIRED)
+ IF (NOT WITH_INTERNAL_QWTPOLAR)
+   FIND_PACKAGE(QwtPolar REQUIRED)
+--- qgis-1.7.1/src/core/CMakeLists.txt	2011-09-24 01:38:02.000000000 +0200
++++ ../BUILD/qgis-1.7.1/src/core/CMakeLists.txt	2011-10-16 16:19:28.845050529 +0200
+@@ -266,7 +266,6 @@
+   raster 
+   renderer 
+   symbology
+-  spatialindex/include
+   symbology-ng
+   gps/qextserialport
+   ${PROJ_INCLUDE_DIR}
+@@ -274,6 +273,12 @@
+   ${GDAL_INCLUDE_DIR}
+ )
+ 
++IF (NOT WITH_INTERNAL_SPATIALINDEX)
++  INCLUDE_DIRECTORIES(${SPATIALINDEX_INCLUDE_DIR})
++ELSE (NOT WITH_INTERNAL_SPATIALINDEX)
++  INCLUDE_DIRECTORIES(spatialindex/include)
++ENDIF (NOT WITH_INTERNAL_SPATIALINDEX)
++
+ IF (NOT WITH_INTERNAL_SPATIALITE)
+   INCLUDE_DIRECTORIES(${SQLITE3_INCLUDE_DIR})
+ ENDIF (NOT WITH_INTERNAL_SPATIALITE)
+@@ -296,25 +301,27 @@
+ #############################################################
+ # spatial indexing library
+ 
+-# add path prefix to every specified file
+-MACRO(PATH_PREFIX OUTPUT PREFIX)
+-  FOREACH(F ${ARGN})
+-    SET(${OUTPUT} ${${OUTPUT}} ${PREFIX}/${F})
+-  ENDFOREACH(F)
+-ENDMACRO(PATH_PREFIX)
+-
+-# tools library
+-PATH_PREFIX(TOOLS_SRC tools   ExternalSort.cc ExternalSort.h TemporaryFile.cc Tools.cc)
+-PATH_PREFIX(GEOM_SRC geometry LineSegment.cc Point.cc Region.cc)
+-
+-# spatial index library
+-PATH_PREFIX(SPINDEX_SRC spatialindex SpatialIndexImpl.cc)
+-PATH_PREFIX(STMAN_SRC storagemanager Buffer.cc DiskStorageManager.cc MemoryStorageManager.cc RandomEvictionsBuffer.cc)
+-PATH_PREFIX(RTREE_SRC rtree BulkLoader.cc Index.cc Leaf.cc Node.cc RTree.cc Statistics.cc)
+-
+-SET(SPINDEX_SRC ${TOOLS_SRC} ${GEOM_SRC} ${SPINDEX_SRC} ${STMAN_SRC} ${RTREE_SRC})
+-
+-PATH_PREFIX(INDEX_SRC spatialindex ${SPINDEX_SRC})
++IF (WITH_INTERNAL_SPATIALINDEX)
++  # add path prefix to every specified file
++  MACRO(PATH_PREFIX OUTPUT PREFIX)
++    FOREACH(F ${ARGN})
++      SET(${OUTPUT} ${${OUTPUT}} ${PREFIX}/${F})
++    ENDFOREACH(F)
++  ENDMACRO(PATH_PREFIX)
++  
++  # tools library
++  PATH_PREFIX(TOOLS_SRC tools   ExternalSort.cc ExternalSort.h TemporaryFile.cc Tools.cc)
++  PATH_PREFIX(GEOM_SRC geometry LineSegment.cc Point.cc Region.cc)
++  
++  # spatial index library
++  PATH_PREFIX(SPINDEX_SRC spatialindex SpatialIndexImpl.cc)
++  PATH_PREFIX(STMAN_SRC storagemanager Buffer.cc DiskStorageManager.cc MemoryStorageManager.cc RandomEvictionsBuffer.cc)
++  PATH_PREFIX(RTREE_SRC rtree BulkLoader.cc Index.cc Leaf.cc Node.cc RTree.cc Statistics.cc)
++  
++  SET(SPINDEX_SRC ${TOOLS_SRC} ${GEOM_SRC} ${SPINDEX_SRC} ${STMAN_SRC} ${RTREE_SRC})
++  
++  PATH_PREFIX(INDEX_SRC spatialindex ${SPINDEX_SRC})
++ENDIF (WITH_INTERNAL_SPATIALINDEX)
+ 
+ #############################################################
+ # qgis_core library
+@@ -360,6 +367,11 @@
+   TARGET_LINK_LIBRARIES(qgis_core ${SQLITE3_LIBRARY})
+ ENDIF (WITH_INTERNAL_SPATIALITE)
+ 
++IF (NOT WITH_INTERNAL_SPATIALINDEX)
++  TARGET_LINK_LIBRARIES(qgis_core ${SPATIALINDEX_LIBRARY})
++ENDIF (NOT WITH_INTERNAL_SPATIALINDEX)
++
++
+ IF (APPLE)
+   SET_TARGET_PROPERTIES(qgis_core PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE )
+ ENDIF (APPLE)
+--- qgis-1.7.1/cmake/FindSpatialindex.cmake	1970-01-01 01:00:00.000000000 +0100
++++ ../BUILD/qgis-1.7.1/cmake/FindSpatialindex.cmake	2011-10-16 16:17:07.043202653 +0200
+@@ -0,0 +1,41 @@
++# Find Spatialindex
++# ~~~~~~~~
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++#
++# Once run this will define: 
++# 
++# SPATIALINDEX_FOUND       = system has Spatialindex lib
++# SPATIALINDEX_LIBRARY     = full path to the Spatialindex library
++# SPATIALINDEX_INCLUDE_DIR = where to find headers 
++#
++
++
++FIND_PATH(SPATIALINDEX_INCLUDE_DIR NAMES SpatialIndex.h PATHS
++  /usr/include
++  /usr/local/include
++  "$ENV{LIB_DIR}/include" 
++  "$ENV{INCLUDE}" 
++  PATH_SUFFIXES spatialindex
++  )
++
++FIND_LIBRARY(SPATIALINDEX_LIBRARY NAMES spatialindex PATHS 
++  /usr/lib
++  /usr/local/lib
++  "$ENV{LIB_DIR}/lib" 
++  "$ENV{LIB}/lib" 
++  )
++
++IF (SPATIALINDEX_INCLUDE_DIR AND SPATIALINDEX_LIBRARY)
++  SET(SPATIALINDEX_FOUND TRUE)
++ENDIF (SPATIALINDEX_INCLUDE_DIR AND SPATIALINDEX_LIBRARY)
++
++IF (SPATIALINDEX_FOUND)
++  IF (NOT SPATIALINDEX_FIND_QUIETLY)
++    MESSAGE(STATUS "Found Spatialindex: ${SPATIALINDEX_LIBRARY}")
++  ENDIF (NOT SPATIALINDEX_FIND_QUIETLY)
++ELSE (SPATIALINDEX_FOUND)
++  IF (SPATIALINDEX_FIND_REQUIRED)
++    MESSAGE(FATAL_ERROR "Could not find Spatialindex")
++  ENDIF (SPATIALINDEX_FIND_REQUIRED)
++ENDIF (SPATIALINDEX_FOUND)
+--- qgis-1.7.1/src/core/spatialindex/qgsspatialindex.h	2011-09-24 01:38:02.000000000 +0200
++++ ../BUILD/qgis-1.7.1/src/core/spatialindex/qgsspatialindex.h	2011-10-16 16:21:28.682006432 +0200
+@@ -22,6 +22,8 @@
+ {
+   class IStorageManager;
+   class ISpatialIndex;
++  class Region;
++  class Point;
+ 
+   namespace StorageManager
+   {
+@@ -29,14 +31,6 @@
+   }
+ }
+ 
+-namespace Tools
+-{
+-  namespace Geometry
+-  {
+-    class Region;
+-  }
+-}
+-
+ class QgsFeature;
+ class QgsRectangle;
+ class QgsPoint;
+@@ -82,9 +76,9 @@
+ 
+   protected:
+ 
+-    Tools::Geometry::Region rectToRegion( QgsRectangle rect );
++    SpatialIndex::Region rectToRegion( QgsRectangle rect );
+ 
+-    bool featureInfo( QgsFeature& f, Tools::Geometry::Region& r, long& id );
++    bool featureInfo( QgsFeature& f, SpatialIndex::Region& r, long& id );
+ 
+ 
+   private:
+--- qgis-1.7.1/src/core/spatialindex/qgsspatialindex.cpp	2011-09-24 01:38:02.000000000 +0200
++++ ../BUILD/qgis-1.7.1/src/core/spatialindex/qgsspatialindex.cpp	2011-10-16 17:06:45.806073042 +0200
+@@ -66,7 +66,7 @@
+   RTree::RTreeVariant variant = RTree::RV_RSTAR;
+ 
+   // create R-tree
+-  long indexId;
++  SpatialIndex::id_type indexId;
+   mRTree = RTree::createNewRTree( *mStorage, fillFactor, indexCapacity,
+                                   leafCapacity, dimension, variant, indexId );
+ }
+@@ -78,17 +78,17 @@
+   delete mStorageManager;
+ }
+ 
+-Tools::Geometry::Region QgsSpatialIndex::rectToRegion( QgsRectangle rect )
++SpatialIndex::Region QgsSpatialIndex::rectToRegion( QgsRectangle rect )
+ {
+   double pt1[2], pt2[2];
+   pt1[0] = rect.xMinimum();
+   pt1[1] = rect.yMinimum();
+   pt2[0] = rect.xMaximum();
+   pt2[1] = rect.yMaximum();
+-  return Tools::Geometry::Region( pt1, pt2, 2 );
++  return Region( pt1, pt2, 2 );
+ }
+ 
+-bool QgsSpatialIndex::featureInfo( QgsFeature& f, Tools::Geometry::Region& r, long& id )
++bool QgsSpatialIndex::featureInfo( QgsFeature& f, Region& r, long& id )
+ {
+   QgsGeometry *g = f.geometry();
+   if ( !g )
+@@ -101,7 +101,7 @@
+ 
+ bool QgsSpatialIndex::insertFeature( QgsFeature& f )
+ {
+-  Tools::Geometry::Region r;
++  Region r;
+   long id;
+   if ( !featureInfo( f, r, id ) )
+     return false;
+@@ -131,7 +131,7 @@
+ 
+ bool QgsSpatialIndex::deleteFeature( QgsFeature& f )
+ {
+-  Tools::Geometry::Region r;
++  Region r;
+   long id;
+   if ( !featureInfo( f, r, id ) )
+     return false;
+@@ -145,7 +145,7 @@
+   QList<int> list;
+   QgisVisitor visitor( list );
+ 
+-  Tools::Geometry::Region r = rectToRegion( rect );
++  Region r = rectToRegion( rect );
+ 
+   mRTree->intersectsWithQuery( r, visitor );
+ 
+@@ -160,7 +160,7 @@
+   double pt[2];
+   pt[0] = point.x();
+   pt[1] = point.y();
+-  Tools::Geometry::Point p( pt, 2 );
++  Point p( pt, 2 );
+ 
+   mRTree->nearestNeighborQuery( neighbors, p, visitor );
+ 
diff --git a/qgis.spec b/qgis.spec
index ee07ffc..7e18157 100644
--- a/qgis.spec
+++ b/qgis.spec
@@ -8,7 +8,7 @@
 %endif
 
 Name:           qgis
-Version:        1.7.1
+Version:        1.7.2
 Release:        1%{?dist}
 Summary:        A user friendly Open Source Geographic Information System
 
@@ -28,13 +28,9 @@ Source5:        %{name}-mime.xml
 # Fix detection problem for GRASS libraries
 Patch0: qgis-1.5.0-grass.patch
 
-# https://bugzilla.redhat.com/show_bug.cgi?id=712620
-# Avoid segfault when geo-referencing
-# Was added to 1.7.2
-Patch1: %{name}-1.7.0-georef-crash.patch
-
-# https://github.com/qgis/Quantum-GIS/commit/7d145a94524a6bfc025bfe36388c071f35a16f8a
-# https://github.com/qgis/Quantum-GIS/commit/834fc0b710171a80a29038f74ad2c603bf015424
+# Allow to build with system-wide spatialindex
+# Solved for releases after the 1.7 series
+Patch2: %{name}-1.7.1-spatialindex.patch
 
 # Leaving it to make life easier for ELGIS, as long as they target RHEL 5
 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
@@ -52,12 +48,7 @@ BuildRequires:  fcgi-devel
 BuildRequires:  flex bison
 BuildRequires:  gdal-devel
 BuildRequires:  geos-devel
-
-# No GRASS package in EPEL 6
-%if ! 0%{?rhel}
 BuildRequires:  grass-devel
-%endif
-
 BuildRequires:  gsl-devel
 
 %ifnarch ppc64
@@ -73,9 +64,9 @@ BuildRequires:  qt4-devel
 BuildRequires:  qt4-webkit-devel
 BuildRequires:  qwt-devel
 
-# Coming soon: https://bugzilla.redhat.com/show_bug.cgi?id=706593
 BuildRequires:  qwtpolar-devel
 BuildRequires:  sip-devel > 4.7
+BuildRequires:  spatialindex-devel
 BuildRequires:  sqlite-devel
 
 Requires:       gpsbabel 
@@ -108,7 +99,6 @@ Requires:       %{name} = %{version}-%{release}
 %description devel
 Development packages for Quantum GIS including the C header files.
 
-%if ! 0%{?rhel}
 %package grass 
 Summary:        GRASS Support Libraries for Quantum GIS
 Group:          Applications/Engineering
@@ -119,7 +109,6 @@ Requires:       grass
   
 %description grass
 GRASS plugin for Quantum GIS required to interface with the GRASS system.
-%endif
 
 %package python 
 Summary:        Python integration and plug-ins for Quantum GIS
@@ -149,7 +138,7 @@ Please refer to %{name}-mapserver-README.fedora for details!
 %prep
 %setup -q
 %patch0 -p1 -b .grass
-%patch1 -p1 -b .georef
+%patch2 -p1 -b .spatialindex
 
 # Update FSF address or ship a GPLv3+ license file
 # http://hub.qgis.org/issues/3789
@@ -163,14 +152,13 @@ install -pm0644 %{SOURCE4} .
 rm -rf src/core/spatialite
 rm -rf src/core/gps/qwtpolar
 
-#find src/core/spatialindex -type d -exec rm -rf {} \;
-#rm -rf src/core/spatialindex/rtree
-#rm -rf src/core/pal
+# File layout changes for releases after 1.7 series
+find src/core/spatialindex -mindepth 1 -depth -type d -exec rm -rf {} \;
 
+# Solved for releases after 1.7 series
 chmod 644 src/mapserver/qgswmsserver.cpp src/app/composer/qgscomposer.cpp
 
 # The path from WITH_GRASS is used, when trying to find GISBASE.
-
 %build
 %cmake \
       %{_cmake_skip_rpath} \
@@ -186,16 +174,13 @@ chmod 644 src/mapserver/qgswmsserver.cpp src/app/composer/qgscomposer.cpp
       -D GDAL_LIBRARY=%{_libdir}/libgdal.so \
       -D ENABLE_TESTS:BOOL=FALSE \
       -D WITH_INTERNAL_QWTPOLAR:BOOL=FALSE \
+      -D WITH_INTERNAL_SPATIALINDEX:BOOL=FALSE \
       %{configure_with_spatialite} \
       .
 
-
-# Parallel make lead to race conditions
-# http://hub.qgis.org/issues/2880
-#make
-# Seems to be fine from version 1.7 on
 make %{?_smp_mflags}
 
+
 %install
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot}
@@ -281,11 +266,9 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
 %posttrans
 gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
-%if ! 0%{?rhel}
 %post grass -p /sbin/ldconfig
 
 %postun grass -p /sbin/ldconfig
-%endif
 
 %post python -p /sbin/ldconfig
 
@@ -299,6 +282,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/%{name}/doc
 
 %dir %{_datadir}/%{name}/i18n/
+%if ! (0%{?fedora} > 14 || 0%{?rhel})
+%lang(sr at latin) %{_datadir}/%{name}/i18n/%{name}_sr at latin.qm
+%endif
 %{_libdir}/lib%{name}_analysis.so.%{version}
 %{_libdir}/lib%{name}_core.so.%{version}
 %{_libdir}/lib%{name}_gui.so.%{version}
@@ -317,20 +303,17 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/%{name}/images
 %{_datadir}/%{name}/resources
 %{_datadir}/%{name}/svg
-%if ! 0%{?rhel}
 %exclude %{_libdir}/libqgisgrass.so.%{version}
 %exclude %{_libdir}/%{name}/libgrassprovider.so
 %exclude %{_libdir}/%{name}/libgrassrasterprovider.so
 %exclude %{_libdir}/%{name}/libgrassplugin.so
 %exclude %{_libdir}/%{name}/grass
-%endif
 
 %files devel
 %{_datadir}/%{name}/FindQGIS.cmake
 %{_includedir}/%{name}
 %{_libdir}/lib%{name}*.so
 
-%if ! 0%{?rhel}
 %files grass
 %{_libdir}/lib%{name}grass.so.%{version}
 %{_libdir}/%{name}/libgrassprovider.so
@@ -338,8 +321,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_libdir}/%{name}/libgrassplugin.so
 %{_libdir}/%{name}/grass
 %{_datadir}/%{name}/grass
-%{_datadir}/%{name}/themes
-%endif
 
 %files python
 %{_libdir}/libqgispython.so.%{version}
@@ -352,6 +333,19 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_libexecdir}/%{name}
 
 %changelog
+* Tue Nov 15 2011 Volker Fröhlich <volker27 at gmx.at> - 1.7.2-1
+- Updated for new release
+- No more themes directory
+- Remove dispensable geo-referencing patch
+
+* Sun Oct 16 2011 Volker Fröhlich <volker27 at gmx.at> - 1.7.1-2
+- Findlang doesn't recognize sr at latin in Fedora 14 and older
+- Build with system-wide spatialindex
+- Remove if structures intended for EPEL package
+  Due to the rapid development in QGIS and the libraries it uses,
+  QGIS will not go to EPEL now; ELGIS provides rebuilds with more
+  current versions: http://elgis.argeo.org/
+
 * Sat Sep 24 2011 Volker Fröhlich <volker27 at gmx.at> - 1.7.1-1
 - Update for new release
 - Drop one patch that made it into the release
diff --git a/sources b/sources
index 64aeff4..59bf131 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-677dcb9d0d53cc7c2a6451590a362477  qgis-1.7.1.tar.bz2
+bb5fddbe1747ff2e59e2a9b5f9a0b7b2  qgis-1.7.2.tar.bz2


More information about the scm-commits mailing list