Merge lp:~allison/ubuntu/precise/gpsdrive/fix-ftbfs-mapnik into lp:ubuntu/precise/gpsdrive

Proposed by Allison Randal
Status: Merged
Merged at revision: 23
Proposed branch: lp:~allison/ubuntu/precise/gpsdrive/fix-ftbfs-mapnik
Merge into: lp:ubuntu/precise/gpsdrive
Diff against target: 165 lines (+52/-10)
8 files modified
debian/README.Debian (+8/-0)
debian/changelog (+9/-0)
debian/control (+2/-2)
debian/gpsdrive-scripts.install (+1/-1)
debian/gpsdrive.install (+1/-1)
debian/patches/00list (+1/-0)
debian/patches/107-fix-disable-mapnik.dpatch (+24/-0)
debian/rules (+6/-6)
To merge this branch: bzr merge lp:~allison/ubuntu/precise/gpsdrive/fix-ftbfs-mapnik
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+84188@code.launchpad.net

Description of the change

The package 'mapnik' was updated from version 0.7.1 in oneiric (and squeeze) to version 2.0.0 in precise (and sid/wheezy). This is a major revision of Mapnik with backward-incompatible API changes (see https://github.com/mapnik/mapnik/wiki/Mapnik2).

Mapnik is an optional library for gpsdrive, so for now I have disabled it in the package configure options and removed the dependency from the packaging. I've submitted the diff upstream to Debian. I've also submitted a bug report upstream to GPSDrive, letting them know about the API changes in Mapnik.

Note, there is a Debian bug requesting to update the gpsdrive packages to the 2.11 release, however this will not help resolve the FTBFS, because 2.11 also fails to compile with mapnik version 2.0.0.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks! That looks fine, and also known/forwarded to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646446.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/README.Debian'
2--- debian/README.Debian 2008-08-31 17:40:05 +0000
3+++ debian/README.Debian 2011-12-01 23:16:27 +0000
4@@ -1,6 +1,14 @@
5 gpsdrive for Debian
6 -------------------
7
8+Using gpsdrive with mapnik 2.0
9+------------------------------
10+
11+* Gpsdrive is incompatible with the new APIs of mapnik 2.0.0. This
12+ optional library is now disabled in the package.
13+
14+ -- Allison Randal <allison@canonical.com> Thu, 01 Dec 2011 12:48:22 -0800
15+
16 Upgrading from gpsdrive 2.09 (etch)
17 -------------------------------------
18 * The mysql database schema has been changed.
19
20=== modified file 'debian/changelog'
21--- debian/changelog 2011-11-23 23:34:54 +0000
22+++ debian/changelog 2011-12-01 23:16:27 +0000
23@@ -1,3 +1,12 @@
24+gpsdrive (2.10~pre4-6.dfsg-5ubuntu4) precise; urgency=low
25+
26+ * Disable optional mapnik libraries, gpsdrive is incompatible with
27+ APIs of mapnik version 2.0.0.
28+ * debian/patches/107-fix-disable-mapnik.dpatch:
29+ Fix known bug with gpsdrive-2.10pre4 when disabling Mapnik library.
30+
31+ -- Allison Randal <allison@canonical.com> Thu, 01 Dec 2011 12:48:22 -0800
32+
33 gpsdrive (2.10~pre4-6.dfsg-5ubuntu3) precise; urgency=low
34
35 * Rebuild for libmysqlclient transition
36
37=== modified file 'debian/control'
38--- debian/control 2010-07-26 06:41:40 +0000
39+++ debian/control 2011-12-01 23:16:27 +0000
40@@ -6,7 +6,7 @@
41 Uploaders: Andreas Putzo <andreas@putzo.net>, Francesco Paolo Lovergine <frankie@debian.org>
42 DM-Upload-Allowed: yes
43 Build-Depends: debhelper (>= 7), automake1.9, libtool, pkg-config, libpcre3-dev, libgtk2.0-dev,libart-2.0-dev, libxml2-dev, libmysqlclient-dev,
44- autotools-dev, dpatch, libmapnik-dev (>= 0.6), libboost-dev, libboost-filesystem-dev, libboost-serialization-dev, libdbus-glib-1-dev
45+ autotools-dev, dpatch, libboost-dev, libboost-filesystem-dev, libboost-serialization-dev, libdbus-glib-1-dev, libltdl-dev (>= 2.4)
46 Standards-Version: 3.8.4
47 Homepage: http://gpsdrive.de
48 Vcs-Svn: svn://svn.debian.org/svn/pkg-grass/packages/gpsdrive/trunk
49@@ -40,7 +40,7 @@
50
51 Package: gpsdrive-scripts
52 Architecture: all
53-Depends: gpsdrive, ${perl:Depends}, python, python-imaging, python-mapnik, libdbi-perl, libdbd-mysql-perl, libdate-manip-perl, libfile-slurp-perl,
54+Depends: gpsdrive, ${perl:Depends}, python, python-imaging, libdbi-perl, libdbd-mysql-perl, libdate-manip-perl, libfile-slurp-perl,
55 libmime-base64-perl, libtime-local-perl, libwww-curl-perl, libwww-mechanize-perl, libxml-parser-perl, libxml-simple-perl, libxml-twig-perl,
56 libxml-writer-perl, perlmagick, perl-tk
57 Description: Various scripts for gpsdrive
58
59=== modified file 'debian/gpsdrive-scripts.install'
60--- debian/gpsdrive-scripts.install 2008-03-26 18:35:38 +0000
61+++ debian/gpsdrive-scripts.install 2011-12-01 23:16:27 +0000
62@@ -5,7 +5,7 @@
63 usr/bin/gpspoint2gpsdrive.pl
64 usr/bin/gpsreplay
65 usr/bin/poi-manager.pl
66-usr/bin/gpsdrive_mapnik_gentiles.py
67+#usr/bin/gpsdrive_mapnik_gentiles.py
68 usr/share/perl5/Geo/Filter/* usr/share/perl5/Geo/Gpsdrive/Filter
69 usr/share/perl5/Geo/GPX/* usr/share/perl5/Geo/Gpsdrive/GPX
70 usr/share/perl5/Geo/Geometry.pm usr/share/perl5/Geo/Gpsdrive
71
72=== modified file 'debian/gpsdrive.install'
73--- debian/gpsdrive.install 2008-08-31 17:40:05 +0000
74+++ debian/gpsdrive.install 2011-12-01 23:16:27 +0000
75@@ -2,5 +2,5 @@
76 usr/bin/friendsd2
77 usr/share/applications/gpsdrive.desktop
78 usr/share/gpsdrive/map_koord.txt
79-usr/share/gpsdrive/mapnik/osm.xml
80+#usr/share/gpsdrive/mapnik/osm.xml
81 usr/share/map-icons/icons.xml usr/share/gpsdrive/map-icons/
82
83=== modified file 'debian/patches/00list'
84--- debian/patches/00list 2011-07-05 12:30:16 +0000
85+++ debian/patches/00list 2011-12-01 23:16:27 +0000
86@@ -22,3 +22,4 @@
87 104-lp-325288
88 105-fix-xcursor-check.dpatch
89 106-add-boost-links.dpatch
90+107-fix-disable-mapnik.dpatch
91
92=== added file 'debian/patches/107-fix-disable-mapnik.dpatch'
93--- debian/patches/107-fix-disable-mapnik.dpatch 1970-01-01 00:00:00 +0000
94+++ debian/patches/107-fix-disable-mapnik.dpatch 2011-12-01 23:16:27 +0000
95@@ -0,0 +1,24 @@
96+#! /bin/sh /usr/share/dpatch/dpatch-run
97+## 107-disable-mapnik.dpatch by Allison Randal <allison@canonical.com>
98+##
99+## All lines beginning with `## DP:' are a description of the patch.
100+## DP: Don't call into the mapnik library APIs when mapnik is disabled.
101+
102+@DPATCH@
103+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' ftbfs-precise~/src/map_handler.c ftbfs-precise/src/map_handler.c
104+--- ftbfs-precise~/src/map_handler.c 2011-12-01 22:24:15.000000000 +0000
105++++ ftbfs-precise/src/map_handler.c 2011-12-01 22:37:16.298094236 +0000
106+@@ -660,9 +660,12 @@
107+ if (maploaded)
108+ gdk_pixbuf_unref (image);
109+
110++#ifdef MAPNIK
111+ if ( !strcmp (filename,"mapnik") ) {
112+ limage = gdk_pixbuf_new_from_data(get_mapnik_imagedata(), GDK_COLORSPACE_RGB, FALSE, 8, 1280, 1024, 1280 * 3, NULL, NULL);
113+- } else {
114++ } else
115++#endif // MAPNIK
116++ {
117+ limage = gdk_pixbuf_new_from_file (filename, NULL);
118+ if (limage == NULL)
119+ {
120
121=== modified file 'debian/rules'
122--- debian/rules 2010-02-04 16:53:01 +0000
123+++ debian/rules 2011-12-01 23:16:27 +0000
124@@ -13,7 +13,7 @@
125 DEB_UPSTREAM_VERSION := 2.10~pre4-6.dfsg
126 UPSTREAM_VERSION := 2.10pre4
127 DESTDIR := ${CURDIR}/debian/tmp
128-MAPNIK_PATH = $(shell mapnik-plugin-base)
129+# MAPNIK_PATH = $(shell mapnik-plugin-base)
130
131 CFLAGS = -Wall -g
132 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
133@@ -51,7 +51,7 @@
134 libtoolize -i -f
135 ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
136 --prefix=/usr \
137- --enable-mapnik \
138+ --disable-mapnik \
139 --enable-dbus \
140 CFLAGS="$(CFLAGS)"
141
142@@ -90,11 +90,11 @@
143 install-poiDATA \
144 install-mapsDATA \
145 DESTDIR=$(DESTDIR)
146- install -d $(CURDIR)/debian/tmp/usr/share/gpsdrive/mapnik
147- install -m 644 $(CURDIR)/scripts/mapnik/osm.xml $(CURDIR)/debian/tmp/usr/share/gpsdrive/mapnik/osm.xml
148+ # install -d $(CURDIR)/debian/tmp/usr/share/gpsdrive/mapnik
149+ # install -m 644 $(CURDIR)/scripts/mapnik/osm.xml $(CURDIR)/debian/tmp/usr/share/gpsdrive/mapnik/osm.xml
150 install -d $(CURDIR)/debian/tmp/usr/share/map-icons
151 install -m 644 $(CURDIR)/data/map-icons/icons.xml $(CURDIR)/debian/tmp/usr/share/map-icons/icons.xml
152- $(MAKE) -C scripts/mapnik/ install DESTDIR=$(DESTDIR)
153+ # $(MAKE) -C scripts/mapnik/ install DESTDIR=$(DESTDIR)
154 $(MAKE) -C src/ install DESTDIR=$(DESTDIR)
155
156 install-indep: build-indep
157@@ -116,7 +116,7 @@
158 # strip language extensions
159 mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/convert-waypoints.pl $(CURDIR)/debian/gpsdrive-scripts/usr/bin/convert-waypoints
160 mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/geoinfo.pl $(CURDIR)/debian/gpsdrive-scripts/usr/bin/geoinfo
161- mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpsdrive_mapnik_gentiles.py $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpsdrive_mapnik_gentiles
162+ # mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpsdrive_mapnik_gentiles.py $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpsdrive_mapnik_gentiles
163 mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpspoint2gpsdrive.pl $(CURDIR)/debian/gpsdrive-scripts/usr/bin/gpspoint2gpsdrive
164 mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/bin/poi-manager.pl $(CURDIR)/debian/gpsdrive-scripts/usr/bin/poi-manager
165 mv -f $(CURDIR)/debian/gpsdrive-scripts/usr/share/man/man1/convert-waypoints.pl.1.gz \

Subscribers

People subscribed via source and target branches