[DebianGIS-dev] r2340 - in packages/grass/trunk/debian: . patches
frankie at alioth.debian.org
frankie at alioth.debian.org
Mon Jul 13 11:37:39 UTC 2009
Author: frankie
Date: 2009-07-13 11:37:38 +0000 (Mon, 13 Jul 2009)
New Revision: 2340
Added:
packages/grass/trunk/debian/patches/newlocation.dpatch
Modified:
packages/grass/trunk/debian/changelog
packages/grass/trunk/debian/patches/00list
Log:
Useful patch
Modified: packages/grass/trunk/debian/changelog
===================================================================
--- packages/grass/trunk/debian/changelog 2009-07-13 09:27:24 UTC (rev 2339)
+++ packages/grass/trunk/debian/changelog 2009-07-13 11:37:38 UTC (rev 2340)
@@ -5,8 +5,10 @@
* Added a simple x-grass wrapper to allow running grass without a pre-running
controlling terminal. At least it works within ordinary WMs launchers.
(closes: #503371)
+ * Added newlocation.dpatch patch to manage correctly new locations.
+ (closes: #533738)
- -- Francesco Paolo Lovergine <frankie at debian.org> Fri, 12 Jun 2009 10:32:40 +0200
+ -- Francesco Paolo Lovergine <frankie at debian.org> Mon, 13 Jul 2009 13:34:03 +0200
grass (6.4.0~rc5-1) unstable; urgency=low
Modified: packages/grass/trunk/debian/patches/00list
===================================================================
--- packages/grass/trunk/debian/patches/00list 2009-07-13 09:27:24 UTC (rev 2339)
+++ packages/grass/trunk/debian/patches/00list 2009-07-13 11:37:38 UTC (rev 2340)
@@ -3,3 +3,4 @@
pager
xterm
instdir
+newlocation
Added: packages/grass/trunk/debian/patches/newlocation.dpatch
===================================================================
--- packages/grass/trunk/debian/patches/newlocation.dpatch (rev 0)
+++ packages/grass/trunk/debian/patches/newlocation.dpatch 2009-07-13 11:37:38 UTC (rev 2340)
@@ -0,0 +1,90 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## newlocation.dpatch by Francesco Paolo Lovergine <frankie at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad grass-6.4.0~rc5~/general/g.region/printwindow.c grass-6.4.0~rc5/general/g.region/printwindow.c
+--- grass-6.4.0~rc5~/general/g.region/printwindow.c 2008-12-19 21:30:09.000000000 +0100
++++ grass-6.4.0~rc5/general/g.region/printwindow.c 2009-07-13 13:32:55.000000000 +0200
+@@ -23,7 +23,7 @@
+ double longitude, latitude;
+
+ if (print_flag & PRINT_SH)
+- x = -1;
++ x = G_projection() == PROJECTION_LL ? -1 : 0;
+ else
+ x = window->proj;
+
+diff -urNad grass-6.4.0~rc5~/lib/gis/wind_format.c grass-6.4.0~rc5/lib/gis/wind_format.c
+--- grass-6.4.0~rc5~/lib/gis/wind_format.c 2009-06-06 07:16:37.000000000 +0200
++++ grass-6.4.0~rc5/lib/gis/wind_format.c 2009-07-13 13:32:00.000000000 +0200
+@@ -37,9 +37,10 @@
+ {
+ if (projection == PROJECTION_LL)
+ G_lat_format(north, buf);
++ else if (projection == -1)
++ format_double(north, buf, TRUE);
+ else
+- format_double(north, buf);
+-
++ format_double(north, buf, FALSE);
+ return 0;
+ }
+
+@@ -59,10 +60,12 @@
+ int G_format_easting(double east, char *buf, int projection)
+ {
+ if (projection == PROJECTION_LL)
+- G_lon_format(east, buf);
++ G_lon_format(east, buf);
++ else if (projection == -1)
++ format_double(east, buf, TRUE);
+ else
+- format_double(east, buf);
+-
++ format_double(east, buf, FALSE);
++
+ return 0;
+ }
+
+@@ -82,24 +85,32 @@
+ int G_format_resolution(double res, char *buf, int projection)
+ {
+ if (projection == PROJECTION_LL)
+- G_llres_format(res, buf);
++ G_llres_format(res, buf);
++ else if (projection == -1)
++ format_double(res, buf, TRUE);
+ else
+- format_double(res, buf);
+-
++ format_double(res, buf, FALSE);
++
+ return 0;
+ }
+
+-static int format_double(double value, char *buf)
++/*
++ * 'full_prec' is boolean, FALSE uses %.8f, TRUE uses %.15g
++ * The reason to have this is that for lat/lon "%.8f" is not
++ * enough to preserve fidelity once converted back into D:M:S,
++ * which leads to rounding errors, especially for resolution.
++ */
++static void format_double(double value, char *buf, int full_prec)
+ {
+ /* if the programmer has lied to G_format_resolution() about the
+ projection type in order to get FP values for lat/lon coords,
+ "%.8f" is not enough to preserve fidelity once converted
+ back into D:M:S, which leads to rounding errors. */
+- if (G_projection() == PROJECTION_LL)
++ if (full_prec)
+ sprintf(buf, "%.15g", value);
+ else
+ sprintf(buf, "%.8f", value);
+ G_trim_decimal(buf);
+
+- return 0;
++ return;
+ }
Property changes on: packages/grass/trunk/debian/patches/newlocation.dpatch
___________________________________________________________________
Added: svn:executable
+ *
More information about the Pkg-grass-devel
mailing list