[Git][debian-gis-team/grass][upstream] New upstream version 8.0.1

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Fri Feb 25 06:25:18 GMT 2022



Bas Couwenberg pushed to branch upstream at Debian GIS Project / grass


Commits:
5f79ee7c by Bas Couwenberg at 2022-02-25T06:34:10+01:00
New upstream version 8.0.1
- - - - -


12 changed files:

- .gunittest.cfg
- doc/howto_release.md
- gui/wxpython/gui_core/gselect.py
- include/VERSION
- mswindows/osgeo4w/package.sh
- python/grass/temporal/abstract_space_time_dataset.py
- python/grass/temporal/mapcalc.py
- raster/r.geomorphon/main.c
- raster/r.geomorphon/r.geomorphon.html
- temporal/t.rast.mapcalc/t.rast.mapcalc.html
- temporal/t.rast.neighbors/t.rast.neighbors.html
- temporal/t.rast.neighbors/t.rast.neighbors.py


Changes:

=====================================
.gunittest.cfg
=====================================
@@ -17,7 +17,6 @@ exclude =
     python/grass/temporal/testsuite/unittests_temporal_raster_algebra_equal_ts.py
     python/grass/temporal/testsuite/unittests_temporal_raster_conditionals_complement_else.py
     raster/r.contour/testsuite/testrc.py
-    raster/r.geomorphon/testsuite/test_r_geom.py
     raster/r.in.gdal/testsuite/test_r_in_gdal.py
     raster/r.in.lidar/testsuite/test_base_resolution.sh
     raster/r.in.lidar/testsuite/test_base_resolution.sh


=====================================
doc/howto_release.md
=====================================
@@ -59,12 +59,12 @@ Now check if configure still works.
 If yes, submit to git:
 
 ```bash
-git checkout -b config_sub_update_r80
+git checkout -b config_sub_update
 git add config.guess config.sub configure
 git commit -m"config.guess + config.sub: updated from http://git.savannah.gnu.org/cgit/config.git/plain/"
 # test by running ./configure
 
-git push origin config_sub_update_r80
+git push origin config_sub_update
 # open PR and merge
 ```
 
@@ -87,7 +87,6 @@ find . -name '__pycache__' | xargs -r rm -r
 rm -f python/grass/ctypes/ctypesgencore/parser/lextab.py
 rm -f gui/wxpython/menustrings.py gui/wxpython/build_ext.pyc \
   gui/wxpython/xml/menudata.xml gui/wxpython/xml/module_tree_menudata.xml
-rm -f include/version.h
 chmod -R a+r *
 ```
 
@@ -112,11 +111,11 @@ Example:
 ```bash
 8
 0
-0RC1
-2021
+1RC1
+2022
 ```
 
-Commit with version message, e.g. "GRASS GIS 8.0.0RC1".
+Commit with version message, e.g. "GRASS GIS 8.0.1RC1".
 
 ### Create release tag
 
@@ -158,11 +157,11 @@ To be done in GH interface:
 <https://github.com/OSGeo/grass/releases/new>
 
 - select release_branch first, then
-- fill in "Release Title" (e.g., GRASS GIS 8.0.0RC1)
-- fill in "Create tag" field:
+- fill in "Release Title" (e.g., GRASS GIS 8.0.1RC1)
+- fill in "Create tag" field: 8.0.1RC1
 
 Tag version | target (examples):
-  8.0.0RC1  | releasebranch_8_0
+  8.0.1RC1  | releasebranch_8_0
 
 - click on "Create new tag: ... on publish"
 
@@ -172,14 +171,6 @@ Add release desciption (re-use existing texts as possible, from
 If RC, then check
 [x] This is a pre-release
 
-### Packaging of source code tarball
-
-```bash
-# fetch tarball from GitHub
-wget https://github.com/OSGeo/grass/archive/${VERSION}.tar.gz -O grass-${VERSION}.tar.gz
-md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
-```
-
 ### Changelog from GitHub for GH release notes
 
 Using GH API here, see also
@@ -187,13 +178,17 @@ Using GH API here, see also
 - https://docs.github.com/en/rest/reference/repos#generate-release-notes-content-for-a-release
 
 ```bash
