[Git][debian-gis-team/python-cartopy][master] 3 commits: Enable pie hardening flags.

Bas Couwenberg gitlab at salsa.debian.org
Fri Jul 12 11:44:49 BST 2019



Bas Couwenberg pushed to branch master at Debian GIS Project / python-cartopy


Commits:
af5e0f2f by Bas Couwenberg at 2019-07-12T09:38:53Z
Enable pie hardening flags.

- - - - -
71c08b5d by Bas Couwenberg at 2019-07-12T10:26:34Z
Add patch to skip tests that fail with PROJ 6.

- - - - -
0b8db91a by Bas Couwenberg at 2019-07-12T10:35:51Z
Set distribution to unstable.

- - - - -


4 changed files:

- debian/changelog
- debian/patches/series
- + debian/patches/skip-test-with-proj6.patch
- debian/rules


Changes:

=====================================
debian/changelog
=====================================
@@ -1,4 +1,6 @@
-python-cartopy (0.17.0+dfsg-4) UNRELEASED; urgency=medium
+python-cartopy (0.17.0+dfsg-4) unstable; urgency=medium
+
+  * Team upload.
 
   [ Antonio Valentino ]
   * Link examples into the doc directory.
@@ -13,8 +15,10 @@ python-cartopy (0.17.0+dfsg-4) UNRELEASED; urgency=medium
   * Update dh_install override to use --list-missing.
   * Update gbp.conf to use --source-only-changes by default.
   * Bump Standards-Version to 4.4.0, no changes.
+  * Enable pie hardening flags.
+  * Add patch to skip tests that fail with PROJ 6.
 
- -- Antonio Valentino <antonio.valentino at tiscali.it>  Sun, 10 Feb 2019 08:40:13 +0000
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 12 Jul 2019 12:35:21 +0200
 
 python-cartopy (0.17.0+dfsg-3) unstable; urgency=medium
 


=====================================
debian/patches/series
=====================================
@@ -1,2 +1,3 @@
 0001-Skip-tests-failing-on-i386-architectures.patch
 0002-no-network.patch
+skip-test-with-proj6.patch


