瀏覽代碼

Merge branch 'master' of https://github.com/OSGeo/grass

Markus Metz 5 年之前
父節點
當前提交
293d7115c7

+ 1 - 0
.gitignore

@@ -24,6 +24,7 @@ lib/db/sqlp/sqlp.output
 lib/db/sqlp/sqlp.tab.c
 lib/db/sqlp/sqlp.tab.c
 lib/db/sqlp/sqlp.tab.h
 lib/db/sqlp/sqlp.tab.h
 lib/db/sqlp/sqlp.yy.c
 lib/db/sqlp/sqlp.yy.c
+lib/python/ctypes/ctypesgencore/parser/lextab.py
 lib/python/script/setup.py.tmp
 lib/python/script/setup.py.tmp
 raster/r.mapcalc/mapcalc.output
 raster/r.mapcalc/mapcalc.output
 raster/r.mapcalc/mapcalc.tab.c
 raster/r.mapcalc/mapcalc.tab.c

+ 5 - 5
README.md

@@ -63,7 +63,7 @@ Build using the downloaded source code (in the directory with the
 source code):
 source code):
 
 
 ```
 ```
-    docker build -t grassgis77 .
+    docker build -t grassgis79 .
 ```
 ```
 
 
 A test run (assuming you have existing GRASS GIS location; it can be downloaded from
 A test run (assuming you have existing GRASS GIS location; it can be downloaded from
@@ -71,22 +71,22 @@ A test run (assuming you have existing GRASS GIS location; it can be downloaded
 
 
 ```
 ```
 # case 1: launching in the grassdata directory in which the location is stored:
 # case 1: launching in the grassdata directory in which the location is stored:
-docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data --env HOME=/data/ grassgis77 \
+docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data --env HOME=/data/ grassgis79 \
     grass --text nc_spm_08_grass7/user1 --exec g.region -p
     grass --text nc_spm_08_grass7/user1 --exec g.region -p
 
 
 # case 2: launching anywhere
 # case 2: launching anywhere
-docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis77 \
+docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis79 \
     grass /data/nc_basic_spm/PERMANENT --exec g.region -p
     grass /data/nc_basic_spm/PERMANENT --exec g.region -p
 ```
 ```
 
 
-Note that the first `grassgis77` is the name of the image while the second
+Note that the first `grassgis79` is the name of the image while the second
 `grass` is the name of the executable.
 `grass` is the name of the executable.
 
 
 To run the tests (again assuming local location):
 To run the tests (again assuming local location):
 
 
 ```
 ```
     docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \
     docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \
-        grassgis77 grass /data/nc_basic_spm/PERMANENT --exec \
+        grassgis79 grass /data/nc_basic_spm/PERMANENT --exec \
             python -m grass.gunittest.main \
             python -m grass.gunittest.main \
                 --location nc_basic_spm --location-type nc
                 --location nc_basic_spm --location-type nc
 ```
 ```

+ 1 - 1
db/drivers/mysql/grass-mesql.html

@@ -83,6 +83,6 @@ Radim Blazek
 
 
 <hr class="header">
 <hr class="header">
 <p><a href="index.html">Main index</a> - <a href="database.html">Database index</a> - <a href="topics.html">Topics index</a> - <a href="keywords.html">Keywords Index</a> - <a href="full_index.html">Full index</a></p>
 <p><a href="index.html">Main index</a> - <a href="database.html">Database index</a> - <a href="topics.html">Topics index</a> - <a href="keywords.html">Keywords Index</a> - <a href="full_index.html">Full index</a></p>
-<p>&copy; 2003-2013 <a href="http://grass.osgeo.org">GRASS Development Team</a>, GRASS GIS 7.0.svn Reference Manual</p>
+<p>&copy; 2003-2019 <a href="https://grass.osgeo.org">GRASS Development Team</a>, GRASS GIS 7.9 Reference Manual</p>
 </body>
 </body>
 </html>
 </html>

+ 335 - 0
doc/howto_release.md

@@ -0,0 +1,335 @@
+# How to release GRASS GIS binaries and source code
+
+*Note: Some steps in this text are to be done by the development coordinator (currently Markus Neteler, PSC Chair) due to needed logins.*
+
+## HOWTO create a release
+
+### Preparations
+
+Check examples if still compiling
+
+```bash
+( cd doc/raster/r.example/ ; make clean ; make )
+( cd doc/vector/v.example/ ; make clean ; make )
+```
+
+### Fix typos in source code with
+
+```bash
+tools/fix_typos.sh
+```
+
+### i18N: sync from Transifex
+See https://www.transifex.com/grass-gis/grass7/dashboard/
+
+Exception Latvian as Latvian is directly edited in git and then sync'ed from master .po files
+
+```bash
+cd locale
+sh ~/software/grass_addons_git/tools/transifex_merge.sh
+make
+make verify
+# ... then fix .po files as needed.
+#
+# requires https://trac.osgeo.org/grass/ticket/3539
+## after that push fixes to transifex:
+#cd locale/transifex/
+#tx --debug push -t
+```
+
+### Update of configure base files
+
+*Only allowed in RC cycle, not for final release!*
+
+Check that autoconf scripts are up-to-date:
+```bash
+rm -f config.guess config.sub
+wget http://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+wget http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+git diff config.guess config.sub
+autoconf-2.13
+```
+Now check if configure still works.
+
+If yes, submit to git:
+```bash
+git add config.guess config.sub configure
+git checkout -b config_sub_update_r78
+git commit -m"config.guess + config.sub: updated from http://git.savannah.gnu.org/cgit/config.git/plain/" config.guess config.sub configure
+# test by running ./configure
+
+git push origin config_sub_update_r78
+# open PR and merge
+```
+
+### Cleanup leftover rubbish files
+
+```bash
+rm -f locale/templates/*.pot
+rm -f locale/po/messages.mo
+rm -f demolocation/PERMANENT/.bash*
+find . -name '*~'     | xargs rm
+find . -name '*.bak'  | xargs rm
+find . -name '*.swp'  | xargs rm
+find . -name '.#*'    | xargs rm
+find . -name '*.orig' | xargs rm
+find . -name '*.rej'  | xargs rm
+find . -name '*.o'    | xargs rm
+find . -name '*.pyc'  | xargs rm
+find . -name 'OBJ.*'  | xargs rm -r
+rm -f gui/wxpython/menustrings.py gui/wxpython/build_ext.pyc gui/wxpython/xml/menudata.xml gui/wxpython/xml/module_tree_menudata.xml
+chmod -R a+r *
+```
+
+Double check:
+```bash
+git status
+```
+
+### Create release branch (only if not yet existing)
+
+.. see section below at end of file.
+
+### Update VERSION file to release version number
+
+TODO: probably better done in GH interface?!
+
+```bash
+vim include/VERSION
+
+#example:
+7
+8
+0RC1
+2019
+```
+
+Cleanup:
+```bash
+rm -f include/VERSION~
+```
+
+~~Update OSGeo4W setup.hint file~~
+~~no longer needed~~
+~~vim mswindows/osgeo4w/setup_x86.hint.tmpl~~
+~~vim mswindows/osgeo4w/setup_x86_64.hint.tmpl~~
+
+### Create release tag
+
+See https://help.github.com/en/articles/creating-releases
+
+Done in GH interface.
+
+### Changelog and tagging etc
+
+```bash
+# create version env var for convenience:
+MAJOR=`cat include/VERSION | head -1 | tail -1`
+MINOR=`cat include/VERSION | head -2 | tail -1`
+RELEASE=`cat include/VERSION | head -3 | tail -1`
+VERSION=${MAJOR}_${MINOR}_${RELEASE}
+echo $VERSION
+
+git checkout -b release_GRASS_GIS_$VERSION
+git add include/VERSION
+git commit -m"GRASS GIS $VERSION" include/VERSION
+git push origin release_GRASS_GIS_$VERSION
+
+# Create Changelog file on release branch:
+python tools/gitlog2changelog.py
+mv ChangeLog ChangeLog_$VERSION
+head ChangeLog_$VERSION
+gzip ChangeLog_$VERSION
+
+TODAY=`date +"%Y%m%d"`
+RELEASETAG=release_${TODAY}_grass_${MAJOR}_${MINOR}_${RELEASE}
+echo $RELEASETAG
+```
+
+### Tag release (on GitHub)
+
+```bash
+echo "grass_$VERSION"
+```
+
+Do this in https://github.com/OSGeo/grass/releases/new
+
+### Packaging of source code tarball
+
+TODO: add checkout of code via release tag
+
+```bash
+# create source package (in the source directory):
+echo grass-${VERSION}
+
+mkdir grass-${VERSION}
+mv * grass-${VERSION}/
+# create the package:
+tar cvfzh grass-${VERSION}.tar.gz --exclude-vcs grass-${VERSION}/*
+# restore src code location:
+mv ./grass-${VERSION}/* .
+rmdir ./grass-${VERSION}
+# Calculating MD5 sum:
+md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
+```
+
+### Reset include/VERSION file to git version:
+
+TODO: probably better done in GH interface
+
+```bash
+vim include/VERSION
+
+#example
+7
+8
+0dev
+2019
+
+rm -f include/VERSION~
+git checkout -b back_to_git_dev
+git add include/VERSION
+git commit -m"back to git" include/VERSION
+git push origin back_to_git_dev
+# open PR and merge
+```
+
+### Upload source code tarball to OSGeo servers
+
+```bash
+# Store the source tarball (twice) in (use scp -p FILES grass:):
+SERVER1=grass.osgeo.org
+SERVER1DIR=/var/www/grass/grass-cms/grass$MAJOR$MINOR/source/
+SERVER2=upload.osgeo.org
+SERVER2DIR=/osgeo/download/grass/grass$MAJOR$MINOR/source/
+echo $SERVER1:$SERVER1DIR
+echo $SERVER2:$SERVER2DIR
+
+# upload along with associated files:
+scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
+  INSTALL REQUIREMENTS.html SUBMITTING neteler@$SERVER1:$SERVER1DIR
+
+scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
+  INSTALL REQUIREMENTS.html SUBMITTING neteler@$SERVER2:$SERVER2DIR
+
+# Only at full release!
+# generate link to "latest" source code
+ssh neteler@$SERVER1 "cd $SERVER1DIR ; rm -f grass-$MAJOR.$MINOR-latest.tar.gz"
+ssh neteler@$SERVER1 "cd $SERVER1DIR ; ln -s grass-$VERSION.tar.gz grass-$MAJOR.$MINOR-latest.tar.gz"
+
+# update winGRASS related files: Update the winGRASS version
+vim grass-addons/tools/wingrass-packager/grass_packager_release.bat
+vim grass-addons/tools/wingrass-packager/grass_addons.sh
+vim grass-addons/tools/wingrass-packager/grass_copy_wwwroot.sh
+vim grass-addons/tools/wingrass-packager/cronjob.sh       # major/minor release only
+
+# update addons - major/minor release only
+vim grass-addons/tools/addons/grass-addons-publish.sh
+vim grass-addons/tools/addons/grass-addons-build.sh
+vim grass-addons/tools/addons/grass-addons.sh
+```
+
+Release is done.
+
+### Advertise new release
+
+#### Update CMS web site to show new version
+
+- News section
+- https://grass.osgeo.org/download/software/
+- https://grass.osgeo.org/download/software/sources/
+- https://grass.osgeo.org/download/software/linux/
+- https://grass.osgeo.org/home/history/releases/
+
+TODO: git tags
+- https://grass.osgeo.org/development/svn/svn-tags/ (add tag): echo $RELEASETAG
+
+#### Write announcement and publish it
+- store in trac:
+    - https://trac.osgeo.org/grass/wiki/Release/7.8.x-News
+    - https://trac.osgeo.org/grass/wiki/Grass7/NewFeatures78  <- add content of major changes only
+- update version in https://grasswiki.osgeo.org/wiki/GRASS-Wiki
+- ~~store in Web as announces/announce_grass$MAJOR$MINOR$RELEASE.html <- how? with protected PHP upload page?~~ (dropped since CMS)
+
+#### Only when new major release
+- update cronjob 'cron_grass_HEAD_src_snapshot.sh' on grass.osgeo.org to next but one release tag for the differences
+- wiki updates, only when new major release:
+    - {{cmd|xxxx}} macro: https://grasswiki.osgeo.org/wiki/Template:Cmd
+    - update last version on main page
+- trac updates, only when new major release:
+    - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.8.x --> Edit Milestone
+        - also: Retarget associated open tickets to milestone 7.8.x
+    - Batch modify tickets, set to next milestone (update this query accordingly: two entries to change):
+        - https://trac.osgeo.org/grass/query?status=assigned&status=new&status=reopened&milestone=7.8.0&milestone=7.8.1&group=status&col=id&col=summary&col=owner&col=type&col=priority&col=component&col=version&order=priority
+     - Set max items to 1000, then select all shown tickets via Status: assigned/new/reopened sections
+     - Scroll down to "Batch modify": under the "Comment" section, add Field "Milestone" and set to next version
+     - then use "Change ticket" button, done.
+       - Only in case of new release branch being created:
+- Add Wiki Macro definitions for manual pages G7X:modulename
+    - Edit: https://trac.osgeo.org/grass/wiki/InterMapTxt
+
+#### WinGRASS notes
+- Update grass_packager_release.bat, eg.
+```
+     set MAJOR=7
+     set MINOR=8
+     set PATCH=0RC1
+```
+- Update addons (grass_addons.sh) rules, eg.
+```
+     compile $GIT_PATH/grass7 $GISBASE_PATH/grass780RC1   $ADDON_PATH/grass780RC1/addons
+```
+- Modify grass_copy_wwwroot.sh accordingly, eg.
+```
+     copy_addon 781RC1 7.8.1RC1
+```
+
+#### Launchpad notes:
+- Create milestone and release: https://launchpad.net/grass/+series
+- Upload tarball for created release
+- Update daily recipe contents: https://code.launchpad.net/~grass/+recipe/grass-trunk
+
+#### Packaging notes:
+- https://trac.osgeo.org/grass/wiki/BuildHints
+    - https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging
+    - https://trac.osgeo.org/grass/wiki/CompileOnWindows
+
+#### Marketing - tell others about release:
+- Notify all packagers (MN has email list)
+- If release candidate:
+    - <grass-announce@lists.osgeo.org>
+    - <grass-dev@lists.osgeo.org>
+- If official release:
+    - publish related announcement press release at:
+- Our GRASS web site: /announces/
+    - Note: DON'T use relative links there
+- Our main mailing lists:
+    - http://lists.osgeo.org/mailman/listinfo/grass-announce | <grass-announce@lists.osgeo.org>
+    - http://lists.osgeo.org/mailman/listinfo/grass-dev | <grass-dev@lists.osgeo.org>
+    - http://lists.osgeo.org/mailman/listinfo/grass-user | <grass-user@lists.osgeo.org>
+- DebianGIS:          <debian-gis@lists.debian.org> - send only small note
+- FreeGIS:             <freegis-list@intevation.de>
+- Geowanking:       <geowanking@geowanking.org>
+-  OSGeo.org:        <news_item@osgeo.org>
+
+Via Email:
+- info@osgeo.org
+- http://www.gis-news.de/  (franz-josef.behr@gismngt.de)
+- http://spatialnews.geocomm.com/submitnews.html (not free any more, convince editor@geocomm.com)
+- mfeilner@linuxnewmedia.de
+- info@harzer.de
+- editor-geo@geoconnexion.com
+
+Via Web:
+- https://plus.google.com/u/0/communities/111147786674687562495 (G+ GRASS GIS community)
+- http://linuxtoday.com/contribute.php3
+- https://joinup.ec.europa.eu/software/grassgis/home (submit news, MN)
+- http://www.macnn.com/contact/newstips/1
+- http://www10.giscafe.com/submit_material/submit_options.php#Press (MN)   --> Press releases
+- http://www.directionsmag.com/pressreleases/ (News -> Submit Press Release)
+- http://directory.fsf.org/wiki/GRASS_%28Geographic_Resources_Analysis_Support_System%29
+- https://www.linux-apps.com/p/1128004/edit/ (MN)
+- https://news.eoportal.org/web/eoportal/share-your-news (MN) -> Share your news with the EO community
+- https://www.heise.de/download/product/grass-gis-7105 (update, MN)
+- See also: https://grass.osgeo.org/wiki/Contact_Databases
+- ... anywhere else? Please add here.

+ 0 - 306
doc/howto_release.txt

@@ -1,306 +0,0 @@
-How to release GRASS GIS binaries and source code
-
-Note: This text contains *some* rules only applicable to the
-      development coordinator (currently Markus Neteler, PSC Chair).
-
-
-###########################################
-Contents
-  (A) HOWTO create a release
-  (B) HOWTO create a branch
-
-###########################################
-(A) HOWTO create a release
-
-0. Preparations
-
-#check if still compile; fix otherwise
-( cd doc/raster/r.example/ ; make clean ; make )
-( cd doc/vector/v.example/ ; make clean ; make )
-
-# fix typos in source code with 
-tools/fix_typos.sh
-
-# i18N: sync from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/)
-#  - except for Latvian; Latvian is directly edited in git and then sync'ed from master .po files
-cd locale
-sh ~/software/grass_addons_git/tools/transifex_merge.sh
-make
-make verify
-# ... then fix .po files as needed.
-#
-# requires https://trac.osgeo.org/grass/ticket/3539
-## after that push fixes to transifex:
-#cd locale/transifex/
-#tx --debug push -t
-
-#### end of i18N
-
-
-1. Local work
-
-# done by release manager
-
-# Only allowed RC cycle, not final!:
-# Check that autoconf scripts are up-to-date:
-
-rm -f config.guess config.sub
-wget http://git.savannah.gnu.org/cgit/config.git/plain/config.guess
-wget http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
-git diff config.guess config.sub
-autoconf-2.13
-# check and submit to git:
-git add config.guess config.sub configure
-git checkout -b config_sub_update_r78
-git commit -m"config.guess + config.sub: updated from http://git.savannah.gnu.org/cgit/config.git/plain/" config.guess config.sub configure
-# test by running ./configure 
-
-git push origin config_sub_update_r78
-# open PR and merge
-
-######
-# cleanup rubbish:
-rm -f locale/templates/*.pot
-rm -f locale/po/messages.mo
-rm -f demolocation/PERMANENT/.bash*
-find . -name '*~'     | xargs rm
-find . -name '*.bak'  | xargs rm
-find . -name '.#*'    | xargs rm
-find . -name '*.orig' | xargs rm
-find . -name '*.rej'  | xargs rm
-find . -name '*.o'    | xargs rm
-find . -name '*.pyc'  | xargs rm
-find . -name 'OBJ.*'  | xargs rm -r
-rm -f gui/wxpython/menustrings.py gui/wxpython/build_ext.pyc gui/wxpython/xml/menudata.xml gui/wxpython/xml/module_tree_menudata.xml
-chmod -R a+r *
-
-# double check
-git status
-
-# Create release branch (only if not yet existing)
-# ... see below
-
-# Update VERSION file to release version:
-vim include/VERSION
-
-#example:
-7
-8
-0RC1
-2019
-
-# cleanup
-rm -f include/VERSION~
-
-# Update OSGeo4W setup.hint file
-### no longer needed
-#vim mswindows/osgeo4w/setup_x86.hint.tmpl
-#vim mswindows/osgeo4w/setup_x86_64.hint.tmpl
-
-#### Changelog and tagging etc
-
-# create version env var for convenience:
-MAJOR=`cat include/VERSION | head -1 | tail -1`
-MINOR=`cat include/VERSION | head -2 | tail -1`
-RELEASE=`cat include/VERSION | head -3 | tail -1`
-VERSION=${MAJOR}_${MINOR}_${RELEASE}
-echo $VERSION
-
-git checkout -b release_GRASS_GIS_$VERSION
-git add include/VERSION
-git commit -m"GRASS GIS $VERSION" include/VERSION
-git push origin release_GRASS_GIS_$VERSION
-
-# Create Changelog file on release branch:
-python tools/gitlog2changelog.py
-mv ChangeLog ChangeLog_$VERSION
-head ChangeLog_$VERSION
-gzip ChangeLog_$VERSION
-
-TODAY=`date +"%Y%m%d"`
-RELEASETAG=release_${TODAY}_grass_${MAJOR}_${MINOR}_${RELEASE}
-echo $RELEASETAG
-
-# Tag release (on GitHub)
-echo "grass_$VERSION"
-https://github.com/OSGeo/grass/releases/new
-
-#### Packaging
-# create source package (in the source directory):
-echo grass-${VERSION}
-
-mkdir grass-${VERSION}
-mv * grass-${VERSION}/
-# create the package:
-tar cvfzh grass-${VERSION}.tar.gz --exclude-vcs grass-${VERSION}/*
-# restore src code location:
-mv ./grass-${VERSION}/* .
-rmdir ./grass-${VERSION}
-# Calculating MD5 sum:
-md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
-
-# reset include/VERSION file to git version:
-vim include/VERSION
-
-#example
-7
-8
-0dev
-2019
-
-rm -f include/VERSION~
-git checkout -b back_to_git_dev
-git add include/VERSION
-git commit -m"back to git" include/VERSION
-git push origin back_to_git_dev
-# open PR and merge
-
-#### Upload source code package
-# Store the source tarball (twice) in (use scp -p FILES grass:):
-SERVER1=grass.osgeo.org
-SERVER1DIR=/var/www/grass/grass-cms/grass$MAJOR$MINOR/source/
-SERVER2=upload.osgeo.org
-SERVER2DIR=/osgeo/download/grass/grass$MAJOR$MINOR/source/
-echo $SERVER1:$SERVER1DIR
-echo $SERVER2:$SERVER2DIR
-
-# upload along with associated files:
-scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
-  INSTALL REQUIREMENTS.html SUBMITTING neteler@$SERVER1:$SERVER1DIR
-
-scp -p grass-$VERSION.* AUTHORS COPYING ChangeLog_$VERSION.gz \
-  INSTALL REQUIREMENTS.html SUBMITTING neteler@$SERVER2:$SERVER2DIR
-
-# Only full release!
-# generate link to "latest" source code
-ssh neteler@$SERVER1 "cd $SERVER1DIR ; rm -f grass-$MAJOR.$MINOR-latest.tar.gz"
-ssh neteler@$SERVER1 "cd $SERVER1DIR ; ln -s grass-$VERSION.tar.gz grass-$MAJOR.$MINOR-latest.tar.gz"
-
-# update winGRASS related files: Update the winGRASS version
-vim grass-addons/tools/wingrass-packager/grass_packager_release.bat
-vim grass-addons/tools/wingrass-packager/grass_addons.sh
-vim grass-addons/tools/wingrass-packager/grass_copy_wwwroot.sh
-vim grass-addons/tools/wingrass-packager/cronjob.sh             # major/minor release only
-
-# update addons - major/minor release only
-vim grass-addons/tools/addons/grass-addons-publish.sh
-vim grass-addons/tools/addons/grass-addons-build.sh
-vim grass-addons/tools/addons/grass-addons.sh
-
-###################
-# update web site to show new version: CMS
-  - News section
-  - https://grass.osgeo.org/download/software/
-  - https://grass.osgeo.org/download/software/sources/
-  - https://grass.osgeo.org/download/software/linux/
-  - https://grass.osgeo.org/home/history/releases/
-# TODO: git tags
-  - https://grass.osgeo.org/development/svn/svn-tags/ (add tag): echo $RELEASETAG
-
-# write announcement
-  - store in trac:
-    https://trac.osgeo.org/grass/wiki/Release/7.8.x-News
-    https://trac.osgeo.org/grass/wiki/Grass7/NewFeatures78  <- add content of major changes only
-  - update version in https://grasswiki.osgeo.org/wiki/GRASS-Wiki
-  - store in Web as announces/announce_grass$MAJOR$MINOR$RELEASE.html <- how? with protected PHP upload page? (dropped since CMS)
-
-# only when new major release
-# update cronjob 'cron_grass_HEAD_src_snapshot.sh' on grass.osgeo.org to next but one release tag for the differences
-
-# wiki updates, only when new major release:
-  - {{cmd|xxxx}} macro: https://grasswiki.osgeo.org/wiki/Template:Cmd
-  - update last version on main page
-
-# trac updates, only when new major release:
-  - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.8.x --> Edit Milestone
-    - also: Retarget associated open tickets to milestone 7.8.x
-  - Batch modify tickets, set to next milestone (update this query accordingly: two entries to change)
-     https://trac.osgeo.org/grass/query?status=assigned&status=new&status=reopened&milestone=7.8.0&milestone=7.8.1&group=status&col=id&col=summary&col=owner&col=type&col=priority&col=component&col=version&order=priority
-     - Set max items to 1000, then select all shown tickets via Status: assigned/new/reopened sections
-     - Scroll down to "Batch modify": under the "Comment" section, add Field "Milestone" and set to next version
-     - then use "Change ticket" button, done.
-       - Only in case of new release branch being created:
-  
-  - Add Wiki Macro definitions for manual pages G7X:modulename
-    - Edit: https://trac.osgeo.org/grass/wiki/InterMapTxt
-
-# WinGRASS notes:
-
-  - Update grass_packager_release.bat, eg.
-
-     set MAJOR=7
-     set MINOR=8
-     set PATCH=0RC1
-
-  - Update addons (grass_addons.sh) rules, eg.
-
-     compile $GIT_PATH/grass7 $GISBASE_PATH/grass780RC1   $ADDON_PATH/grass780RC1/addons
-
-  - Modify grass_copy_wwwroot.sh accordingly, eg.
-
-     copy_addon 781RC1 7.8.1RC1
-
-# Launchpad notes:
-
-  - Create milestone and release: https://launchpad.net/grass/+series
-
-  - Upload tarball for created release
-
-  - Update daily recipe contents: https://code.launchpad.net/~grass/+recipe/grass-trunk
-
-# Packaging notes:
-   https://trac.osgeo.org/grass/wiki/BuildHints
-   - https://trac.osgeo.org/grass/wiki/DebianUbuntuPackaging
-   - https://trac.osgeo.org/grass/wiki/CompileOnWindows
-
-############
-# Marketing - tell others about release:
-
-* Notify all packagers (MN has email list)
-
-* If release candidate:
-    - <grass-announce@lists.osgeo.org>
-    - <grass-dev@lists.osgeo.org>
-
-* If official release:
-   - publish related announcement press release at:
-   
-   Our GRASS web site: /announces/
-                       Note: DON'T use relative links there
-
-   Our main mailing lists:
-                       http://lists.osgeo.org/mailman/listinfo/grass-announce
-                         <grass-announce@lists.osgeo.org>
-                       http://lists.osgeo.org/mailman/listinfo/grass-dev
-                         <grass-dev@lists.osgeo.org>
-                       http://lists.osgeo.org/mailman/listinfo/grassuser
-                         <grass-user@lists.osgeo.org>
-
-   DebianGIS:          <debian-gis@lists.debian.org> - send only small note
-   FreeGIS:            <freegis-list@intevation.de>
-   Geowanking:         <geowanking@geowanking.org>
-   OSGeo.org:          <news_item@osgeo.org>
-
- Email:
-   info@osgeo.org
-   http://www.gis-news.de/  (franz-josef.behr@gismngt.de)
-   http://spatialnews.geocomm.com/submitnews.html (not free any more, convince editor@geocomm.com)
-   mfeilner@linuxnewmedia.de
-   info@harzer.de
-   editor-geo@geoconnexion.com
-
- Web:
-   https://plus.google.com/u/0/communities/111147786674687562495 (G+ GRASS GIS community)
-   http://linuxtoday.com/contribute.php3
-   https://joinup.ec.europa.eu/software/grassgis/home (submit news, MN)
-   http://www.macnn.com/contact/newstips/1
-   http://www10.giscafe.com/submit_material/submit_options.php#Press (MN)   --> Press releases
-   http://www.directionsmag.com/pressreleases/ (News -> Submit Press Release)
-   http://directory.fsf.org/wiki/GRASS_%28Geographic_Resources_Analysis_Support_System%29
-   https://www.linux-apps.com/p/1128004/edit/ (MN)
-   https://news.eoportal.org/web/eoportal/share-your-news (MN)
-            -> Share your news with the EO community
-   https://www.heise.de/download/product/grass-gis-7105 (update, MN)
-
-   See also: https://grass.osgeo.org/wiki/Contact_Databases
-   ... anywhere else? Please add here.

+ 1 - 1
gui/wxpython/image2target/ii2t_gis_set.py

@@ -108,7 +108,7 @@ class GRASSStartup(wx.Frame):
         versionFile.close()
         versionFile.close()
         try:
         try:
             grassVersion, grassRevision = versionLine.split(' ', 1)
             grassVersion, grassRevision = versionLine.split(' ', 1)
-            if grassVersion.endswith('svn'):
+            if grassVersion.endswith('dev'):
                 grassRevisionStr = ' (%s)' % grassRevision
                 grassRevisionStr = ' (%s)' % grassRevision
             else:
             else:
                 grassRevisionStr = ''
                 grassRevisionStr = ''

+ 1 - 1
gui/wxpython/image2target/ii2t_menustrings.py

@@ -250,7 +250,7 @@ menustrings_menudata.LayerManagerMenuData = [
     _('Converts coordinates from one projection to another (cs2cs frontend).'),
     _('Converts coordinates from one projection to another (cs2cs frontend).'),
     _('Addons extensions'),
     _('Addons extensions'),
     _('Install extension from addons'),
     _('Install extension from addons'),
-    _('Installs new extension from GRASS AddOns SVN repository.'),
+    _('Installs new extension from GRASS AddOns repository.'),
     _('Manage installed extension'),
     _('Manage installed extension'),
     _('Updates or removes installed GRASS AddOns extension(s).'),
     _('Updates or removes installed GRASS AddOns extension(s).'),
     _('Preferences'),
     _('Preferences'),

+ 1 - 1
gui/wxpython/lmgr/frame.py

@@ -1797,7 +1797,7 @@ class GMFrame(wx.Frame):
         dlg.Show()
         dlg.Show()
 
 
     def OnInstallExtension(self, event):
     def OnInstallExtension(self, event):
-        """Install extension from GRASS Addons SVN repository"""
+        """Install extension from GRASS Addons repository"""
         from modules.extensions import InstallExtensionWindow
         from modules.extensions import InstallExtensionWindow
         win = InstallExtensionWindow(
         win = InstallExtensionWindow(
             self, giface=self._giface, size=(650, 550))
             self, giface=self._giface, size=(650, 550))

+ 2 - 2
gui/wxpython/modules/extensions.py

@@ -113,7 +113,7 @@ class InstallExtensionWindow(wx.Frame):
         # self.btnFetch = Button(parent=self.panel, id=wx.ID_ANY,
         # self.btnFetch = Button(parent=self.panel, id=wx.ID_ANY,
         #                        label=_("&Fetch"))
         #                        label=_("&Fetch"))
         # self.btnFetch.SetToolTip(_("Fetch list of available modules "
         # self.btnFetch.SetToolTip(_("Fetch list of available modules "
-        #                            "from GRASS Addons SVN repository"))
+        #                            "from GRASS Addons repository"))
         self.btnClose = Button(parent=self.panel, id=wx.ID_CLOSE)
         self.btnClose = Button(parent=self.panel, id=wx.ID_CLOSE)
         self.btnInstall = Button(parent=self.panel, id=wx.ID_ANY,
         self.btnInstall = Button(parent=self.panel, id=wx.ID_ANY,
                                  label=_("&Install"))
                                  label=_("&Install"))
@@ -209,7 +209,7 @@ class InstallExtensionWindow(wx.Frame):
         """Fetch list of available extensions"""
         """Fetch list of available extensions"""
         wx.BeginBusyCursor()
         wx.BeginBusyCursor()
         self.SetStatusText(
         self.SetStatusText(
-            _("Fetching list of modules from GRASS-Addons SVN (be patient)..."), 0)
+            _("Fetching list of modules from GRASS-Addons (be patient)..."), 0)
         try:
         try:
             self.thread.Run(
             self.thread.Run(
                 callable=self.modelBuilder.Load,
                 callable=self.modelBuilder.Load,

+ 1 - 1
gui/wxpython/startup/guiutils.py

@@ -100,7 +100,7 @@ def GetVersion():
     versionFile.close()
     versionFile.close()
     try:
     try:
         grassVersion, grassRevision = versionLine.split(' ', 1)
         grassVersion, grassRevision = versionLine.split(' ', 1)
-        if grassVersion.endswith('svn'):
+        if grassVersion.endswith('dev'):
             grassRevisionStr = ' (%s)' % grassRevision
             grassRevisionStr = ' (%s)' % grassRevision
         else:
         else:
             grassRevisionStr = ''
             grassRevisionStr = ''

+ 1 - 1
gui/wxpython/xml/wxgui_items.xml

@@ -327,7 +327,7 @@
     <label>Install extension from addons</label>
     <label>Install extension from addons</label>
     <handler>OnInstallExtension</handler>
     <handler>OnInstallExtension</handler>
     <related-module>g.extension</related-module>
     <related-module>g.extension</related-module>
-    <description>Installs new extension from GRASS AddOns SVN repository.</description>
+    <description>Installs new extension from GRASS AddOns repository.</description>
     <keywords>general,installation,extensions</keywords>
     <keywords>general,installation,extensions</keywords>
   </wxgui-item>
   </wxgui-item>
   <wxgui-item name="ManageExtension">
   <wxgui-item name="ManageExtension">

+ 3 - 3
imagery/i.ortho.photo/README

@@ -4,15 +4,15 @@ STATUS:
 	Vask library and interactive XDRIVER monitors, both of which
 	Vask library and interactive XDRIVER monitors, both of which
 	have been removed. As the modules are rewritten to run in non-
 	have been removed. As the modules are rewritten to run in non-
 	interactive mode or with a wxPython frontend, they will be
 	interactive mode or with a wxPython frontend, they will be
-	added back into GRASS 7. This work will be undertaken in the
-	trunk SVN.
+	added back into GRASS 7. This work has been undertaken in the
+	to some extent in the development branch.
 
 
 AUTHORS:
 AUTHORS:
 	The orthophoto rectification programs went out under alpha in 4.0.
 	The orthophoto rectification programs went out under alpha in 4.0.
 	It has since had bug fixes performed by OGI (Shapiro?) and also by
 	It has since had bug fixes performed by OGI (Shapiro?) and also by
 	the original programmer - Mike Baba of DBA Systems, Fairfax, VA.
 	the original programmer - Mike Baba of DBA Systems, Fairfax, VA.
 
 
-COPYRIGHT:    (C) 1999-2013 by the GRASS Development Team
+COPYRIGHT:    (C) 1999-2019 by the GRASS Development Team
 
 
                This program is free software under the GNU General Public
                This program is free software under the GNU General Public
                License (>=v2). Read the file COPYING that comes with GRASS
                License (>=v2). Read the file COPYING that comes with GRASS

+ 1 - 1
include/Make/Install.make

@@ -199,7 +199,7 @@ srcdist: distclean
 	@ # do not include the debian control files:
 	@ # do not include the debian control files:
 	-mv ./grass-$(GRASS_VERSION_NUMBER)/debian .
 	-mv ./grass-$(GRASS_VERSION_NUMBER)/debian .
 	@ #we use -h to get the linked files into as real files:
 	@ #we use -h to get the linked files into as real files:
-	tar cvfzh grass-$(GRASS_VERSION_NUMBER).tar.gz ./grass-$(GRASS_VERSION_NUMBER)/* --exclude=.svn
+	tar cvfzh grass-$(GRASS_VERSION_NUMBER).tar.gz ./grass-$(GRASS_VERSION_NUMBER)/* --exclude=.git
 	@ # restore src code location:
 	@ # restore src code location:
 	-mv ./grass-$(GRASS_VERSION_NUMBER)/* .
 	-mv ./grass-$(GRASS_VERSION_NUMBER)/* .
 	-rmdir ./grass-$(GRASS_VERSION_NUMBER)
 	-rmdir ./grass-$(GRASS_VERSION_NUMBER)

+ 2 - 4
lib/proj/README.txt

@@ -1,10 +1,8 @@
 Projection string management: GRASS GIS relies on GDAL/PROJ.
 Projection string management: GRASS GIS relies on GDAL/PROJ.
 
 
-The EPGS DB is transformed into suitable CSV data for GDAL/PROJ
-according to this procedure:
-http://svn.osgeo.org/metacrs/geotiff/trunk/libgeotiff/csv/README
+EPGS DB management: see https://github.com/OSGeo/libgeotiff/tree/master/libgeotiff
 
 
-The EPSG CSV files are used via GDAL/OGR API from
+The EPSG data are used via GDAL/OGR API from
 gdal-config --datadir
 gdal-config --datadir
 
 
 The datum shift grids are also used from GDAL/PROJ (proj-nad package).
 The datum shift grids are also used from GDAL/PROJ (proj-nad package).

+ 1 - 1
lib/proj/projlib.dox

@@ -48,7 +48,7 @@ If a warning appears that a certain datum is not recognised by GRASS and
 no parameters found, the datum transformation parameters have to be
 no parameters found, the datum transformation parameters have to be
 added to $GISBASE/etc/proj/datum.table (and also $GISBASE/etc/proj/datumtransform.table
 added to $GISBASE/etc/proj/datum.table (and also $GISBASE/etc/proj/datumtransform.table
 if you have 7-parameter transformation parameters). No need to re-compile
 if you have 7-parameter transformation parameters). No need to re-compile
-though. When adding to SVN, currently these files are still in lib/gis/. 
+though. When adding to git, currently these files are still in lib/gis/. 
 <p>
 <p>
 
 
 A list of datum equivalents is included in convert.c for geospatial files that
 A list of datum equivalents is included in convert.c for geospatial files that

文件差異過大導致無法顯示
+ 0 - 8
lib/python/ctypes/ctypesgencore/parser/lextab.py


+ 1 - 1
lib/python/docs/src/gunittest_running_tests.rst

@@ -117,7 +117,7 @@ Example Bash script to run be used as a cron job
     # compile current source code from scratch
     # compile current source code from scratch
     cd $GRASSSRC
     cd $GRASSSRC
     make distclean -j4
     make distclean -j4
-    svn up
+    git pull
     ./configure ...  # or a script containing all the flags
     ./configure ...  # or a script containing all the flags
     make -j4
     make -j4
 
 

+ 2 - 2
man/sphinx/conf.py

@@ -41,7 +41,7 @@ master_doc = 'index'
 
 
 # General information about the project.
 # General information about the project.
 project = u'GRASS 7.9 Documentation'
 project = u'GRASS 7.9 Documentation'
-copyright = u'2017, GRASS Development Team'
+copyright = u'2019, GRASS Development Team'
 
 
 # The version info for the project you're documenting, acts as replacement for
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
 # |version| and |release|, also used in various other places throughout the
@@ -50,7 +50,7 @@ copyright = u'2017, GRASS Development Team'
 # The short X.Y version.
 # The short X.Y version.
 version = '7.9'
 version = '7.9'
 # The full version, including alpha/beta/rc tags.
 # The full version, including alpha/beta/rc tags.
-release = 'svn'
+release = 'dev'
 
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
 # for a list of supported languages.

+ 1 - 1
mswindows/osgeo4w/setup_x86.hint.tmpl

@@ -1,5 +1,5 @@
 sdesc: "GRASS GIS - daily builds of development version"
 sdesc: "GRASS GIS - daily builds of development version"
-ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - daily builds of SVN trunk"
+ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - daily builds of git master"
 category: Desktop
 category: Desktop
 requires: liblas avce00 gpsbabel gs python3-gdal python3-matplotlib msvcrt msvcrt2013 msvcrt2015 iconv libtiff gdal proj freetype-mingw pdcurses zlib fftw libpng python3-wx python3-numpy python3-pillow python3-pip python3-ply python3-pyopengl cairo python3-psycopg2 python3-six rbatch zstd zstd-bin python3-pywin32
 requires: liblas avce00 gpsbabel gs python3-gdal python3-matplotlib msvcrt msvcrt2013 msvcrt2015 iconv libtiff gdal proj freetype-mingw pdcurses zlib fftw libpng python3-wx python3-numpy python3-pillow python3-pip python3-ply python3-pyopengl cairo python3-psycopg2 python3-six rbatch zstd zstd-bin python3-pywin32
 maintainer: MartinLanda
 maintainer: MartinLanda

+ 1 - 1
mswindows/osgeo4w/setup_x86_64.hint.tmpl

@@ -1,5 +1,5 @@
 sdesc: "GRASS GIS - daily builds of development version"
 sdesc: "GRASS GIS - daily builds of development version"
-ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - daily builds of SVN trunk"
+ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - daily builds of git master"
 category: Desktop
 category: Desktop
 requires: liblas avce00 gpsbabel gs python3-gdal python3-matplotlib msvcrt msvcrt2013 msvcrt2015 iconv libtiff gdal proj pdcurses zlib fftw libpng python3-wx python3-numpy python3-pillow python3-pip python3-ply python3-pyopengl cairo python3-psycopg2 python3-six rbatch zstd zstd-bin python3-pywin32
 requires: liblas avce00 gpsbabel gs python3-gdal python3-matplotlib msvcrt msvcrt2013 msvcrt2015 iconv libtiff gdal proj pdcurses zlib fftw libpng python3-wx python3-numpy python3-pillow python3-pip python3-ply python3-pyopengl cairo python3-psycopg2 python3-six rbatch zstd zstd-bin python3-pywin32
 maintainer: MartinLanda
 maintainer: MartinLanda

+ 10 - 6
raster/r.buildvrt/r.buildvrt.html

@@ -29,18 +29,22 @@ raster routines.
 
 
 <h3>VRT from a DEM in the North Carolina sample dataset</h3>
 <h3>VRT from a DEM in the North Carolina sample dataset</h3>
 
 
+In this exercise a low resolution DEM is resampled to a high
+resolution DEM. This is subsequently cut into small tiles and
+from that a virtual tile mosaik is created:
+
 <div class="code"><pre>
 <div class="code"><pre>
-# set the region
+# set the computational region to elevation map
 g.region raster=elev_state_500m -p
 g.region raster=elev_state_500m -p
-# higher resolution
+# enforce higher resolution
 g.region res=50 -p
 g.region res=50 -p
-# resample the DEM to 50 meter
+# resample the 500 meter DEM to 50 meter resolution
 r.resamp.interp input=elev_state_500m output=elev_state_50m method=bilinear
 r.resamp.interp input=elev_state_500m output=elev_state_50m method=bilinear
-# create tiles
+# create tiles from resulting large 50 m elevation map
 r.tile input=elev_state_50m output=elev_state_50m_tile_ width=1000 height=1000 overlap=0
 r.tile input=elev_state_50m output=elev_state_50m_tile_ width=1000 height=1000 overlap=0
-# dump list of tiles to a file
+# for convenience, dump list of tile names to a file
 g.list type=raster pattern=elev_state_50m_tile_* output=tilelist
 g.list type=raster pattern=elev_state_50m_tile_* output=tilelist
-# build a vrt
+# build a mosaik as VRT from tile list
 r.buildvrt file=tilelist output=elev_state_50m_vrt
 r.buildvrt file=tilelist output=elev_state_50m_vrt
 </pre></div>
 </pre></div>
 
 

+ 1 - 1
raster/r.sun/main.c

@@ -915,7 +915,7 @@ int INPUT_part(int offset, double *zmax)
 
 
     if (longin != NULL) {
     if (longin != NULL) {
 	cell7 = Rast_allocate_f_buf();
 	cell7 = Rast_allocate_f_buf();
-	if (latitudeArray == NULL) {
+	if (longitudeArray == NULL) {
             if (!(longitudeArray = G_alloc_fmatrix(numRows, n))) 
             if (!(longitudeArray = G_alloc_fmatrix(numRows, n))) 
             {
             {
                 G_fatal_error(_("Out of memory"));
                 G_fatal_error(_("Out of memory"));

+ 4 - 3
scripts/g.extension/g.extension.html

@@ -59,9 +59,9 @@ in GRASS GIS is in this case in the responsibility of the user.
 
 
 <h3>Source code sources and repositories</h3>
 <h3>Source code sources and repositories</h3>
 
 
-<h4>GRASS GIS Addons SVN repository</h4>
+<h4>GRASS GIS Addons repository on GitHub</h4>
 By default, <em>g.extension</em> installs extensions from the official
 By default, <em>g.extension</em> installs extensions from the official
-GRASS GIS Addons SVN repository. However, different sources can be specified
+GRASS GIS Addons GitHub repository. However, different sources can be specified
 using the <b>url</b> option.
 using the <b>url</b> option.
 
 
 <p>
 <p>
@@ -104,7 +104,8 @@ or group of modules.
 
 
 <h4>Needed directory layout</h4>
 <h4>Needed directory layout</h4>
 When none of the above sources is identified, <em>g.extension</em> assumes
 When none of the above sources is identified, <em>g.extension</em> assumes
-that the source is a Subversion repository and uses the <em>svn</em> command
+<!-- TODO: update this description -->
+that the source is in a GitHub repository and uses the <em>svn</em> command
 line tool to obtain the source code. The expected structure of the repository
 line tool to obtain the source code. The expected structure of the repository
 should be the same as the one of the official repository.
 should be the same as the one of the official repository.
 
 

+ 1 - 1
testsuite/examples/test_framework_GRASS_GIS_with_NC.sh

@@ -112,7 +112,7 @@ if [ "$COMPILE" = "yes" ] ; then
    ## compile current source code from scratch
    ## compile current source code from scratch
    cd $GRASSSRC
    cd $GRASSSRC
    make distclean -j$GCCTHREADS
    make distclean -j$GCCTHREADS
-   svn update
+   git pull
    ./$CONFIGURE ...  # configure meta script containing all the compiler flags
    ./$CONFIGURE ...  # configure meta script containing all the compiler flags
    make -j$GCCTHREADS
    make -j$GCCTHREADS
 fi
 fi