[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#857180: marked as done (unblock: libosmium/2.11.1-1)



Your message dated Wed, 08 Mar 2017 17:34:52 +0000
with message-id <E1clfUC-0006Ga-VU@respighi.debian.org>
and subject line unblock libosmium
has caused the Debian Bug report #857180,
regarding unblock: libosmium/2.11.1-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
857180: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857180
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package libosmium

Upstream has only fixed bugs for this release in line with the freeze policy.

unblock libosmium/2.11.1-1
diff -Nru libosmium-2.11.0/CHANGELOG.md libosmium-2.11.1/CHANGELOG.md
--- libosmium-2.11.0/CHANGELOG.md	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/CHANGELOG.md	2017-03-07 13:54:48.000000000 +0100
@@ -6,12 +6,18 @@
 
 ## [unreleased] -
 
-### Added
+### Fixed
 
-### Changed
+
+## [2.11.1] - 2017-03-07
 
 ### Fixed
 
+- Terminate called on full non-auto-growing buffer. (Issue #189.)
+- When file formats were used that were not compiled into the binary, it
+  terminated instead of throwing. (Issue #197.)
+- The `Filter::count()` method didn't compile at all.
+
 
 ## [2.11.0] - 2017-01-14
 
@@ -525,7 +531,9 @@
   Doxygen (up to version 1.8.8). This version contains a workaround to fix
   this.
 
-[unreleased]: https://github.com/osmcode/libosmium/compare/v2.10.3...HEAD
+[unreleased]: https://github.com/osmcode/libosmium/compare/v2.11.1...HEAD
+[2.11.1]: https://github.com/osmcode/libosmium/compare/v2.11.0...v2.11.1
+[2.11.0]: https://github.com/osmcode/libosmium/compare/v2.10.3...v2.11.0
 [2.10.3]: https://github.com/osmcode/libosmium/compare/v2.10.2...v2.10.3
 [2.10.2]: https://github.com/osmcode/libosmium/compare/v2.10.1...v2.10.2
 [2.10.1]: https://github.com/osmcode/libosmium/compare/v2.10.0...v2.10.1
diff -Nru libosmium-2.11.0/CMakeLists.txt libosmium-2.11.1/CMakeLists.txt
--- libosmium-2.11.0/CMakeLists.txt	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/CMakeLists.txt	2017-03-07 13:54:48.000000000 +0100
@@ -25,7 +25,7 @@
 
 set(LIBOSMIUM_VERSION_MAJOR 2)
 set(LIBOSMIUM_VERSION_MINOR 11)
-set(LIBOSMIUM_VERSION_PATCH 0)
+set(LIBOSMIUM_VERSION_PATCH 1)
 
 set(LIBOSMIUM_VERSION
     "${LIBOSMIUM_VERSION_MAJOR}.${LIBOSMIUM_VERSION_MINOR}.${LIBOSMIUM_VERSION_PATCH}")
diff -Nru libosmium-2.11.0/debian/changelog libosmium-2.11.1/debian/changelog
--- libosmium-2.11.0/debian/changelog	2017-01-17 18:29:43.000000000 +0100
+++ libosmium-2.11.1/debian/changelog	2017-03-07 18:31:00.000000000 +0100
@@ -1,3 +1,17 @@
+libosmium (2.11.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+    - Fix the Filter::count() method.
+    - Bugfix: Terminate called on full buffer.
+      See: https://github.com/osmcode/libosmium/issues/189
+    - Add test for not correctly handled unsupported_file_format_error.
+      See: https://github.com/osmcode/libosmium/issues/197
+    - Bugfix: Call get_creator_function() in main thread.
+      See: https://github.com/osmcode/libosmium/issues/197
+  * Update gbp.conf to use upstream-2.11 branch.
+
+ -- Bas Couwenberg <sebastic@debian.org>  Tue, 07 Mar 2017 18:31:00 +0100
+
 libosmium (2.11.0-1) unstable; urgency=medium
 
   * Move from experimental to unstable.
diff -Nru libosmium-2.11.0/debian/gbp.conf libosmium-2.11.1/debian/gbp.conf
--- libosmium-2.11.0/debian/gbp.conf	2016-11-26 10:23:21.000000000 +0100
+++ libosmium-2.11.1/debian/gbp.conf	2017-03-07 18:31:00.000000000 +0100
@@ -2,7 +2,7 @@
 
 # The default name for the upstream branch is "upstream".
 # Change it if the name is different (for instance, "master").
-upstream-branch = upstream
+upstream-branch = upstream-2.11
 
 # The default name for the Debian branch is "master".
 # Change it if the name is different (for instance, "debian/unstable").
diff -Nru libosmium-2.11.0/include/osmium/builder/builder.hpp libosmium-2.11.1/include/osmium/builder/builder.hpp
--- libosmium-2.11.0/include/osmium/builder/builder.hpp	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/include/osmium/builder/builder.hpp	2017-03-07 13:54:48.000000000 +0100
@@ -168,6 +168,20 @@
             }
 
             /**
+             * Append data to buffer and append an additional \0.
+             *
+             * @param data Pointer to data.
+             * @param length Length of data in bytes.
+             * @returns The number of bytes appended (length + 1).
+             */
+            osmium::memory::item_size_type append_with_zero(const char* data, const osmium::memory::item_size_type length) {
+                unsigned char* target = reserve_space(length + 1);
+                std::copy_n(reinterpret_cast<const unsigned char*>(data), length, target);
+                target[length] = '\0';
+                return length + 1;
+            }
+
+            /**
              * Append \0-terminated string to buffer.
              *
              * @param str \0-terminated string.
@@ -180,9 +194,11 @@
             /**
              * Append '\0' to the buffer.
              *
+             * @deprecated Use append_with_zero() instead.
+             *
              * @returns The number of bytes appended (always 1).
              */
-            osmium::memory::item_size_type append_zero() {
+            OSMIUM_DEPRECATED osmium::memory::item_size_type append_zero() {
                 *reserve_space(1) = '\0';
                 return 1;
             }
diff -Nru libosmium-2.11.0/include/osmium/builder/osm_object_builder.hpp libosmium-2.11.1/include/osmium/builder/osm_object_builder.hpp
--- libosmium-2.11.0/include/osmium/builder/osm_object_builder.hpp	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/include/osmium/builder/osm_object_builder.hpp	2017-03-07 13:54:48.000000000 +0100
@@ -99,7 +99,8 @@
                 if (std::strlen(value) > osmium::max_osm_string_length) {
                     throw std::length_error("OSM tag value is too long");
                 }
-                add_size(append(key) + append(value));
+                add_size(append(key));
+                add_size(append(value));
             }
 
             /**
@@ -117,8 +118,8 @@
                 if (value_length > osmium::max_osm_string_length) {
                     throw std::length_error("OSM tag value is too long");
                 }
-                add_size(append(key,   osmium::memory::item_size_type(key_length))   + append_zero() +
-                         append(value, osmium::memory::item_size_type(value_length)) + append_zero());
+                add_size(append_with_zero(key,   osmium::memory::item_size_type(key_length)));
+                add_size(append_with_zero(value, osmium::memory::item_size_type(value_length)));
             }
 
             /**
@@ -134,8 +135,8 @@
                 if (value.size() > osmium::max_osm_string_length) {
                     throw std::length_error("OSM tag value is too long");
                 }
-                add_size(append(key.data(),   osmium::memory::item_size_type(key.size())   + 1) +
-                         append(value.data(), osmium::memory::item_size_type(value.size()) + 1));
+                add_size(append(key.data(),   osmium::memory::item_size_type(key.size())   + 1));
+                add_size(append(value.data(), osmium::memory::item_size_type(value.size()) + 1));
             }
 
             /**
@@ -144,7 +145,8 @@
              * @param tag Tag.
              */
             void add_tag(const osmium::Tag& tag) {
-                add_size(append(tag.key()) + append(tag.value()));
+                add_size(append(tag.key()));
+                add_size(append(tag.value()));
             }
 
             /**
@@ -226,7 +228,7 @@
                     throw std::length_error("OSM relation member role is too long");
                 }
                 member.set_role_size(osmium::string_size_type(length) + 1);
-                add_size(append(role, osmium::memory::item_size_type(length)) + append_zero());
+                add_size(append_with_zero(role, osmium::memory::item_size_type(length)));
                 add_padding(true);
             }
 
@@ -310,7 +312,7 @@
                     throw std::length_error("OSM user name is too long");
                 }
                 comment.set_user_size(osmium::string_size_type(length) + 1);
-                add_size(append(user, osmium::memory::item_size_type(length)) + append_zero());
+                add_size(append_with_zero(user, osmium::memory::item_size_type(length)));
             }
 
             void add_text(osmium::ChangesetComment& comment, const char* text, const size_t length) {
@@ -322,7 +324,7 @@
                     throw std::length_error("OSM changeset comment is too long");
                 }
                 comment.set_text_size(osmium::string_size_type(length) + 1);
-                add_size(append(text, osmium::memory::item_size_type(length)) + append_zero());
+                add_size(append_with_zero(text, osmium::memory::item_size_type(length)));
                 add_padding(true);
             }
 
diff -Nru libosmium-2.11.0/include/osmium/io/reader.hpp libosmium-2.11.1/include/osmium/io/reader.hpp
--- libosmium-2.11.0/include/osmium/io/reader.hpp	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/include/osmium/io/reader.hpp	2017-03-07 13:54:48.000000000 +0100
@@ -92,6 +92,8 @@
 
             osmium::io::File m_file;
 
+            detail::ParserFactory::create_parser_type m_creator;
+
             enum class status {
                 okay   = 0, // normal reading
                 error  = 1, // some error occurred while reading
@@ -128,13 +130,12 @@
             }
 
             // This function will run in a separate thread.
-            static void parser_thread(const osmium::io::File& file,
+            static void parser_thread(const detail::ParserFactory::create_parser_type& creator,
                                       detail::future_string_queue_type& input_queue,
                                       detail::future_buffer_queue_type& osmdata_queue,
                                       std::promise<osmium::io::Header>&& header_promise,
                                       osmium::io::detail::reader_options options) {
                 std::promise<osmium::io::Header> promise = std::move(header_promise);
-                const auto creator = detail::ParserFactory::instance().get_creator_function(file);
                 const auto parser = creator(input_queue, osmdata_queue, promise, options);
                 parser->parse();
             }
@@ -236,6 +237,7 @@
             template <typename... TArgs>
             explicit Reader(const osmium::io::File& file, TArgs&&... args) :
                 m_file(file.check()),
+                m_creator(detail::ParserFactory::instance().get_creator_function(m_file)),
                 m_status(status::okay),
                 m_childpid(0),
                 m_input_queue(detail::get_input_queue_size(), "raw_input"),
@@ -256,7 +258,7 @@
 
                 std::promise<osmium::io::Header> header_promise;
                 m_header_future = header_promise.get_future();
-                m_thread = osmium::thread::thread_handler{parser_thread, std::ref(m_file), std::ref(m_input_queue), std::ref(m_osmdata_queue), std::move(header_promise), m_options};
+                m_thread = osmium::thread::thread_handler{parser_thread, std::ref(m_creator), std::ref(m_input_queue), std::ref(m_osmdata_queue), std::move(header_promise), m_options};
             }
 
             template <typename... TArgs>
diff -Nru libosmium-2.11.0/include/osmium/tags/filter.hpp libosmium-2.11.1/include/osmium/tags/filter.hpp
--- libosmium-2.11.0/include/osmium/tags/filter.hpp	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/include/osmium/tags/filter.hpp	2017-03-07 13:54:48.000000000 +0100
@@ -140,7 +140,7 @@
              * Return the number of rules in this filter.
              */
             size_t count() const {
-                return m_rules.count();
+                return m_rules.size();
             }
 
             /**
diff -Nru libosmium-2.11.0/include/osmium/version.hpp libosmium-2.11.1/include/osmium/version.hpp
--- libosmium-2.11.0/include/osmium/version.hpp	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/include/osmium/version.hpp	2017-03-07 13:54:48.000000000 +0100
@@ -35,8 +35,8 @@
 
 #define LIBOSMIUM_VERSION_MAJOR 2
 #define LIBOSMIUM_VERSION_MINOR 11
-#define LIBOSMIUM_VERSION_PATCH 0
+#define LIBOSMIUM_VERSION_PATCH 1
 
-#define LIBOSMIUM_VERSION_STRING "2.11.0"
+#define LIBOSMIUM_VERSION_STRING "2.11.1"
 
 #endif // OSMIUM_VERSION_HPP
diff -Nru libosmium-2.11.0/test/CMakeLists.txt libosmium-2.11.1/test/CMakeLists.txt
--- libosmium-2.11.0/test/CMakeLists.txt	2017-01-14 11:50:34.000000000 +0100
+++ libosmium-2.11.1/test/CMakeLists.txt	2017-03-07 13:54:48.000000000 +0100
@@ -167,6 +167,7 @@
 add_unit_test(io test_bzip2 ENABLE_IF ${BZIP2_FOUND} LIBS ${BZIP2_LIBRARIES})
 add_unit_test(io test_file_formats)
 add_unit_test(io test_reader LIBS "${OSMIUM_XML_LIBRARIES};${OSMIUM_PBF_LIBRARIES}")
+add_unit_test(io test_reader_fileformat ENABLE_IF ${Threads_FOUND} LIBS ${CMAKE_THREAD_LIBS_INIT})
 add_unit_test(io test_reader_with_mock_decompression ENABLE_IF ${Threads_FOUND} LIBS ${OSMIUM_XML_LIBRARIES})
 add_unit_test(io test_reader_with_mock_parser ENABLE_IF ${Threads_FOUND} LIBS ${CMAKE_THREAD_LIBS_INIT})
 add_unit_test(io test_opl_parser)
diff -Nru libosmium-2.11.0/test/t/io/test_reader_fileformat.cpp libosmium-2.11.1/test/t/io/test_reader_fileformat.cpp
--- libosmium-2.11.0/test/t/io/test_reader_fileformat.cpp	1970-01-01 01:00:00.000000000 +0100
+++ libosmium-2.11.1/test/t/io/test_reader_fileformat.cpp	2017-03-07 13:54:48.000000000 +0100
@@ -0,0 +1,10 @@
+
+#include "catch.hpp"
+#include "utils.hpp"
+
+#include <osmium/io/reader.hpp>
+
+TEST_CASE("Reader throws on unsupported file format") {
+    REQUIRE_THROWS_AS(osmium::io::Reader{with_data_dir("t/io/data.osm")}, osmium::unsupported_file_format_error);
+}
+

--- End Message ---
--- Begin Message ---
Unblocked libosmium.

--- End Message ---

Reply to: