Bug#860299: unblock: osm2pgsql/0.92.0+ds-2
Bas Couwenberg
sebastic at xs4all.nl
Fri Apr 14 08:53:37 UTC 2017
Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
Please unblock package osm2pgsql
It fixes two important issues reported to me by one of the developers
one was also reported in #860273.
unblock osm2pgsql/0.92.0+ds-2
Kind Regards,
Bas
-------------- next part --------------
diff -Nru osm2pgsql-0.92.0+ds/debian/changelog osm2pgsql-0.92.0+ds/debian/changelog
--- osm2pgsql-0.92.0+ds/debian/changelog 2016-12-16 11:34:24.000000000 +0100
+++ osm2pgsql-0.92.0+ds/debian/changelog 2017-04-13 23:00:11.000000000 +0200
@@ -1,3 +1,18 @@
+osm2pgsql (0.92.0+ds-2) unstable; urgency=medium
+
+ * Add upstream patches from 0.92.x branch to fix two important issues:
+ - Ignore relations with more than 32k members.
+ There is a hard restriction in the pgsql middle tables, where
+ relation members are indexed using a smallint. To remain
+ consistent, drop all relations which exceed this size.
+ https://github.com/openstreetmap/osm2pgsql/issues/713
+ - Use the same logic for queuing pending ways with multi and pgsql.
+ Fixes ways disappearing from the output table.
+ https://github.com/openstreetmap/osm2pgsql/issues/735
+ (closes: #860273)
+
+ -- Bas Couwenberg <sebastic at debian.org> Thu, 13 Apr 2017 23:00:11 +0200
+
osm2pgsql (0.92.0+ds-1) unstable; urgency=medium
* New upstream release.
diff -Nru osm2pgsql-0.92.0+ds/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch osm2pgsql-0.92.0+ds/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch
--- osm2pgsql-0.92.0+ds/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-0.92.0+ds/debian/patches/0001-ignore-relations-with-more-than-32k-members.patch 2017-04-13 22:55:58.000000000 +0200
@@ -0,0 +1,20 @@
+Description: ignore relations with more than 32k members
+ There is a hard restriction in the pgsql middle tables, where
+ relation members are indexed using a smallint. To remain
+ consistent, drop all relations which exceed this size.
+Author: Sarah Hoffmann <lonvia at denofr.de>
+Origin: https://github.com/openstreetmap/osm2pgsql/commit/ec9c84edbcbd0dafab6d6c30290083e75c023890
+Bug: https://github.com/openstreetmap/osm2pgsql/issues/713
+
+--- a/parse-osmium.cpp
++++ b/parse-osmium.cpp
+@@ -176,6 +176,9 @@ void parse_osmium_t::relation(osmium::Re
+ if (rel.deleted()) {
+ m_data->relation_delete(rel.id());
+ } else {
++ if (rel.members().size() > 32767) {
++ return;
++ }
+ convert_tags(rel);
+ convert_members(rel.members());
+ if (m_append) {
diff -Nru osm2pgsql-0.92.0+ds/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch osm2pgsql-0.92.0+ds/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch
--- osm2pgsql-0.92.0+ds/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-0.92.0+ds/debian/patches/0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch 2017-04-13 23:00:11.000000000 +0200
@@ -0,0 +1,27 @@
+Description: Use the same logic for queuing pending ways with multi and pgsql
+ Fixes ways disappearing from the output table.
+Author: Paul Norman <penorman at mac.com>
+Origin: https://github.com/openstreetmap/osm2pgsql/commit/8ffe16e67da43fd531a5e73b10d31465324f4a91
+Bug: https://github.com/openstreetmap/osm2pgsql/issues/735
+Bug-Debian: https://bugs.debian.org/860273
+
+--- a/output-multi.cpp
++++ b/output-multi.cpp
+@@ -92,7 +92,7 @@ void output_multi_t::enqueue_ways(pendin
+ }
+
+ //make sure to get this one as well and move to the next
+- if(popped == id) {
++ if (popped > id) {
+ if (!ways_done_tracker->is_marked(popped) && id_tracker::is_valid(popped)) {
+ job_queue.push(pending_job_t(popped, output_id));
+ added++;
+@@ -143,7 +143,7 @@ void output_multi_t::enqueue_relations(p
+ }
+
+ //make sure to get this one as well and move to the next
+- if(popped == id) {
++ if (popped > id) {
+ if(id_tracker::is_valid(popped)) {
+ job_queue.push(pending_job_t(popped, output_id));
+ added++;
diff -Nru osm2pgsql-0.92.0+ds/debian/patches/series osm2pgsql-0.92.0+ds/debian/patches/series
--- osm2pgsql-0.92.0+ds/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ osm2pgsql-0.92.0+ds/debian/patches/series 2017-04-13 22:55:55.000000000 +0200
@@ -0,0 +1,2 @@
+0001-ignore-relations-with-more-than-32k-members.patch
+0001-Use-the-same-logic-for-queuing-pending-ways-with-mul.patch
More information about the Pkg-grass-devel
mailing list