[SCM] mapnik branch, master, updated. debian/0.7.1-2-3-g30de417
David Paleino
dapal at debian.org
Tue May 3 09:04:09 UTC 2011
The following commit has been merged in the master branch:
commit 30de4173fa92840cfe24f80078b3bcd9acb85812
Author: David Paleino <dapal at debian.org>
Date: Tue May 3 11:03:47 2011 +0200
04-port_to_new_boost.patch fixes FTBFS with newer Boost::Filesystem, backported from upstream, thanks to Dane Springmeyer (Closes: #624934)
diff --git a/debian/changelog b/debian/changelog
index 1ccbbda..f1f341a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mapnik (0.7.1-4) UNRELEASED; urgency=low
+
+ * 04-port_to_new_boost.patch fixes FTBFS with newer Boost::Filesystem,
+ backported from upstream, thanks to Dane Springmeyer (Closes: #624934)
+
+ -- David Paleino <dapal at debian.org> Tue, 03 May 2011 11:03:15 +0200
+
mapnik (0.7.1-3) unstable; urgency=low
* Compile using internal copy of libagg. (Closes: #603470)
diff --git a/debian/patches/04-port_to_new_boost.patch b/debian/patches/04-port_to_new_boost.patch
new file mode 100644
index 0000000..c4c9b14
--- /dev/null
+++ b/debian/patches/04-port_to_new_boost.patch
@@ -0,0 +1,99 @@
+From: Dane Springmeyer <dbsgeo at gmail.com>
+Origin: upstream, http://trac.mapnik.org/changeset/2506/branches/0.7.2-dev
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624934
+Forwarded: not-needed
+
+---
+ src/datasource_cache.cpp | 28 +++++++++++++++++++++-------
+ src/load_map.cpp | 5 +++++
+ 2 files changed, 26 insertions(+), 7 deletions(-)
+
+--- mapnik.orig/src/datasource_cache.cpp
++++ mapnik/src/datasource_cache.cpp
+@@ -40,8 +40,8 @@
+
+ namespace mapnik
+ {
+- using namespace std;
+- using namespace boost;
++// using namespace std;
++// using namespace boost;
+
+ bool is_input_plugin (std::string const& filename)
+ {
+@@ -72,7 +72,7 @@ namespace mapnik
+ }
+
+ datasource_ptr ds;
+- map<string,boost::shared_ptr<PluginInfo> >::iterator itr=plugins_.find(*type);
++ std::map<string,boost::shared_ptr<PluginInfo> >::iterator itr=plugins_.find(*type);
+ if ( itr == plugins_.end() )
+ {
+ throw config_error(string("Could not create datasource. No plugin ") +
+@@ -131,25 +131,33 @@ namespace mapnik
+ mutex::scoped_lock lock(mapnik::singleton<mapnik::datasource_cache,
+ mapnik::CreateStatic>::mutex_);
+ #endif
+- filesystem::path path(str);
+- filesystem::directory_iterator end_itr;
++ boost::filesystem::path path(str);
++ boost::filesystem::directory_iterator end_itr;
+
+
+ if (exists(path) && is_directory(path))
+ {
+- for (filesystem::directory_iterator itr(path);itr!=end_itr;++itr )
++ for (boost::filesystem::directory_iterator itr(path);itr!=end_itr;++itr )
+ {
+
+ #if BOOST_VERSION < 103400
+ if (!is_directory( *itr ) && is_input_plugin(itr->leaf()))
+ #else
++#if (BOOST_FILESYSTEM_VERSION == 3)
++ if (!is_directory( *itr ) && is_input_plugin(itr->path().filename().string()))
++#else // v2
+ if (!is_directory( *itr ) && is_input_plugin(itr->path().leaf()))
+ #endif
++#endif
+
+ {
+ try
+ {
++#if (BOOST_FILESYSTEM_VERSION == 3)
++ lt_dlhandle module = lt_dlopen(itr->path().string().c_str());
++#else // v2
+ lt_dlhandle module=lt_dlopen(itr->string().c_str());
++#endif
+ if (module)
+ {
+ datasource_name* ds_name =
+@@ -164,7 +172,13 @@ namespace mapnik
+ }
+ else
+ {
+- std::clog << "Problem loading plugin library: " << itr->string().c_str() << " (libtool error: " << lt_dlerror() << ")" << std::endl;
++#if (BOOST_FILESYSTEM_VERSION == 3)
++ std::clog << "Problem loading plugin library: " << itr->path().string()
++ << " (dlopen failed - plugin likely has an unsatisfied dependency or incompatible ABI)" << std::endl;
++#else // v2
++ std::clog << "Problem loading plugin library: " << itr->string()
++ << " (dlopen failed - plugin likely has an unsatisfied dependency or incompatible ABI)" << std::endl;
++#endif
+ }
+ }
+ catch (...) {}
+--- mapnik.orig/src/load_map.cpp
++++ mapnik/src/load_map.cpp
+@@ -1590,7 +1590,12 @@ std::string map_parser::ensure_relative_
+ boost::filesystem::path xml_path = filename_;
+ boost::filesystem::path rel_path = *opt_path;
+ if ( !rel_path.has_root_path() ) {
++#if (BOOST_FILESYSTEM_VERSION == 3)
++ boost::filesystem::path full = boost::filesystem::absolute(xml_path.branch_path()/rel_path).normalize();
++#else // v2
+ boost::filesystem::path full = boost::filesystem::complete(xml_path.branch_path()/rel_path).normalize();
++#endif
++
+ #ifdef MAPNIK_DEBUG
+ std::clog << "\nModifying relative paths to be relative to xml...\n";
+ std::clog << "original base path: " << *opt_path << "\n";
diff --git a/debian/patches/series b/debian/patches/series
index bb7c079..cade5c7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
01-generate_local_docs.patch
02-fix_FTBFS_binutils-gold.patch
03-fix_ImportError_mips.patch
+04-port_to_new_boost.patch
--
C++/Python toolkit for developing GIS applications
More information about the Pkg-grass-devel
mailing list