Package: qlandkartegt Severity: normal Tags: patch Dear Maintainer,
qlandkartegt upstream released a new version 1.7.6 a few days ago. Unfortunately, it's still not compliant with the mapnik tile usage policy. Find attached the changes that seem useful to me: The patch where upstream removed the setting a User-Agent and the mapnik usage was reverted. In a separate patch, the User-Agent is set to QLandkarteGt everywhere. Also the update check underwent a change in upstream, the patch now defaults to "never" since Debian provides updates anyway. Status: Works for me. Regards, Christoph -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.10.29 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash (beware: Trailing whitespaces in the patch, hence sent as attachment)
diff --git a/debian/patches/01-no-updates-check.patch b/debian/patches/01-no-updates-check.patch index e88ce3b..e3db0a6 100644 --- a/debian/patches/01-no-updates-check.patch +++ b/debian/patches/01-no-updates-check.patch @@ -1,16 +1,17 @@ -Description: Fix FTBFS with libpng 1.5 +Description: Disable update check Author: Christoph Biedl <debian.packages.h...@manchmal.in-ulm.de> Forwarded: No +Last-Update: 2014-02-17 +Bug-Debian: https://bugs.debian.org/687030 -Index: qlandkartegt/src/CMainWindow.cpp -=================================================================== ---- qlandkartegt.orig/src/CMainWindow.cpp 2013-09-09 10:22:04.880448936 +0200 -+++ qlandkartegt/src/CMainWindow.cpp 2013-09-09 10:22:04.876448936 +0200 -@@ -1563,6 +1563,7 @@ - +--- a/src/CMainWindow.cpp ++++ b/src/CMainWindow.cpp +@@ -1571,7 +1571,7 @@ void CMainWindow::slotUpdate() { -+ return; - QtSoapMessage request; - request.setMethod(QtSoapQName("getlastversion", "urn:qlandkartegt")); - request.addMethodArgument("changelog", "", "0"); + SETTINGS; +- int result = cfg.value("checkVersion", -1).toInt(); ++ int result = cfg.value("checkVersion", 0).toInt(); + if(result == -1) + { + QString msg = tr( diff --git a/debian/patches/02-restore_mapnik_and_user_agent.patch b/debian/patches/02-restore_mapnik_and_user_agent.patch new file mode 100644 index 0000000..71a61b4 --- /dev/null +++ b/debian/patches/02-restore_mapnik_and_user_agent.patch @@ -0,0 +1,167 @@ +Description: Revert upstream commit r3867 + Original commit message was: + . + remove user-agent info from web requests + remove built-in mapnik osm server +Author: Christoph Biedl <debian.packages.h...@manchmal.in-ulm.de> +Forwarded: No +Last-Update: 2014-02-17 +Bug-Debian: https://bugs.debian.org/736550 + +--- a/src/CDlgEditWpt.cpp ++++ b/src/CDlgEditWpt.cpp +@@ -662,7 +662,7 @@ + pendingRequests.clear(); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(wpt.link); + networkAccessManager->get(request); + } +@@ -726,7 +726,7 @@ + QString url = re0.cap(1); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + networkAccessManager->get(request); + return; +@@ -746,7 +746,7 @@ + QString text = re2.cap(2); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + pendingRequests[networkAccessManager->get(request)] = text; + +--- a/src/CDlgMapWmsConfig.cpp ++++ b/src/CDlgMapWmsConfig.cpp +@@ -150,7 +150,7 @@ + this, SLOT(slotProxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + QUrl url(map.urlstr); + url.addQueryItem("version", map.version); + url.addQueryItem("service", "wms"); +--- a/src/CMapDB.cpp ++++ b/src/CMapDB.cpp +@@ -133,6 +133,23 @@ + { + map_t m; + ++ m.description = "OpenStreetMap"; ++ //http://a.tile.openstreetmap.de/tiles/osmde/%1/%2/%3.png ++ m.filename = "http://a.tile.openstreetmap.org/%1/%2/%3.png"; ++ m.type = IMap::eTMS; ++ m.key = QString::number(qHash(m.filename)); ++ m.copyright = "Open Street Map, Creative Commons Attribution-ShareAlike 2.0 license"; ++ knownMaps[m.key] = m; ++ builtInKeys << m.key; ++ ++ m.description = "OpenCycleMap"; ++ m.filename = "http://b.tile.opencyclemap.org/cycle/%1/%2/%3.png"; ++ m.type = IMap::eTMS; ++ m.key = QString::number(qHash(m.filename)); ++ m.copyright = "Open Street Map, Creative Commons Attribution-ShareAlike 2.0 license"; ++ knownMaps[m.key] = m; ++ builtInKeys << m.key; ++ + QStringList keys = cfg.value("tms/knownMaps").toString().split("|",QString::SkipEmptyParts); + foreach(const QString& key, keys) + { +@@ -161,7 +178,7 @@ + } + } + +- maps = cfg.value("maps/visibleMaps","").toString().split("|",QString::SkipEmptyParts); ++ maps = cfg.value("maps/visibleMaps","http://tile.openstreetmap.org/%1/%2/%3.png").toString().split("|",QString::SkipEmptyParts); + cfg.setValue("maps/visibleMaps",""); + cfg.sync(); + +--- a/src/CMapTms.cpp ++++ b/src/CMapTms.cpp +@@ -596,7 +596,7 @@ + } + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(req.url); + req.reply = accessManager->get(request); + +--- a/src/CMapWms.cpp ++++ b/src/CMapWms.cpp +@@ -610,7 +610,7 @@ + } + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(req.url); + req.reply = accessManager->get(request); + +@@ -646,7 +646,7 @@ + QUrl url(urlRedir); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + req.reply = accessManager->get(request); + +--- a/src/CRouteToolWidget.cpp ++++ b/src/CRouteToolWidget.cpp +@@ -500,7 +500,7 @@ + url.setPath("/qlandkarte/route"); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + + QNetworkReply* reply = m_networkAccessManager->post(request, array); +@@ -928,7 +928,7 @@ + // qDebug() << url.toString(); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + m_networkAccessManager->get(request); + +--- a/src/CSearchDB.cpp ++++ b/src/CSearchDB.cpp +@@ -95,7 +95,7 @@ + url.addQueryItem("sensor","false"); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager.get(request); + pendingRequests[reply] = eGoogle; +@@ -162,7 +162,7 @@ + url.setPath("/qlandkarte/geocode"); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager.post(request, array); + pendingRequests[reply] = eOpenRouteService; +--- a/src/CTrack.cpp ++++ b/src/CTrack.cpp +@@ -1006,7 +1006,7 @@ + url.addQueryItem("username",username); + + QNetworkRequest request; +- ++ request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager->get(request); + diff --git a/debian/patches/03-set_user_agent.patch b/debian/patches/03-set_user_agent.patch new file mode 100644 index 0000000..769dca4 --- /dev/null +++ b/debian/patches/03-set_user_agent.patch @@ -0,0 +1,187 @@ +Description: Set a mapnik-compliant User-Agent header +Author: Christoph Biedl <debian.packages.h...@manchmal.in-ulm.de> +Forwarded: No +Last-Update: 2014-02-17 +Bug-Debian: https://bugs.debian.org/736550 + +--- a/src/CDlgEditWpt.cpp ++++ b/src/CDlgEditWpt.cpp +@@ -27,6 +27,7 @@ + #include "IMap.h" + #include "IUnit.h" + #include "CSettings.h" ++#include "version.h" + + #include "config.h" + +@@ -662,7 +663,7 @@ + pendingRequests.clear(); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(wpt.link); + networkAccessManager->get(request); + } +@@ -726,7 +727,7 @@ + QString url = re0.cap(1); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + networkAccessManager->get(request); + return; +@@ -746,7 +747,7 @@ + QString text = re2.cap(2); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + pendingRequests[networkAccessManager->get(request)] = text; + +--- a/src/CDlgMapWmsConfig.cpp ++++ b/src/CDlgMapWmsConfig.cpp +@@ -21,6 +21,7 @@ + #include "CMapDB.h" + #include "CResources.h" + #include "CMainWindow.h" ++#include "version.h" + + #include <QtGui> + #include <QtXml> +@@ -150,7 +151,7 @@ + this, SLOT(slotProxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*))); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + QUrl url(map.urlstr); + url.addQueryItem("version", map.version); + url.addQueryItem("service", "wms"); +--- a/src/CMapWms.cpp ++++ b/src/CMapWms.cpp +@@ -24,6 +24,7 @@ + #include "CDlgMapWmsConfig.h" + #include "CMapSelectionRaster.h" + #include "CSettings.h" ++#include "version.h" + + #include <QtGui> + #include <QtXml> +@@ -610,7 +611,7 @@ + } + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(req.url); + req.reply = accessManager->get(request); + +@@ -646,7 +647,7 @@ + QUrl url(urlRedir); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + req.reply = accessManager->get(request); + +--- a/src/CRouteToolWidget.cpp ++++ b/src/CRouteToolWidget.cpp +@@ -500,7 +500,7 @@ + url.setPath("/qlandkarte/route"); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + + QNetworkReply* reply = m_networkAccessManager->post(request, array); +@@ -928,7 +928,7 @@ + // qDebug() << url.toString(); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + m_networkAccessManager->get(request); + +--- a/src/CSearchDB.cpp ++++ b/src/CSearchDB.cpp +@@ -23,6 +23,7 @@ + #include "CCanvas.h" + #include "CMapDB.h" + #include "IMap.h" ++#include "version.h" + + #include <QtGui> + #include <QtXml> +@@ -95,7 +96,7 @@ + url.addQueryItem("sensor","false"); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager.get(request); + pendingRequests[reply] = eGoogle; +@@ -162,7 +163,7 @@ + url.setPath("/qlandkarte/geocode"); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager.post(request, array); + pendingRequests[reply] = eOpenRouteService; +--- a/src/CTrack.cpp ++++ b/src/CTrack.cpp +@@ -26,6 +26,7 @@ + #include "CWptDB.h" + #include "CTrackDB.h" + #include "CSettings.h" ++#include "version.h" + + #include <QtGui> + #include <QtNetwork/QHttp> +@@ -1006,7 +1007,7 @@ + url.addQueryItem("username",username); + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(url); + QNetworkReply * reply = networkAccessManager->get(request); + +--- a/src/CMapTms.cpp ++++ b/src/CMapTms.cpp +@@ -26,6 +26,7 @@ + #include "CDlgMapTmsConfig.h" + #include "CMapSelectionRaster.h" + #include "CSettings.h" ++#include "version.h" + + #include <QtGui> + #include <QtNetwork> +@@ -596,7 +597,7 @@ + } + + QNetworkRequest request; +- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); ++ request.setRawHeader("User-Agent", "QLandkarteGT/" VER_STR); + request.setUrl(req.url); + req.reply = accessManager->get(request); + +--- a/src/CMapDB.cpp ++++ b/src/CMapDB.cpp +@@ -178,7 +178,7 @@ + } + } + +- maps = cfg.value("maps/visibleMaps","http://tile.openstreetmap.org/%1/%2/%3.png").toString().split("|",QString::SkipEmptyParts); ++ maps = cfg.value("maps/visibleMaps","http://a.tile.openstreetmap.org/%1/%2/%3.png").toString().split("|",QString::SkipEmptyParts); + cfg.setValue("maps/visibleMaps",""); + cfg.sync(); + diff --git a/debian/patches/series b/debian/patches/series index 0293d05..8f222f6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 01-no-updates-check.patch -02-set_user_agent.patch +02-restore_mapnik_and_user_agent.patch +03-set_user_agent.patch
signature.asc
Description: Digital signature