-gh api repos/OSGeo/grass/releases/generate-notes -f tag_name="8.0.0" -f previous_tag_name=7.8.6 -f target_commitish=releasebranch_8_0 -q .body
+gh api repos/OSGeo/grass/releases/generate-notes -f tag_name="8.0.1" -f previous_tag_name=8.0.0 -f target_commitish=releasebranch_8_0 -q .body
 ```
 
 If this fails, also a date may be used (that of the last release):
 
 ```bash
-git log --oneline --after="2021-10-10" | cut -d' ' -f2- | sed 's+^+* +g' | sed 's+(#+https://github.com/OSGeo/grass/pull/+g' | sed 's+)$++g' | sort -u
+# GitHub style
+git log --pretty=format:"* %s by %an" --after="2022-01-28" | sort
+
+# trac style
+git log --oneline --after="2022-01-28" | cut -d' ' -f2- | sed 's+^+* +g' | sed 's+(#+https://github.com/OSGeo/grass/pull/+g' | sed 's+)$++g' | sort -u
 ```
 
 Importantly, these notes need to be manually sorted into the various categories (modules, wxGUI, library, docker, ...).
@@ -235,6 +230,14 @@ git fetch --all --prune && git checkout releasebranch_8_0 && \
  git merge upstream/releasebranch_8_0 && git push origin releasebranch_8_0
 ```
 
+### Getting the source code tarball for upload on OSGeo server
+
+```bash
+# fetch tarball from GitHub
+wget https://github.com/OSGeo/grass/archive/${VERSION}.tar.gz -O grass-${VERSION}.tar.gz
+md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
+```
+
 ### Upload source code tarball to OSGeo servers
 
 Note: grasslxd only reachable via jumphost - https://wiki.osgeo.org/wiki/SAC_Service_Status#GRASS_GIS_server
@@ -291,7 +294,7 @@ Release is done.
 
 ### Advertise the new release
 
-#### Write trac Wiki release page
+#### Write trac Wiki release page (probably to be dropped)
 
 To easily generate the entries for the trac Wiki release page, use the `git log` approach:
 - extract entries from oneline git log and prepare for trac Wiki copy-paste:
@@ -299,10 +302,10 @@ To easily generate the entries for the trac Wiki release page, use the `git log`
 ```
 # get date of previous release from https://github.com/OSGeo/grass/releases
 # verify
-git log --oneline --after="2021-10-10" | tac
+git log --oneline --after="2022-01-28" | tac
 
 # prepare for trac Wiki release page (incl. PR trac macro)
-git log --oneline --after="2021-10-10" | cut -d' ' -f2- | sed 's+^+ * G80:+g' | sed 's+(#+(PR:+g' | sort -u
+git log --oneline --after="2022-01-28" | cut -d' ' -f2- | sed 's+^+ * G80:+g' | sed 's+(#+(PR:+g' | sort -u
 ```
 
 - store changelog entries in trac, by section:
@@ -339,19 +342,19 @@ Software pages:
 ```
      set MAJOR=8
      set MINOR=0
-     set PATCH=0RC1
+     set PATCH=1RC1
 ```
 
 - Update addons (grass_addons.sh) rules, eg.
 
 ```
-     compile $GIT_PATH/grass8 $GISBASE_PATH/grass800RC1  $ADDON_PATH/grass800RC1/addons
+     compile $GIT_PATH/grass8 $GISBASE_PATH/grass801RC1  $ADDON_PATH/grass801RC1/addons
 ```
 
 - Modify grass_copy_wwwroot.sh accordingly, eg.
 
 ```
-     copy_addon 800RC1 8.0.0RC1
+     copy_addon 801RC1 8.0.1RC1
 ```
 
 #### Launchpad notes


=====================================
gui/wxpython/gui_core/gselect.py
=====================================
@@ -59,7 +59,6 @@ import wx.lib.filebrowsebutton as filebrowse
 import grass.script as grass
 from grass.script import task as gtask
 from grass.exceptions import CalledModuleError
-from grass.pygrass.utils import decode
 
 from gui_core.widgets import ManageSettingsWidget, CoordinatesValidator
 