=====================================
debian/patches/skip-test-with-proj6.patch
=====================================
@@ -0,0 +1,196 @@
+Description: Skip tests that fail with PROJ 6.
+Author: Bas Couwenberg <sebastic at debian.org>
+Bug: https://github.com/SciTools/cartopy/issues/1140
+Forwarded: not-needed
+
+--- a/lib/cartopy/tests/crs/test_transverse_mercator.py
++++ b/lib/cartopy/tests/crs/test_transverse_mercator.py
+@@ -21,7 +21,10 @@ Tests for the Transverse Mercator projec
+ 
+ from __future__ import (absolute_import, division, print_function)
+ 
++import os
++
+ import numpy as np
++import pytest
+ 
+ import cartopy.crs as ccrs
+ 
+@@ -32,6 +35,7 @@ class TestTransverseMercator(object):
+         self.point_b = (0.5, 50.5)
+         self.src_crs = ccrs.PlateCarree()
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_default(self):
+         proj = ccrs.TransverseMercator()
+         res = proj.transform_point(*self.point_a, src_crs=self.src_crs)
+@@ -41,6 +45,7 @@ class TestTransverseMercator(object):
+         np.testing.assert_array_almost_equal(res, (35474.63566645,
+                                                    5596583.41949901))
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_osgb_vals(self):
+         proj = ccrs.TransverseMercator(central_longitude=-2,
+                                        central_latitude=49,
+@@ -56,6 +61,7 @@ class TestTransverseMercator(object):
+         np.testing.assert_array_almost_equal(res, (577274.98380140,
+                                                    69740.49227181))
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_nan(self):
+         proj = ccrs.TransverseMercator()
+         res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs)
+@@ -71,6 +77,7 @@ class TestOSGB(object):
+         self.src_crs = ccrs.PlateCarree()
+         self.nan = float('nan')
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_default(self):
+         proj = ccrs.OSGB()
+         res = proj.transform_point(*self.point_a, src_crs=self.src_crs)
+@@ -80,6 +87,7 @@ class TestOSGB(object):
+         np.testing.assert_array_almost_equal(res, (577274.98380140,
+                                                    69740.49227181))
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_nan(self):
+         proj = ccrs.OSGB()
+         res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs)
+@@ -101,6 +109,7 @@ class TestOSNI(object):
+             res, (275614.26762651594, 386984.206429612),
+             decimal=0 if ccrs.PROJ4_VERSION < (5, 0, 0) else 6)
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_nan(self):
+         proj = ccrs.OSNI()
+         res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs)
+--- a/lib/cartopy/tests/mpl/test_set_extent.py
++++ b/lib/cartopy/tests/mpl/test_set_extent.py
+@@ -17,10 +17,13 @@
+ 
+ from __future__ import (absolute_import, division, print_function)
+ 
++import os
++
+ from matplotlib.testing.decorators import cleanup
+ import matplotlib.pyplot as plt
+ import numpy as np
+ from numpy.testing import assert_array_almost_equal, assert_array_equal
++import pytest
+ 
+ import cartopy.crs as ccrs
+ 
+@@ -148,6 +151,7 @@ def test_limits_pcolor():
+     plt.close()
+ 
+ 
++ at pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+ def test_view_lim_autoscaling():
+     x = np.linspace(0.12910209, 0.42141822)
+     y = np.linspace(0.03739792, 0.33029076)
+--- a/lib/cartopy/tests/test_crs.py
++++ b/lib/cartopy/tests/test_crs.py
+@@ -18,6 +18,7 @@
+ from __future__ import (absolute_import, division, print_function)
+ 
+ from io import BytesIO
++import os
+ import pickle
+ 
+ import numpy as np
+@@ -106,6 +107,7 @@ class TestCRS(object):
+         # International 1924 ellipsoid.
+         assert '+ellps=intl' in proj4_init
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_transform_points_nD(self):
+         rlons = np.array([[350., 352., 354.], [350., 352., 354.]])
+         rlats = np.array([[-5., -0., 1.], [-4., -1., 0.]])
+@@ -126,6 +128,7 @@ class TestCRS(object):
+         assert_arr_almost_eq(unrotated_lon, solx)
+         assert_arr_almost_eq(unrotated_lat, soly)
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_transform_points_1D(self):
+         rlons = np.array([350., 352., 354., 356.])
+         rlats = np.array([-5., -0., 5., 10.])
+--- a/lib/cartopy/tests/test_line_string.py
++++ b/lib/cartopy/tests/test_line_string.py
+@@ -18,6 +18,7 @@
+ from __future__ import (absolute_import, division, print_function)
+ 
+ import itertools
++import os
+ import time
+ 
+ import numpy as np
+@@ -28,6 +29,7 @@ import cartopy.crs as ccrs
+ 
+ 
+ class TestLineString(object):
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_out_of_bounds(self):
+         # Check that a line that is completely out of the map boundary produces
+         # a valid LineString
+--- a/lib/cartopy/tests/test_linear_ring.py
++++ b/lib/cartopy/tests/test_linear_ring.py
+@@ -17,6 +17,8 @@
+ 
+ from __future__ import (absolute_import, division, print_function)
+ 
++import os
++
+ import numpy as np
+ import pytest
+ import shapely.geometry as sgeom
+@@ -56,6 +58,7 @@ class TestBoundary(object):
+             assert_intersection_with_boundary(coords[1::-1])
+             assert_intersection_with_boundary(coords[-2:])
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_out_of_bounds(self):
+         # Check that a ring that is completely out of the map boundary
+         # produces an empty result.
+--- a/lib/cartopy/tests/test_polygon.py
++++ b/lib/cartopy/tests/test_polygon.py
+@@ -17,6 +17,8 @@
+ 
+ from __future__ import (absolute_import, division, print_function)
+ 
++import os
++
+ import numpy as np
+ import pytest
+ import shapely.geometry as sgeom
+@@ -48,6 +50,7 @@ class TestBoundary(object):
+         # fails.
+         projection.project_geometry(polygon)
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_out_of_bounds(self):
+         # Check that a polygon that is completely out of the map boundary
+         # doesn't produce an empty result.
+@@ -189,6 +192,7 @@ class TestMisc(object):
+         assert len(multi_polygon) == 1
+         assert len(multi_polygon[0].exterior.coords) == 4
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_self_intersecting_1(self):
+         # Geometry comes from a matplotlib contourf (see #537)
+         wkt = ('POLYGON ((366.22000122 -9.71489298, '
+@@ -210,6 +214,7 @@ class TestMisc(object):
+         assert 2.2e9 < area < 2.3e9, \
+             'Got area {}, expecting ~2.2e9'.format(area)
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_self_intersecting_2(self):
+         # Geometry comes from a matplotlib contourf (see #509)
+         wkt = ('POLYGON ((343 20, 345 23, 342 25, 343 22, '
+@@ -273,6 +278,7 @@ class TestQuality(object):
+         # from cartopy.tests.mpl import show
+         # show(projection, self.multi_polygon)
+ 
++    @pytest.mark.skipif(os.path.exists('/usr/share/proj/proj.db'), reason='Fails with PROJ 6')
+     def test_split(self):
+         # Start simple ... there should be two projected polygons.
+         assert len(self.multi_polygon) == 2


=====================================
debian/rules
=====================================
@@ -3,7 +3,7 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE = 1
 
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 # Workaround for proj_api.h deprecation in PROJ 6.0.0
 export DEB_CFLAGS_MAINT_APPEND=-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H



View it on GitLab: https://salsa.debian.org/debian-gis-team/python-cartopy/compare/1700eeaa4d57cee27c1f2fb7f05e0cf687d8f7b3...0b8db91a86aef633620369f17863d71fe52d1009

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-cartopy/compare/1700eeaa4d57cee27c1f2fb7f05e0cf687d8f7b3...0b8db91a86aef633620369f17863d71fe52d1009
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20190712/417c45f5/attachment-0001.html>


More information about the Pkg-grass-devel mailing list