The following commit has been merged in the master branch:
commit e95a0f81c287304dbe3e201a0e6f65b0a3a2d931
Author: Markus Wanner <mar...@bluegap.ch>
Date:   Thu Jan 9 20:24:48 2014 +0100

    * Fix FTBFS on armel, maybe others, with yet another patch.
    * debian/control: bumped Standard-Versions to 3.9.5, no changes needed.

diff --git a/debian/changelog b/debian/changelog
index 32a6134..7d49b37 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+postgis (2.1.1-2) UNRELEASED; urgency=medium
+
+  * Fix FTBFS on armel, maybe others, with yet another patch.
+  * debian/control: bumped Standard-Versions to 3.9.5, no changes needed.
+
+ -- Markus Wanner <mar...@bluegap.ch>  Thu, 09 Jan 2014 20:00:54 +0100
+
 postgis (2.1.1-1) unstable; urgency=low
 
   * New upstream release
diff --git a/debian/control b/debian/control
index 9d1f15a..3d03e5d 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Build-Depends-Indep: openjdk-8-jdk | openjdk-7-jdk | 
openjdk-6-jdk,
  libmaven-clean-plugin-java, libmaven-jar-plugin-java,
  libsurefire-java, libmaven-compiler-plugin-java,
  libmaven-resources-plugin-java
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Homepage: http://postgis.refractions.net/
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-grass/postgis.git
 Vcs-Git: git://anonscm.debian.org/pkg-grass/postgis.git
diff --git a/debian/control.in b/debian/control.in
index f3acef2..f4c1fb1 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -15,7 +15,7 @@ Build-Depends-Indep: openjdk-8-jdk | openjdk-7-jdk | 
openjdk-6-jdk,
  libmaven-clean-plugin-java, libmaven-jar-plugin-java,
  libsurefire-java, libmaven-compiler-plugin-java,
  libmaven-resources-plugin-java
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Homepage: http://postgis.refractions.net/
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-grass/postgis.git
 Vcs-Git: git://anonscm.debian.org/pkg-grass/postgis.git