@@ -2840,7 +2839,7 @@ class SignatureSelect(wx.ComboBox):
         sig_list = list_ptr()
         count = I_signatures_list_by_type(sig_type, mapset, ctypes.byref(sig_list))
         for n in range(count):
-            items.append(decode(sig_list[n]))
+            items.append(grass.decode(sig_list[n]))
         I_free_signatures_list(count, ctypes.byref(sig_list))
 
 


=====================================
include/VERSION
=====================================
@@ -1,4 +1,4 @@
 8
 0
-1RC1
+1
 2022


=====================================
mswindows/osgeo4w/package.sh
=====================================
@@ -112,6 +112,7 @@ DLLS="
 	/mingw64/bin/libiconv-2.dll
 	/mingw64/bin/libexpat-1.dll
 	/mingw64/bin/libfontconfig-1.dll
+	/mingw64/bin/libgfortran-5.dll
 	/mingw64/bin/libbrotlidec.dll
 	/mingw64/bin/libbrotlicommon.dll
 	/mingw64/bin/libintl-8.dll
@@ -124,6 +125,7 @@ DLLS="
 	/mingw64/bin/libfreetype-6.dll
 	/mingw64/bin/libharfbuzz-0.dll
 	/mingw64/bin/libglib-2.0-0.dll
+	/mingw64/bin/libgomp-1.dll
 	/mingw64/bin/libgraphite2.dll
 	/mingw64/bin/libpcre-1.dll
 	/mingw64/bin/libstdc++-6.dll
@@ -132,6 +134,7 @@ DLLS="
 	/mingw64/bin/libblas.dll
 	/mingw64/bin/liblapack.dll
 	/mingw64/bin/libomp.dll
+	/mingw64/bin/libquadmath-0.dll
 "
 
 if ! [ -f mswindows/osgeo4w/configure-stamp ]; then


=====================================
python/grass/temporal/abstract_space_time_dataset.py
=====================================
@@ -1538,7 +1538,7 @@ class AbstractSpaceTimeDataset(AbstractDataset):
                 else:
                     return "{0:02d}".format(int(value))
             except ValueError:
-                return value
+                return None
 
             return None
 
@@ -1550,8 +1550,8 @@ class AbstractSpaceTimeDataset(AbstractDataset):
 
         # be case-insensitive
         if "_" in self.semantic_label:
-            # fully-qualified semantic label
-            where += "semantic_label IN ('{}'".format(self.semantic_label.upper())
+            # fully-qualified semantic label, do not modify
+            where += "semantic_label IN ('{}'".format(self.semantic_label)
 
             # be zero-padding less sensitive
             shortcut, identifier = self.semantic_label.split("_", -1)


