Package: python3-mapproxy Version: 1.11.0-3 Severity: grave Tags: patch d-i upstream Justification: renders package unusable
MapProxy does not work on Python 3.7 installs. I figured out two issues, one related to Debian installation (directory structure) and other to upstream known issue: 1. Directory structure Debian moves templates into /usr/share/python3-mapproxy/, but default template_dir variable is not changed, so Python looks for templates instead in /usr/lib/python3/dist-packages/mapproxy/. How to fix: change default directory in /usr/lib/python3/dist-packages/mapproxy/config/defaults.py 2. Upstream code is not compatible with Python 3.7 Tempia does not correctly parses function signature with recent Python versions. Likely introduced with changes in Python tokenizer package with 3.6.7. Use keyword args as workaround. This is already known bug in upstream: https://github.com/mapproxy/mapproxy/commit/81c84d47bbc77da324c36ca718fbca7dde1c1c66 How to fix: Patch according to commit https://github.com/mapproxy/mapproxy/commit/81c84d47bbc77da324c36ca718fbca7dde1c1c66 Both issues can be fixed by following patch. The issue (1) has to be checked on Python 2.7 release, as the word 'python3' is in the path and I wonder, if in Python 2.7 release it is not only 'python'. -- PATCH BEGIN -- diff -ur orig/usr/lib/python3/dist-packages/mapproxy/config/defaults.py pack/usr/lib/python3/dist-packages/mapproxy/config/defaults.py --- orig/usr/lib/python3/dist-packages/mapproxy/config/defaults.py 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3/dist-packages/mapproxy/config/defaults.py 2019-08-27 11:08:33.876870762 +0200 @@ -52,7 +52,7 @@ log_conf = 'log.ini' # directory with mapproxy/service/templates/* files -template_dir = None +template_dir = '/usr/share/python3-mapproxy/service/templates' cache = dict( base_dir = './cache_data', diff '--color=auto' -ur orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms100capabilities.xml pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms100capabilities.xml --- orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms100capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms100capabilities.xml 2019-08-27 10:51:31.792753187 +0200 @@ -66,7 +66,7 @@ </Format> </Exception> -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms110capabilities.xml pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms110capabilities.xml --- orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms110capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms110capabilities.xml 2019-08-27 10:51:59.520757176 +0200 @@ -101,7 +101,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms111capabilities.xml pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms111capabilities.xml --- orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms111capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms111capabilities.xml 2019-08-27 10:52:23.824760688 +0200 @@ -113,7 +113,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms130capabilities.xml pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms130capabilities.xml --- orig/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms130capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.6/dist-packages/mapproxy/service/templates/wms130capabilities.xml 2019-08-27 10:53:27.812770013 +0200 @@ -196,7 +196,7 @@ {{endif}} </inspire_vs:ExtendedCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} {{py: md = bunch(default='', **layer.md)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> diff '--color=auto' -ur orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms100capabilities.xml pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms100capabilities.xml --- orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms100capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms100capabilities.xml 2019-08-27 10:51:31.792753187 +0200 @@ -66,7 +66,7 @@ </Format> </Exception> -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms110capabilities.xml pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms110capabilities.xml --- orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms110capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms110capabilities.xml 2019-08-27 10:51:59.520757176 +0200 @@ -101,7 +101,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms111capabilities.xml pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms111capabilities.xml --- orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms111capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms111capabilities.xml 2019-08-27 10:52:23.824760688 +0200 @@ -113,7 +113,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms130capabilities.xml pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms130capabilities.xml --- orig/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms130capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/lib/python3.7/dist-packages/mapproxy/service/templates/wms130capabilities.xml 2019-08-27 10:53:27.812770013 +0200 @@ -196,7 +196,7 @@ {{endif}} </inspire_vs:ExtendedCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} {{py: md = bunch(default='', **layer.md)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> diff '--color=auto' -ur orig/usr/share/python3-mapproxy/service/templates/wms100capabilities.xml pack/usr/share/python3-mapproxy/service/templates/wms100capabilities.xml --- orig/usr/share/python3-mapproxy/service/templates/wms100capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/share/python3-mapproxy/service/templates/wms100capabilities.xml 2019-08-27 10:51:31.792753187 +0200 @@ -66,7 +66,7 @@ </Format> </Exception> -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/share/python3-mapproxy/service/templates/wms110capabilities.xml pack/usr/share/python3-mapproxy/service/templates/wms110capabilities.xml --- orig/usr/share/python3-mapproxy/service/templates/wms110capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/share/python3-mapproxy/service/templates/wms110capabilities.xml 2019-08-27 10:51:59.520757176 +0200 @@ -101,7 +101,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/share/python3-mapproxy/service/templates/wms111capabilities.xml pack/usr/share/python3-mapproxy/service/templates/wms111capabilities.xml --- orig/usr/share/python3-mapproxy/service/templates/wms111capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/share/python3-mapproxy/service/templates/wms111capabilities.xml 2019-08-27 10:52:23.824760688 +0200 @@ -113,7 +113,7 @@ </VendorSpecificCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> {{if layer.name}} <Name>{{ layer.name }}</Name> diff '--color=auto' -ur orig/usr/share/python3-mapproxy/service/templates/wms130capabilities.xml pack/usr/share/python3-mapproxy/service/templates/wms130capabilities.xml --- orig/usr/share/python3-mapproxy/service/templates/wms130capabilities.xml 2017-11-20 13:25:56.000000000 +0100 +++ pack/usr/share/python3-mapproxy/service/templates/wms130capabilities.xml 2019-08-27 10:53:27.812770013 +0200 @@ -196,7 +196,7 @@ {{endif}} </inspire_vs:ExtendedCapabilities> {{endif}} -{{def layer_capabilities(layer, with_srs)}} +{{def layer_capabilities(layer, with_srs=False)}} {{py: md = bunch(default='', **layer.md)}} <Layer{{if layer.queryable}} queryable="1"{{endif}}> -- PATCH END -- -- System Information: Debian Release: 10.0 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-5-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages python3-mapproxy depends on: ii fonts-dejavu-core 2.37-1 ii python3 3.7.3-1 ii python3-pil 5.4.1-2 ii python3-pkg-resources 40.8.0-1 ii python3-pyproj 1.9.6-1 ii python3-yaml 3.13-2 Versions of packages python3-mapproxy recommends: ii python3-boto3 1.9.86-1 ii python3-botocore 1.12.103+repack-1 ii python3-gdal 2.4.0+dfsg-1+b1 ii python3-lxml 4.3.2-1 ii python3-pastedeploy 2.0.1-1 ii python3-redis 3.2.1-2 ii python3-shapely 1.6.4-2 python3-mapproxy suggests no packages. -- no debconf information