diff --git a/debian/patches/fix-armel b/debian/patches/fix-armel
new file mode 100644
index 0000000..db47b40
--- /dev/null
+++ b/debian/patches/fix-armel
@@ -0,0 +1,163 @@
+Description: Fix FTBSF os armel, at least
+ All point_in_{polygon,multipolygon,polygon_rtree,multipolygon_rtree}
+ functions return an int ranging from -1 to +1. This patch properly
+ preserves that type and prevents the bogus conversion to bool. Thus
+ correcting the return value and fixing multiple tests on armel.
+Author: Markus Wanner <mar...@bluegap.ch>
+Last-Update: 2014-01-09
+
+--- a/postgis/lwgeom_geos.c
++++ b/postgis/lwgeom_geos.c
+@@ -1990,6 +1990,7 @@
+       LWPOINT *point;
+       RTREE_POLY_CACHE *poly_cache;
+       bool result;
++      int pip_result;
+       PrepGeomCache *prep_cache;
+ 
+       geom1 = (GSERIALIZED *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+@@ -2037,15 +2038,15 @@
+ 
+               if ( poly_cache && poly_cache->ringIndices )
+               {
+-                      result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
++                      pip_result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
+               }
+               else if ( type1 == POLYGONTYPE )
+               {
+-                      result = point_in_polygon((LWPOLY*)lwgeom, point);
++                      pip_result = point_in_polygon((LWPOLY*)lwgeom, point);
+               }
+               else if ( type1 == MULTIPOLYGONTYPE )
+               {
+-                      result = point_in_multipolygon((LWMPOLY*)lwgeom, point);
++                      pip_result = point_in_multipolygon((LWMPOLY*)lwgeom, 
point);
+               }
+               else
+               {
+@@ -2057,7 +2058,7 @@
+               lwpoint_free(point);
+               PG_FREE_IF_COPY(geom1, 0);
+               PG_FREE_IF_COPY(geom2, 1);
+-              if ( result == 1 ) /* completely inside */
++              if ( pip_result == 1 ) /* completely inside */
+               {
+                       PG_RETURN_BOOL(TRUE);
+               }
+@@ -2213,6 +2214,7 @@
+       GSERIALIZED *geom1;
+       GSERIALIZED *geom2;
+       bool result;
++      int pip_result;
+       GBOX box1, box2;
+       int type1, type2;
+       LWGEOM *lwgeom;
+@@ -2263,15 +2265,15 @@
+ 
+               if ( poly_cache && poly_cache->ringIndices )
+               {
+-                      result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
++                      pip_result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
+               }
+               else if ( type1 == POLYGONTYPE )
+               {
+-                      result = point_in_polygon((LWPOLY*)lwgeom, point);
++                      pip_result = point_in_polygon((LWPOLY*)lwgeom, point);
+               }
+               else if ( type1 == MULTIPOLYGONTYPE )
+               {
+-                      result = point_in_multipolygon((LWMPOLY*)lwgeom, point);
++                      pip_result = point_in_multipolygon((LWMPOLY*)lwgeom, 
point);
+               }
+               else
+               {
+@@ -2284,7 +2286,7 @@
+               lwpoint_free(point);
+               PG_FREE_IF_COPY(geom1, 0);
+               PG_FREE_IF_COPY(geom2, 1);
+-              if ( result != -1 ) /* not outside */
++              if ( pip_result != -1 ) /* not outside */
+               {
+                       PG_RETURN_BOOL(TRUE);
+               }
+@@ -2368,6 +2370,7 @@
+       GSERIALIZED *geom2;
+       GEOSGeometry *g1, *g2;
+       bool result;
++      int pip_result;
+       GBOX box1, box2;
+       LWGEOM *lwgeom;
+       LWPOINT *point;
+@@ -2418,15 +2421,15 @@
+ 
+               if ( poly_cache && poly_cache->ringIndices )
+               {
+-                      result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
++                      pip_result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
+               }
+               else if ( type2 == POLYGONTYPE )
+               {
+-                      result = point_in_polygon((LWPOLY*)lwgeom, point);
++                      pip_result = point_in_polygon((LWPOLY*)lwgeom, point);
+               }
+               else if ( type2 == MULTIPOLYGONTYPE )
+               {
+-                      result = point_in_multipolygon((LWMPOLY*)lwgeom, point);
++                      pip_result = point_in_multipolygon((LWMPOLY*)lwgeom, 
point);
+               }
+               else
+               {
+@@ -2439,7 +2442,7 @@
+               lwpoint_free(point);
+               PG_FREE_IF_COPY(geom1, 0);
+               PG_FREE_IF_COPY(geom2, 1);
+-              if ( result != -1 ) /* not outside */
++              if ( pip_result != -1 ) /* not outside */
+               {
+                       PG_RETURN_BOOL(TRUE);
+               }
+@@ -2493,7 +2496,7 @@
+       GSERIALIZED *geom1;
+       GSERIALIZED *geom2;
+       GEOSGeometry *g1, *g2;
+-      bool result;
++      int result;
+       GBOX box1, box2;
+ 
+       geom1 = (GSERIALIZED *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+@@ -2562,6 +2565,7 @@
+       GSERIALIZED *geom2;
+       GSERIALIZED *serialized_poly;
+       bool result;
++      int pip_result;
+       GBOX box1, box2;
+       int type1, type2, polytype;
+       LWPOINT *point;
+@@ -2623,15 +2627,15 @@
+ 
+               if ( poly_cache && poly_cache->ringIndices )
+               {
+-                      result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
++                      pip_result = 
point_in_multipolygon_rtree(poly_cache->ringIndices, poly_cache->polyCount, 
poly_cache->ringCounts, point);
+               }
+               else if ( polytype == POLYGONTYPE )
+               {
+-                      result = point_in_polygon((LWPOLY*)lwgeom, point);
++                      pip_result = point_in_polygon((LWPOLY*)lwgeom, point);
+               }
+               else if ( polytype == MULTIPOLYGONTYPE )
+               {
+-                      result = point_in_multipolygon((LWMPOLY*)lwgeom, point);
++                      pip_result = point_in_multipolygon((LWMPOLY*)lwgeom, 
point);
+               }
+               else
+               {
+@@ -2644,7 +2648,7 @@
+               lwpoint_free(point);
+               PG_FREE_IF_COPY(geom1, 0);
+               PG_FREE_IF_COPY(geom2, 1);
+-              if ( result != -1 ) /* not outside */
++              if ( pip_result != -1 ) /* not outside */
+               {
+                       PG_RETURN_BOOL(TRUE);
+               }
diff --git a/debian/patches/series b/debian/patches/series
index 30534e1..66d1e02 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,4 +6,5 @@ link-liblwgeom
 use-debian-maven
 honor-build-flags
 fix-kfreebsd
+fix-armel
 fix-manpage

-- 
PostGIS for PostgreSQL

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to