=====================================
python/grass/temporal/mapcalc.py
=====================================
@@ -288,6 +288,11 @@ def dataset_mapcalculator(
                 start, end, unit = sample_map_list[i].get_relative_time()
                 new_map.set_relative_time(start, end, unit)
 
+            # Set the semantic label
+            semantic_label = sample_map_list[i].metadata.get_semantic_label()
+            if semantic_label is not None:
+                new_map.set_semantic_label(semantic_label)
+
             # Parse the temporal expressions
             expr = _operator_parser(expr, sample_map_list[0], sample_map_list[i])
             # Add the output map name


=====================================
raster/r.geomorphon/main.c
=====================================
@@ -178,22 +178,22 @@ int main(int argc, char **argv)
 
         par_profiledata = G_define_standard_option(G_OPT_F_OUTPUT);
         par_profiledata->key = "profiledata";
-        par_profiledata->answer = "-";
         par_profiledata->required = NO;
         par_profiledata->description =
             _("Profile output file name (\"-\" for stdout)");
         par_profiledata->guisection = _("Profile");
         G_option_requires(par_profiledata, par_coords, NULL);
+        G_option_requires(par_coords, par_profiledata, NULL);
 
         par_profileformat = G_define_option();
         par_profileformat->key = "profileformat";
         par_profileformat->type = TYPE_STRING;
         par_profileformat->options = "json,yaml,xml";
-        par_profileformat->answer = "json";
         par_profileformat->required = NO;
         par_profileformat->description = _("Profile output format");
         par_profileformat->guisection = _("Profile");
         G_option_requires(par_profileformat, par_coords, NULL);
+        G_option_requires(par_coords, par_profileformat, NULL);
 
         if (G_parser(argc, argv))
             exit(EXIT_FAILURE);


=====================================
raster/r.geomorphon/r.geomorphon.html
=====================================
@@ -101,10 +101,9 @@ write to the standard output. The data is in a machine-readable format
 and it includes assorted values describing the computation context and
 parameters, as well as its intermediate and final results.</DD>
 <DT><b>profileformat</b></DT>
-<DD>Format of the profile data: "json" (the default),
-"yaml" or "xml".</DD>
+<DD>Format of the profile data: "json", "yaml" or "xml".</DD>
 </DL>
-<P><em>NOTE: parameters below are very experimental. The usefulness of these parameters are currently under investigation.</em></P>
+<P><em>NOTE: parameters below are experimental. The usefulness of these parameters are currently under investigation.</em></P>
 <DL>
 <DT><b>intensity</b></DT>
 <DD>returns avarage difference between central cell of geomorphon and eight cells in visibility neighbourhood. This parameter shows local (as is visible) exposition/abasement of the form in the terrain.</DD>


=====================================
temporal/t.rast.mapcalc/t.rast.mapcalc.html
=====================================
@@ -122,6 +122,8 @@ r.mapcalc expression="c_5 = if(7 == 5 || 7 == 6, (a7 + b7), (a7 * b7))"
 r.mapcalc expression="c_6 = if(8 == 5 || 8 == 6, (a8 + b8), (a8 * b8))"
 </pre></div>
 <p>
+Semantic labels present in the sample dataset A will be transferred to
+the output dataset.
 
 <h2>EXAMPLES</h2>
 


=====================================
temporal/t.rast.neighbors/t.rast.neighbors.html
=====================================
@@ -15,6 +15,11 @@ The user can select a subset of the input space time raster dataset for
 processing using a SQL WHERE statement. The number of CPU's to be used
 for parallel processing can be specified with the <em>nprocs</em>
 option to speedup the computation on multi-core system.
+<p>
+Semantic labels are needed to relate output raster maps to input raster
+maps. E.g. with <em>method=stddev</em>, the user needs to know the
+spatial extent, the time stamp and the semantic label to determine
+which stddev map corresponds to which input map.
 
 <h2>EXAMPLE</h2>
 


=====================================
temporal/t.rast.neighbors/t.rast.neighbors.py
=====================================
@@ -76,6 +76,17 @@
 # % multiple: no
 # %end
 
+# %option
+# % key: semantic_labels
+# % type: string
+# % options: input,method
+# % description: Set semantic labels
+# % descriptions: input;copy semantic labels from input to output;method;append method name to input label if existing, otherwise use method name
+# % answer: input
+# % required: no
+# % multiple: no
+# %end
+
 # %option
 # % key: nprocs
 # % type: integer
@@ -120,6 +131,7 @@ def main():
     method = options["method"]
     nprocs = options["nprocs"]
     time_suffix = options["suffix"]
+    new_labels = options["semantic_labels"]
 
     # Make sure the temporal database exists
     tgis.init()
@@ -187,6 +199,16 @@ def main():
             overwrite=overwrite,
             dbif=dbif,
         )
+        semantic_label = map.metadata.get_semantic_label()
+        if new_labels == "input":
+            if semantic_label is not None:
+                new_map.set_semantic_label(semantic_label)
+        elif new_labels == "method":
+            if semantic_label is not None:
+                semantic_label = f"{semantic_label}_{method}"
+            else:
+                semantic_label = method
+            new_map.set_semantic_label(semantic_label)
         new_maps.append(new_map)
 
         mod = copy.deepcopy(neighbor_module)



View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/5f79ee7cd9ac6ee250fc29f1aa1518fa8753653a

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/5f79ee7cd9ac6ee250fc29f1aa1518fa8753653a
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/20220225/abc59b1a/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list