[Git][debian-gis-team/grass][upstream] New upstream version 7.8.5
Bas Couwenberg
gitlab at salsa.debian.org
Mon Dec 21 20:02:13 GMT 2020
Bas Couwenberg pushed to branch upstream at Debian GIS Project / grass
Commits:
eac0ae3f by Bas Couwenberg at 2020-12-21T20:27:01+01:00
New upstream version 7.8.5
- - - - -
14 changed files:
- doc/howto_release.md
- docker/README.md
- − docker/ubuntu/Dockerfile_ubuntu_latest_pdal
- docker/ubuntu/Dockerfile_ubuntu_pdal
- gui/wxpython/gui_core/dialogs.py
- gui/wxpython/gui_core/gselect.py
- gui/wxpython/modules/import_export.py
- gui/wxpython/timeline/frame.py
- gui/wxpython/tplot/frame.py
- include/VERSION
- raster/r.resamp.bspline/r.resamp.bspline.html
- scripts/d.correlate/d.correlate.py
- scripts/g.extension/g.extension.py
- tools/mkhtml.py
Changes:
=====================================
doc/howto_release.md
=====================================
@@ -241,7 +241,7 @@ ssh neteler@$SERVER1 "cd $SERVER1DIR ; rm -f grass-$MAJOR.$MINOR-latest.md5sum"
ssh neteler@$SERVER1 "cd $SERVER1DIR ; ln -s grass-$VERSION.tar.gz grass-$MAJOR.$MINOR-latest.md5sum"
# verify
-echo "https://$SERVER1/grass$MAJOR$MINOR/source/"
+echo "https://grass.osgeo.org/grass$MAJOR$MINOR/source/"
# update winGRASS related files: Update the winGRASS version
vim grass-addons/tools/wingrass-packager/grass_packager_release.bat
@@ -257,48 +257,38 @@ vim grass-addons/tools/addons/grass-addons.sh
Release is done.
-### Advertise new release
+### Advertise the new release
-#### Update CMS web site to show new version
+#### Write trac Wiki release page
-- 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
-
-To easily generate the entries for the trac Wiki release pages, use a `git log` approach:
-
-- List of latest changes (example, get from GitHub release page)
- - https://github.com/OSGeo/grass/compare/releasebranch_7_8@%7B05-05-20%7D...releasebranch_7_8@%7B09-26-20%7D
-- identify start and end commit hash
+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:
```
-#START=76d5988
-#END=8a81328
-##git log --oneline | sed -n "+^$START+,+^$END+p;+^$END+q"
-
+# get date of previous release from https://github.com/OSGeo/grass/releases
# verify
-git log --oneline | sed -n '/^76d5988/,/^8a81328/p;/^8a81328/q' | tac
+git log --oneline --after="2020-10-05" | tac
-# prepare for trac Wiki release page
-git log --oneline | sed -n '/^76d5988/,/^8a81328/p;/^8a81328/q' | cut -d' ' -f2- | sed 's+^+ * G78:+g' | sort -u
+# prepare for trac Wiki release page (incl. PR trac macro)
+git log --oneline --after="2020-10-05" | cut -d' ' -f2- | sed 's+^+ * G78:+g' | sed 's+(#+(PR:+g' | sort -u
```
-- store entries in trac, by section:
+- store changelog entries in trac, by section:
- <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)
+ - <https://trac.osgeo.org/grass/wiki/Grass7/NewFeatures78> <- add content of major changes only
+
+#### Update CMS web site to show new version (not for RCs!)
+
+Write announcement and publish it:
+- News section, https://github.com/OSGeo/grass-website/tree/master/content/news
+
+Software pages:
+- Linux: https://github.com/OSGeo/grass-website/blob/master/content/download/linux.en.md
+- Windows: https://github.com/OSGeo/grass-website/blob/master/content/download/windows.en.md
+- Mac: https://github.com/OSGeo/grass-website/blob/master/content/download/mac.en.md
+- Releases: https://github.com/OSGeo/grass-website/blob/master/content/about/history/releases.md
+- Wiki: https://grasswiki.osgeo.org/wiki/GRASS-Wiki
+
#### Only in case of new major release
=====================================
docker/README.md
=====================================
@@ -4,17 +4,15 @@
| Base image | Docker tag | GRASS GIS | PROJ | GDAL | PDAL | Python | Image size |
|--------------|-----------------|------------|-------|-------|-------|--------|------------|
-| Ubuntu 18.04 | latest-ubuntu | 7.9.dev | 4.9.3 | 2.2.3 | 1.8.0 | 3.6.9 | 1.04 GB |
-| Ubuntu 19.10 | latest-ubuntu19 | 7.9.dev | 5.2.0 | 2.4.2 | 1.9.1 | 3.7.5 | 850 MB |
+| Ubuntu 20.04 | latest-ubuntu | 7.9.dev | 6.3.1 | 3.0.4 | 2.2.0 | 3.8.5 | 1.04 GB |
| Debian 10.1 | latest-debian | 7.9.dev | 5.2.0 | 2.4.0 | 1.8.0 | 3.7.3 | 1.14 GB |
| Alpine 3.12 | latest-alpine | 7.9.dev | 7.0.1 | 3.1.2 | 2.1.0 | 3.5.8 | 385 MB |
|--------------|-----------------|------------|-------|-------|-------|--------|------------|
-| Ubuntu 18.04 | stable-ubuntu | 7.8 branch | 4.9.3 | 2.2.3 | 1.8.0 | 3.6.9 | 1.04 GB |
-| Ubuntu 19.10 | stable-ubuntu19 | 7.8 branch | 5.2.0 | 2.4.2 | 1.9.1 | 3.7.5 | 850 MB |
+| Ubuntu 20.04 | stable-ubuntu | 7.8 branch | 6.3.1 | 3.0.4 | 2.2.0 | 3.8.5 | 1.04 GB |
| Debian 10.1 | stable-debian | 7.8 branch | 5.2.0 | 2.4.0 | 1.8.0 | 3.7.3 | 1.14 GB |
| Alpine 3.12 | stable-alpine | 7.8 branch | 7.0.1 | 3.1.2 | 2.1.0 | 3.5.8 | 385 MB |
-Last update: 17 Sep 2020 (source: https://hub.docker.com/r/mundialis/grass-py3-pdal/builds)
+Last update: 16 Dec 2020 (source: https://hub.docker.com/r/mundialis/grass-py3-pdal/builds)
# Requirements
=====================================
docker/ubuntu/Dockerfile_ubuntu_latest_pdal deleted
=====================================
@@ -1,194 +0,0 @@
-FROM ubuntu:19.10
-
-LABEL authors="Carmen Tawalika,Markus Neteler,Anika Bettge"
-LABEL maintainer="tawalika at mundialis.de,neteler at mundialis.de,bettge at mundialis.de"
-
-ENV DEBIAN_FRONTEND noninteractive
-
-SHELL ["/bin/bash", "-c"]
-
-WORKDIR /tmp
-
-RUN apt-get update && apt-get upgrade -y && \
- apt-get install -y --no-install-recommends --no-install-suggests \
- build-essential \
- bison \
- bzip2 \
- cmake \
- curl \
- flex \
- g++ \
- gcc \
- gdal-bin \
- git \
- language-pack-en-base \
- libbz2-dev \
- libcairo2 \
- libcairo2-dev \
- libcurl4-gnutls-dev \
- libfftw3-bin \
- libfftw3-dev \
- libfreetype6-dev \
- libgdal-dev \
- libgeos-dev \
- libgsl0-dev \
- libjpeg-dev \
- libjsoncpp-dev \
- libnetcdf-dev \
- libncurses5-dev \
- libopenblas-base \
- libopenblas-dev \
- libopenjp2-7 \
- libopenjp2-7-dev \
- libpdal-dev \
- libpdal-plugins \
- libpdal-plugin-python \
- libpnglite-dev \
- libpq-dev \
- libproj-dev \
- libpython3-all-dev \
- libsqlite3-dev \
- libtiff-dev \
- libzstd-dev \
- locales \
- make \
- mesa-common-dev \
- moreutils \
- ncurses-bin \
- netcdf-bin \
- pdal \
- proj-bin \
- proj-data \
- python3 \
- python3-dateutil \
- python3-dev \
- python3-magic \
- python3-numpy \
- python3-pil \
- python3-pip \
- python3-ply \
- python3-setuptools \
- python3-venv \
- software-properties-common \
- sqlite3 \
- subversion \
- unzip \
- vim \
- wget \
- zip \
- zlib1g-dev
-
-RUN echo LANG="en_US.UTF-8" > /etc/default/locale
-RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && locale-gen
-
-## TODO check if still needed
-## fetch vertical datums and store into PROJ dir
-WORKDIR /src
-RUN mkdir vdatum && \
- cd vdatum && \
- wget -q http://download.osgeo.org/proj/vdatum/usa_geoid2012.zip && unzip -j -u usa_geoid2012.zip -d /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/usa_geoid2009.zip && unzip -j -u usa_geoid2009.zip -d /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/usa_geoid2003.zip && unzip -j -u usa_geoid2003.zip -d /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/usa_geoid1999.zip && unzip -j -u usa_geoid1999.zip -d /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/vertcon/vertconc.gtx && mv vertconc.gtx /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/vertcon/vertcone.gtx && mv vertcone.gtx /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/vertcon/vertconw.gtx && mv vertconw.gtx /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/egm96_15/egm96_15.gtx && mv egm96_15.gtx /usr/share/proj; \
- wget -q http://download.osgeo.org/proj/vdatum/egm08_25/egm08_25.gtx && mv egm08_25.gtx /usr/share/proj; \
- cd .. && \
- rm -rf vdatum
-
-# copy grass gis source
-WORKDIR /src
-COPY . /src/grass_build/
-WORKDIR /src/grass_build
-
-# Set environmental variables for GRASS GIS compilation, without debug symbols
-# Set gcc/g++ environmental variables for GRASS GIS compilation, without debug symbols
-ENV MYCFLAGS "-O2 -std=gnu99 -m64"
-ENV MYLDFLAGS "-s"
-# CXX stuff:
-ENV LD_LIBRARY_PATH "/usr/local/lib"
-ENV LDFLAGS "$MYLDFLAGS"
-ENV CFLAGS "$MYCFLAGS"
-ENV CXXFLAGS "$MYCXXFLAGS"
-
-# Configure compile and install GRASS GIS
-ENV GRASS_PYTHON=/usr/bin/python3
-ENV NUMTHREADS=4
-RUN make distclean || echo "nothing to clean"
-RUN /src/grass_build/configure \
- --with-cxx \
- --enable-largefile \
- --with-proj --with-proj-share=/usr/share/proj \
- --with-gdal=/usr/bin/gdal-config \
- --with-geos \
- --with-sqlite \
- --with-cairo --with-cairo-ldflags=-lfontconfig \
- --with-freetype --with-freetype-includes="/usr/include/freetype2/" \
- --with-fftw \
- --with-postgres=yes --with-postgres-includes="/usr/include/postgresql" \
- --with-netcdf \
- --with-zstd \
- --with-bzlib \
- --with-pdal \
- --without-mysql \
- --without-odbc \
- --without-openmp \
- --without-ffmpeg \
- --without-opengl \
- && make -j $NUMTHREADS \
- && make install && ldconfig
-
-# Unset environmental variables to avoid later compilation issues
-ENV INTEL ""
-ENV MYCFLAGS ""
-ENV MYLDFLAGS ""
-ENV MYCXXFLAGS ""
-ENV LD_LIBRARY_PATH ""
-ENV LDFLAGS ""
-ENV CFLAGS ""
-ENV CXXFLAGS ""
-
-# set SHELL var to avoid /bin/sh fallback in interactive GRASS GIS sessions
-ENV SHELL /bin/bash
-ENV LC_ALL "en_US.UTF-8"
-ENV GRASS_SKIP_MAPSET_OWNER_CHECK 1
-
-# Create generic GRASS GIS binary name regardless of version number
-RUN ln -sf `find /usr/local/bin -name "grass??" | sort | tail -n 1` /usr/local/bin/grass
-# Create generic GRASS GIS lib name regardless of version number
-RUN ln -sf `grass --config path` /usr/local/grass
-
-# show GRASS GIS, PROJ, GDAL etc versions
-RUN grass --tmp-location EPSG:4326 --exec g.version -rge && \
- pdal --version && \
- python3 --version
-
-# Reduce the image size
-RUN apt-get autoremove -y
-RUN apt-get clean -y
-
-WORKDIR /scripts
-
-# install external GRASS GIS session Python API
-RUN pip3 install grass-session
-
-# install GRASS GIS extensions
-RUN grass --tmp-location EPSG:4326 --exec g.extension extension=r.in.pdal
-
-# add GRASS GIS envs for python usage
-ENV GISBASE "/usr/local/grass/"
-ENV GRASSBIN "/usr/local/bin/grass"
-ENV PYTHONPATH "${PYTHONPATH}:$GISBASE/etc/python/"
-ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$GISBASE/lib"
-
-WORKDIR /tmp
-COPY docker/testdata/simple.laz .
-WORKDIR /scripts
-COPY docker/testdata/test_grass_session.py .
-## just scan the LAZ file
-RUN /usr/bin/python3 /scripts/test_grass_session.py
-
-WORKDIR /grassdb
-VOLUME /grassdb
=====================================
docker/ubuntu/Dockerfile_ubuntu_pdal
=====================================
@@ -1,15 +1,13 @@
-FROM ubuntu:18.04
+FROM ubuntu:20.04
-LABEL authors="Carmen Tawalika,Markus Neteler,Anika Bettge"
-LABEL maintainer="tawalika at mundialis.de,neteler at mundialis.de,bettge at mundialis.de"
+LABEL authors="Carmen Tawalika,Markus Neteler,Anika Weinmann"
+LABEL maintainer="tawalika at mundialis.de,neteler at mundialis.de,weinmann at mundialis.de"
ENV DEBIAN_FRONTEND noninteractive
# define versions to be used
-ARG PDAL_VERSION=1.8.0
-ARG PROJ_VERSION=4.9.3
-ARG PROJ_DATUMGRID_VERSION=1.8
-ARG LAZ_PERF_VERSION=1.3.0
+ARG PDAL_VERSION=2.2.0
+ARG LAZ_PERF_VERSION=1.5.0
SHELL ["/bin/bash", "-c"]
@@ -48,6 +46,7 @@ RUN apt-get update && apt-get upgrade -y && \
libopenjp2-7-dev \
libpnglite-dev \
libpq-dev \
+ libproj-dev \
libpython3-all-dev \
libsqlite3-dev \
libtiff-dev \
@@ -58,6 +57,8 @@ RUN apt-get update && apt-get upgrade -y && \
moreutils \
ncurses-bin \
netcdf-bin \
+ proj-bin \
+ proj-data \
python3 \
python3-dateutil \
python3-dev \
@@ -80,19 +81,6 @@ RUN apt-get update && apt-get upgrade -y && \
RUN echo LANG="en_US.UTF-8" > /etc/default/locale
RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && locale-gen
-## install the latest projection library for GRASS GIS
-WORKDIR /src
-RUN wget -q http://download.osgeo.org/proj/proj-${PROJ_VERSION}.tar.gz && \
- tar xzf proj-${PROJ_VERSION}.tar.gz && \
- cd /src/proj-${PROJ_VERSION}/ && \
- wget -q http://download.osgeo.org/proj/proj-datumgrid-${PROJ_DATUMGRID_VERSION}.zip && \
- cd nad && \
- unzip ../proj-datumgrid-${PROJ_DATUMGRID_VERSION}.zip && \
- cd .. && \
- ./configure --prefix=/usr/ && \
- make && \
- make install
-
## install laz-perf
RUN apt-get install cmake
WORKDIR /src
@@ -105,7 +93,7 @@ RUN wget -q https://github.com/hobu/laz-perf/archive/${LAZ_PERF_VERSION}.tar.gz
make && \
make install
-## fetch vertical datums and store into PROJ dir
+## fetch vertical datums for PDAL and store into PROJ dir
WORKDIR /src
RUN mkdir vdatum && \
cd vdatum && \
@@ -158,6 +146,9 @@ WORKDIR /src
COPY . /src/grass_build/
WORKDIR /src/grass_build
+# Cleanup potentially leftover GISRC file with wrong path to "demolocation"
+RUN rm -f /src/grass_build/dist.*/demolocation/.grassrc7?
+
# Set environmental variables for GRASS GIS compilation, without debug symbols
# Set gcc/g++ environmental variables for GRASS GIS compilation, without debug symbols
ENV MYCFLAGS "-O2 -std=gnu99 -m64"
=====================================
gui/wxpython/gui_core/dialogs.py
=====================================
@@ -368,8 +368,7 @@ class NewVectorDialog(VectorDialog):
proportion=0,
flag=wx.ALIGN_CENTER_VERTICAL)
keySizer.AddSpacer(10)
- keySizer.Add(self.keycol, proportion=0,
- flag=wx.ALIGN_RIGHT)
+ keySizer.Add(self.keycol, proportion=0)
self.dataSizer.Add(keySizer, proportion=1,
flag=wx.EXPAND | wx.ALL, border=1)
@@ -1974,7 +1973,7 @@ class ImageSizeDialog(wx.Dialog):
btnsizer.Realize()
sizer.Add(btnsizer, proportion=0,
- flag=wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, border=5)
+ flag=wx.EXPAND | wx.ALL, border=5)
self.panel.SetSizer(sizer)
sizer.Fit(self.panel)
=====================================
gui/wxpython/gui_core/gselect.py
=====================================
@@ -2559,7 +2559,10 @@ class VectorCategorySelect(wx.Panel):
if self._isMapSelected():
layerList = self.giface.GetLayerList()
layerSelected = layerList.GetSelectedLayer()
- inputName = self.task.get_param('input')
+ # d.vect module
+ inputName = self.task.get_param(value='map', raiseError=False)
+ if not inputName:
+ inputName = self.task.get_param('input')
if inputName['value'] != str(layerSelected):
if inputName['value'] == '' or inputName['value'] is None:
GWarning(_("Input vector map is not selected"))
=====================================
gui/wxpython/modules/import_export.py
=====================================
@@ -713,7 +713,7 @@ class GdalOutputDialog(wx.Dialog):
dialogSizer.Add(
btnSizer,
proportion=0,
- flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.TOP | wx.ALIGN_RIGHT,
+ flag=wx.BOTTOM | wx.TOP | wx.ALIGN_RIGHT,
border=10)
self.panel.SetAutoLayout(True)
=====================================
gui/wxpython/timeline/frame.py
=====================================
@@ -35,7 +35,6 @@ try:
FigureCanvasWxAgg as FigCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar
import matplotlib.dates as mdates
- from matplotlib import cbook
except ImportError as e:
raise ImportError(_('The Timeline Tool needs the "matplotlib" '
'(python-matplotlib and on some systems also python-matplotlib-wx) package(s) to be installed. {0}').format(e))
@@ -615,7 +614,7 @@ class DataCursor(object):
self.formatFunction = formatFunction
self.offsets = offsets
self.display_all = display_all
- if not cbook.iterable(artists):
+ if not np.iterable(artists):
artists = [artists]
self.artists = artists
@@ -626,7 +625,7 @@ class DataCursor(object):
for ax in self.axes:
self.annotations[ax] = self.annotate(ax)
for artist in self.artists:
- artist.set_picker(tolerance)
+ artist.set_pickradius(tolerance)
for fig in self.figures:
fig.canvas.mpl_connect('pick_event', self)
fig.canvas.mpl_connect('key_press_event', self.keyPressed)
=====================================
gui/wxpython/tplot/frame.py
=====================================
@@ -39,7 +39,6 @@ try:
FigureCanvasWxAgg as FigCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar
import matplotlib.dates as mdates
- from matplotlib import cbook
except ImportError as e:
raise ImportError(_('The Temporal Plot Tool needs the "matplotlib" '
'(python-matplotlib) package to be installed. {0}').format(e))
@@ -1125,7 +1124,7 @@ class DataCursor(object):
self.formatFunction = formatFunction
self.offsets = offsets
self.display_all = display_all
- if not cbook.iterable(artists):
+ if not np.iterable(artists):
artists = [artists]
self.artists = artists
self.convert = convert
@@ -1136,7 +1135,7 @@ class DataCursor(object):
for ax in self.axes:
self.annotations[ax] = self.annotate(ax)
for artist in self.artists:
- artist.set_picker(tolerance)
+ artist.set_pickradius(tolerance)
for fig in self.figures:
fig.canvas.mpl_connect('pick_event', self)
fig.canvas.mpl_connect('key_press_event', self.keyPressed)
=====================================
include/VERSION
=====================================
@@ -1,4 +1,4 @@
7
8
-5RC1
+5
2020
=====================================
raster/r.resamp.bspline/r.resamp.bspline.html
=====================================
@@ -24,7 +24,8 @@ smooth the interpolation. With a small <b>lambda</b>, the
interpolated surface closely follows observation points; a larger value
will produce a smoother interpolation. Reasonable values are 0.0001,
0.001, 0.005, 0.01, 0.02, 0.05, 0.1 (needs more testing). For seamless
-NULL cell interpolation, a small value is required and default is set to 0.005.
+NULL cell interpolation, a small value is required. The default <b>lambda</b>
+value is set to 0.01.
<p>
From a theoretical perspective, the interpolating procedure takes place in two
parts: the first is an estimate of the linear coefficients of a spline function;
=====================================
scripts/d.correlate/d.correlate.py
=====================================
@@ -67,12 +67,12 @@ def main():
stdin="%s %s" % (i, j))
line += 1
- ofile = file(tmpfile, 'w')
+ ofile = open(tmpfile, 'w')
gcore.run_command('r.stats', flags='cnA', input=(i, j),
stdout=ofile)
ofile.close()
- ifile = file(tmpfile, 'r')
+ ifile = open(tmpfile, 'r')
first = True
for l in ifile:
f = l.rstrip('\r\n').split(' ')
@@ -98,12 +98,12 @@ def main():
p = gcore.feed_command('d.graph', color=color)
ofile = p.stdin
- ifile = file(tmpfile, 'r')
+ ifile = open(tmpfile, 'r')
for l in ifile:
f = l.rstrip('\r\n').split(' ')
x = float(f[0])
y = float(f[1])
- ofile.write("icon + 0.1 %f %f\n" % ((x - minx + 1) * kx,
+ ofile.write(b"icon + 0.1 %f %f\n" % ((x - minx + 1) * kx,
(y - miny + 1) * ky))
ifile.close()
=====================================
scripts/g.extension/g.extension.py
=====================================
@@ -1535,15 +1535,15 @@ def install_extension_std_platforms(name, source, url, branch):
# get the module name: PGM = <module name>
with open(os.path.join(r, 'Makefile')) as fp:
for line in fp.readlines():
- if "PGM" in line:
+ if re.match(r'PGM.*.=|PGM=', line):
try:
modulename = line.split('=')[1].strip()
if modulename:
module_list.append(modulename)
else:
- grass.error(pgm_not_found_message)
+ grass.fatal(pgm_not_found_message)
except IndexError:
- grass.error(pgm_not_found_message)
+ grass.fatal(pgm_not_found_message)
# change shebang from python to python3
pyfiles = []
=====================================
tools/mkhtml.py
=====================================
@@ -67,6 +67,9 @@ def decode(bytes_):
return unicode(bytes_)
+html_page_footer_pages_path = os.getenv('HTML_PAGE_FOOTER_PAGES_PATH') if \
+ os.getenv('HTML_PAGE_FOOTER_PAGES_PATH') else ''
+
pgm = sys.argv[1]
src_file = "%s.html" % pgm
@@ -309,6 +312,29 @@ else:
if not re.search('<html>', src_data, re.IGNORECASE):
tmp_data = read_file(tmp_file)
+ """
+ Adjusting keywords html pages paths if add-on html man page
+ stored on the server
+ """
+ if html_page_footer_pages_path:
+ new_keywords_paths = []
+ orig_keywords_paths = re.search(
+ r'<h[1-9]>KEYWORDS</h[1-9]>(.*?)<h[1-9]>',
+ tmp_data, re.DOTALL,
+ )
+ if orig_keywords_paths:
+ search_txt = 'href="'
+ for i in orig_keywords_paths.group(1).split(','):
+ if search_txt in i:
+ index = i.index(search_txt) + len(search_txt)
+ new_keywords_paths.append(
+ i[:index] + html_page_footer_pages_path + i[index:],
+ )
+ if new_keywords_paths:
+ tmp_data = tmp_data.replace(
+ orig_keywords_paths.group(1),
+ ','.join(new_keywords_paths),
+ )
if not re.search('<html>', tmp_data, re.IGNORECASE):
sys.stdout.write(header_tmpl.substitute(PGM=pgm, PGM_DESC=pgm_desc))
if tmp_data:
@@ -404,9 +430,6 @@ else:
if sys.platform == 'win32':
url_source = url_source.replace(os.path.sep, '/')
-html_page_footer_pages_path = os.getenv('HTML_PAGE_FOOTER_PAGES_PATH') if \
- os.getenv('HTML_PAGE_FOOTER_PAGES_PATH') else ''
-
if index_name:
tree = 'grass/tree'
commits = 'grass/commits'
View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/eac0ae3f1ee799b2b1e3dbd8a0cc5cde4741d655
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/eac0ae3f1ee799b2b1e3dbd8a0cc5cde4741d655
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/20201221/03f1194d/attachment-0001.html>
More information about the Pkg-grass-devel
mailing list