Skip to content
Commits on Source (12)
......@@ -211,6 +211,8 @@ newer versions are named "python-pillow"
<a href="https://git-scm.com/">https://git-scm.com/</a><br>
</li>
<li><b>Subversion</b> (svn in g.extension to fetch code selectively from grass-addons on GitHub)<br>
<a href="https://subversion.apache.org/">https://subversion.apache.org/</a><br>
</ul>
......
......@@ -63,15 +63,16 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
"proj-bin",
"libreadline-dev",
"libsqlite3-dev",
"libwxgtk3.0-dev",
"libwxgtk3.0-gtk3-dev",
"libxmu-dev",
"python",
"python-wxgtk3.0",
"python-dev",
"python-numpy",
"python-ply",
"python-pil",
"python-six",
"python3",
"python3-wxgtk4.0",
"python3-dateutil",
"python3-dev",
"python3-numpy",
"python3-ply",
"python3-pil",
"python3-six",
"libnetcdf-dev",
"netcdf-bin",
"libblas-dev",
......
grass (7.8.0-1~bionic1) bionic; urgency=medium
* Rebuild for bionic.
-- Martin Landa <landa.martin@gmail.com> Sat, 07 Sep 2019 11:42:24 +0200
grass (7.8.0-1) unstable; urgency=medium
* New upstream release.
* Recommend both git & subversion for g.extension.
* Drop unused override for spelling-error-in-binary.
* Don't define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H, proj.h is used.
* Move from experimental to unstable.
-- Bas Couwenberg <sebastic@debian.org> Sat, 07 Sep 2019 09:31:16 +0200
grass (7.8.0~rc1-1~exp1~bionic1) bionic; urgency=medium
* Rebuild for bionic.
......@@ -22,6 +38,14 @@ grass (7.8.0~rc1-1~exp1) experimental; urgency=medium
-- Bas Couwenberg <sebastic@debian.org> Wed, 14 Aug 2019 19:47:24 +0200
grass (7.6.1-4) unstable; urgency=medium
* Update PIE hardening conditional, trusty is EOL.
* Drop unused override for spelling-error-in-binary.
* No change rebuild with PDAL 2.0.1.
-- Bas Couwenberg <sebastic@debian.org> Wed, 04 Sep 2019 19:16:06 +0200
grass (7.6.1-3) unstable; urgency=medium
* No change rebuild for PDAL mini transition.
......
......@@ -186,7 +186,8 @@ Depends: grass-core (= ${binary:Version}),
${shlibs:Depends},
${misc:Depends}
# git is needed by g.extension, a primary motivator for installing the grass-dev pkg
Recommends: git
Recommends: git,
subversion
Suggests: grass-dev-doc,
pkg-config
Description: GRASS GIS development files
......
......@@ -48,9 +48,6 @@ extra-license-file usr/share/doc/grass-core/COPYING
# Not a problem
package-contains-documentation-outside-usr-share-doc usr/lib/grass*/etc/license
# False positive, part of NormalX, NormalY, NormalZ
spelling-error-in-binary usr/lib/grass*/bin/v.in.pdal NormalY Normally
# https://trac.osgeo.org/grass/ticket/3786
file-references-package-build-path
......@@ -6,9 +6,6 @@
# Enable hardening build flags
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
# Disable PIE on Ubuntu where it's still problematic
VENDOR_DERIVES_FROM_UBUNTU ?= $(shell dpkg-vendor --derives-from Ubuntu && echo yes)
DISTRIBUTION_RELEASE := $(shell lsb_release -cs)
......
......@@ -70,6 +70,7 @@ 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
......@@ -91,23 +92,19 @@ git status
### Update VERSION file to release version number
TODO: probably better done in GH interface?!
Directly edit in GH interface:
```bash
vim include/VERSION
https://github.com/OSGeo/grass/blob/releasebranch_7_8/include/VERSION
Example:
#example:
```bash
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~~
......@@ -117,7 +114,7 @@ rm -f include/VERSION~
See https://help.github.com/en/articles/creating-releases
Done in GH interface.
Preparation:
### Changelog and tagging etc
......@@ -129,11 +126,6 @@ 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
......@@ -148,16 +140,26 @@ echo $RELEASETAG
### Tag release (on GitHub)
```bash
echo "grass_$VERSION"
echo "$VERSION"
```
Do this in https://github.com/OSGeo/grass/releases/new
Done in GH interface:
https://github.com/OSGeo/grass/releases/new
### Packaging of source code tarball
TODO: add checkout of code via release tag
TODO: add checkout of code via release tag (?)
```bash
# update from GH
# assumptions:
# - own fork as "origin"
# - remote repo as "upstream"
git fetch --all --prune && git checkout releasebranch_7_8 && \
git merge upstream/releasebranch_7_8 && git push origin releasebranch_7_8
# create source package (in the source directory):
echo grass-${VERSION}
......@@ -174,23 +176,17 @@ md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
### Reset include/VERSION file to git version:
TODO: probably better done in GH interface
Directly edit in GH interface:
```bash
vim include/VERSION
https://github.com/OSGeo/grass/blob/releasebranch_7_8/include/VERSION
Example:
#example
```bash
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
......
......@@ -101,6 +101,8 @@ ENV PACKAGES="\
openjpeg-dev \
openblas-dev \
postgresql-dev \
python3-dev \
py3-numpy-dev \
sqlite-dev \
tar \
tiff-dev \
......
......@@ -107,7 +107,7 @@ ENV PACKAGES="\
openblas-dev \
postgresql-dev \
python3-dev \
py-numpy-dev \
py3-numpy-dev \
sqlite-dev \
tar \
tiff-dev \
......
......@@ -43,7 +43,7 @@ from core.settings import UserSettings
from gui_core.gselect import Select
from gui_core.widgets import FloatValidator
from gui_core.wrap import SpinCtrl, CheckBox, TextCtrl, Button, \
BitmapButton, StaticText, StaticBox, Choice, RadioButton
BitmapButton, StaticText, StaticBox, Choice, RadioButton, EmptyImage
from animation.utils import TemporalMode, getRegisteredMaps, getNameAndLayer, getCpuCount
from animation.data import AnimationData, AnimLayer
......@@ -1085,7 +1085,7 @@ class ExportDialog(wx.Dialog):
# image
self.imageBox = wx.BoxSizer(wx.HORIZONTAL)
filetype, ltype = GetImageHandlers(wx.EmptyImage(10, 10))
filetype, ltype = GetImageHandlers(EmptyImage(10, 10))
self.browse = filebrowse.FileBrowseButton(
parent=panel, id=wx.ID_ANY, fileMask=filetype,
labelText=_("Image file:"),
......@@ -1368,7 +1368,7 @@ class ExportDialog(wx.Dialog):
def ChangeFormat(self, index):
for i, panel in enumerate(self.formatPanels):
self.formatPanelSizer.Show(item=panel, show=(i == index))
self.formatPanelSizer.Show(window=panel, show=(i == index))
self.formatPanelSizer.Layout()
def OnFont(self, event):
......
......@@ -32,7 +32,7 @@ from core.debug import Debug
from core.utils import autoCropImageFromFile
from animation.utils import HashCmd, HashCmds, GetFileFromCmd, GetFileFromCmds
from gui_core.wrap import EmptyBitmap
from gui_core.wrap import EmptyBitmap, BitmapFromImage
import grass.script.core as gcore
from grass.script.task import cmdlist_to_tuple
......@@ -308,7 +308,7 @@ class BitmapProvider:
cmdTuple[0], **cmdTuple[1])
if returncode == 0:
return wx.BitmapFromImage(autoCropImageFromFile(filename))
return BitmapFromImage(autoCropImageFromFile(filename))
else:
os.remove(filename)
raise GException(messages)
......@@ -519,7 +519,7 @@ class BitmapComposer:
self._bitmapPool[
HashCmds(
cmd_lists[i][0],
cmd_lists[i][1])] = wx.BitmapFromImage(
cmd_lists[i][1])] = BitmapFromImage(
wx.Image(filename))
os.remove(filename)
proc_count = 0
......
......@@ -265,13 +265,8 @@ def RenderText(text, font, bgcolor, fgcolor):
def WxImageToPil(image):
"""Converts wx.Image to PIL image"""
pilImage = Image.new('RGB', (image.GetWidth(), image.GetHeight()))
getattr(
pilImage,
"frombytes",
getattr(
pilImage,
"fromstring"))(
image.GetData())
getattr(pilImage, "frombytes", getattr(pilImage, "fromstring"))(
bytes(image.GetData()))
return pilImage
......
......@@ -117,7 +117,7 @@ class ProcessWorkspaceFile:
if node_lm is not None:
posAttr = node_lm.get('dim', '')
if posAttr:
posVal = map(int, posAttr.split(','))
posVal = list(map(int, posAttr.split(',')))
try:
self.layerManager['pos'] = (posVal[0], posVal[1])
self.layerManager['size'] = (posVal[2], posVal[3])
......@@ -137,7 +137,7 @@ class ProcessWorkspaceFile:
# window position and size
posAttr = display.get('dim', '')
if posAttr:
posVal = map(int, posAttr.split(','))
posVal = list(map(int, posAttr.split(',')))
try:
pos = (posVal[0], posVal[1])
size = (posVal[2], posVal[3])
......
......@@ -1465,7 +1465,7 @@ class GCP(MapFrame, ColumnSorterMixin):
if line[0] == '#' or line == '':
continue
line = line.replace('\n', '').strip()
coords = map(float, line.split())
coords = list(map(float, line.split()))
if coords[4] == 1:
check = True
self.GCPcount += 1
......
......@@ -40,7 +40,7 @@ from gui_core.gselect import Select, ElementSelect
from gmodeler.model import *
from lmgr.menudata import LayerManagerMenuData
from gui_core.wrap import Button, StaticText, StaticBox, TextCtrl, \
Menu
Menu, ListCtrl
from grass.script import task as gtask
......@@ -577,7 +577,7 @@ class ModelLoopDialog(ModelItemDialog):
cond = dialog.GetDSeries()
if not cond:
cond = 'map in %s' % map(lambda x: str(x), dialog.GetMapLayers())
cond = 'map in {}'.format(list(map(str, dialog.GetMapLayers())))
self.condText.SetValue(cond)
......@@ -671,7 +671,7 @@ class ModelConditionDialog(ModelItemDialog):
'else': self.itemListElse.GetItems()}
class ModelListCtrl(wx.ListCtrl,
class ModelListCtrl(ListCtrl,
listmix.ListCtrlAutoWidthMixin,
listmix.TextEditMixin):
......@@ -686,7 +686,7 @@ class ModelListCtrl(wx.ListCtrl,
self.frame = frame
self.columnNotEditable = columnsNotEditable
wx.ListCtrl.__init__(self, parent, id=id, style=style, **kwargs)
ListCtrl.__init__(self, parent, id=id, style=style, **kwargs)
listmix.ListCtrlAutoWidthMixin.__init__(self)
listmix.TextEditMixin.__init__(self)
......
......@@ -2018,7 +2018,7 @@ class ProcessModelFile:
pos = size = None
posAttr = node.get('pos', None)
if posAttr:
posVal = map(int, posAttr.split(','))
posVal = list(map(int, posAttr.split(',')))
try:
pos = (posVal[0], posVal[1])
except:
......@@ -2026,7 +2026,7 @@ class ProcessModelFile:
sizeAttr = node.get('size', None)
if sizeAttr:
sizeVal = map(int, sizeAttr.split(','))
sizeVal = list(map(int, sizeAttr.split(',')))
try:
size = (sizeVal[0], sizeVal[1])
except:
......
......@@ -2205,9 +2205,6 @@ class CheckListMapset(
for mapset in self.parent.all_mapsets_ordered:
# unclear why this is needed,
# wrap.ListrCtrl should do the job but it doesn't in this case
if wxPythonPhoenix:
index = self.InsertItem(self.GetItemCount(), mapset)
else:
index = self.InsertStringItem(self.GetItemCount(), mapset)
mapsetPath = os.path.join(locationPath,
mapset)
......