From e87720301fa697858ae0e839a29ac057cb508eaf Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 21 Dec 2016 19:13:43 +0100 Subject: Add patch 2001 to avoid cmake messing with git. --- debian/patches/2001_cmake_ignore_git.patch | 38 ++++++++++++++++++++++++++++++ debian/patches/README | 3 +++ debian/patches/series | 1 + 3 files changed, 42 insertions(+) create mode 100644 debian/patches/2001_cmake_ignore_git.patch create mode 100644 debian/patches/README create mode 100644 debian/patches/series (limited to 'debian/patches') diff --git a/debian/patches/2001_cmake_ignore_git.patch b/debian/patches/2001_cmake_ignore_git.patch new file mode 100644 index 0000000..bdbbd49 --- /dev/null +++ b/debian/patches/2001_cmake_ignore_git.patch @@ -0,0 +1,38 @@ +Description: Avoid cmake messing with git +Author: Jonas Smedegaard +Last-Update: 2016-12-21 + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -198,23 +198,6 @@ + database) + endif() + +-include(ExternalProject) +-ExternalProject_Add(catch +- GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git" +- PREFIX "external" +- UPDATE_COMMAND "" +- CONFIGURE_COMMAND "" +- BUILD_COMMAND "" +- INSTALL_COMMAND "" +- ) +-set_target_properties(catch PROPERTIES EXCLUDE_FROM_ALL TRUE) +-ExternalProject_Get_Property(catch SOURCE_DIR) +-if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp) +- target_include_directories(test_suite +- PUBLIC "${SOURCE_DIR}/include/" +- ) +- add_dependencies(test_suite catch) +-endif() + add_custom_target(check COMMAND "test_suite" "-s" + DEPENDS test_suite biboumi) + add_custom_target(e2e COMMAND "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" +@@ -258,7 +241,6 @@ + COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "${ARCHIVE_NAME}.tar.xz created." + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) +-add_dependencies(dist catch) + + add_custom_target(rpm + COMMAND mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} diff --git a/debian/patches/README b/debian/patches/README new file mode 100644 index 0000000..80c1584 --- /dev/null +++ b/debian/patches/README @@ -0,0 +1,3 @@ +0xxx: Grabbed from upstream development. +1xxx: Possibly relevant for upstream adoption. +2xxx: Only relevant for official Debian release. diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..9da3ec6 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +2001_cmake_ignore_git.patch -- cgit v1.2.3 From 50a5a9ae96f090df5481d4f178be9f5910c922cb Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 21 Dec 2016 21:42:17 +0100 Subject: Unfuzz patch 2001. --- debian/patches/2001_cmake_ignore_git.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'debian/patches') diff --git a/debian/patches/2001_cmake_ignore_git.patch b/debian/patches/2001_cmake_ignore_git.patch index bdbbd49..4334d0f 100644 --- a/debian/patches/2001_cmake_ignore_git.patch +++ b/debian/patches/2001_cmake_ignore_git.patch @@ -25,14 +25,16 @@ Last-Update: 2016-12-21 - ) - add_dependencies(test_suite catch) -endif() - add_custom_target(check COMMAND "test_suite" "-s" + add_custom_target(check COMMAND "test_suite" DEPENDS test_suite biboumi) add_custom_target(e2e COMMAND "python3" "${CMAKE_CURRENT_SOURCE_DIR}/tests/end_to_end/" -@@ -258,7 +241,6 @@ - COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "${ARCHIVE_NAME}.tar.xz created." +@@ -263,8 +246,7 @@ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) --add_dependencies(dist catch) + add_custom_target(dist +- DEPENDS ${ARCHIVE_NAME}.tar.xz +- DEPENDS catch) ++ DEPENDS ${ARCHIVE_NAME}.tar.xz) add_custom_target(rpm - COMMAND mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} + DEPENDS dist -- cgit v1.2.3 From 176a1fcdf53f54c92fbc57f49f610bb7c91ec8f4 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 21 Dec 2016 22:21:36 +0100 Subject: Add some bugfix patches cherry-picked upstream. --- debian/patches/020161125~ad22be4.patch | 38 ++++++++++++++++++++++++++++++++++ debian/patches/020161204~eb8f1cb.patch | 24 +++++++++++++++++++++ debian/patches/series | 2 ++ 3 files changed, 64 insertions(+) create mode 100644 debian/patches/020161125~ad22be4.patch create mode 100644 debian/patches/020161204~eb8f1cb.patch (limited to 'debian/patches') diff --git a/debian/patches/020161125~ad22be4.patch b/debian/patches/020161125~ad22be4.patch new file mode 100644 index 0000000..46013bc --- /dev/null +++ b/debian/patches/020161125~ad22be4.patch @@ -0,0 +1,38 @@ +Description: Do not fail to build if litesql is not there +Origin: upstream, https://lab.louiz.org/louiz/biboumi/commit/ad22be4 +Author: louiz’ +Forwarded: yes +Last-Update: 2016-12-21 + +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -12,7 +12,9 @@ + + #include + #include +-#include ++#ifdef USE_DATABASE ++# include ++#endif + + // A flag set by the SIGINT signal handler. + static std::atomic stop(false); +@@ -83,11 +85,14 @@ + if (hostname.empty()) + return config_help("hostname"); + ++ ++#ifdef USE_DATABASE + try { +- open_database(); +- } catch (const litesql::DatabaseError&) { +- return 1; +- } ++ open_database(); ++ } catch (const litesql::DatabaseError&) { ++ return 1; ++ } ++#endif + + // Block the signals we want to manage. They will be unblocked only during + // the epoll_pwait or ppoll calls. This avoids some race conditions, diff --git a/debian/patches/020161204~eb8f1cb.patch b/debian/patches/020161204~eb8f1cb.patch new file mode 100644 index 0000000..e303cbc --- /dev/null +++ b/debian/patches/020161204~eb8f1cb.patch @@ -0,0 +1,24 @@ +Description: Avoid a potential nullptr dereference +Origin: upstream, https://lab.louiz.org/louiz/biboumi/commit/eb8f1cb +Author: louiz’ +Forwarded: yes +Last-Update: 2016-12-21 + +--- a/src/xmpp/biboumi_component.cpp ++++ b/src/xmpp/biboumi_component.cpp +@@ -570,13 +570,11 @@ + Jid to(stanza.get_tag("to")); + + const XmlNode* query = stanza.get_child("query", MAM_NS); +- std::string query_id; +- if (query) +- query_id = query->get_tag("queryid"); + + Iid iid(to.local, {'#', '&'}); +- if (iid.type == Iid::Type::Channel && to.resource.empty()) ++ if (query && iid.type == Iid::Type::Channel && to.resource.empty()) + { ++ const std::string query_id = query->get_tag("queryid"); + std::string start; + std::string end; + const XmlNode* x = query->get_child("x", DATAFORM_NS); diff --git a/debian/patches/series b/debian/patches/series index 9da3ec6..66f0cf4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,3 @@ +020161125~ad22be4.patch +020161204~eb8f1cb.patch 2001_cmake_ignore_git.patch -- cgit v1.2.3 From 111e446d1d57ccc47b35f7c6fbf8bd5575d5a0a1 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 21 Dec 2016 23:59:00 +0100 Subject: Add patch 2002 to fix use C.UTF-8 as hardcoded internal locale. --- debian/patches/2002_fix_default_locale.patch | 16 ++++++++++++++++ debian/patches/series | 1 + 2 files changed, 17 insertions(+) create mode 100644 debian/patches/2002_fix_default_locale.patch (limited to 'debian/patches') diff --git a/debian/patches/2002_fix_default_locale.patch b/debian/patches/2002_fix_default_locale.patch new file mode 100644 index 0000000..aef32d9 --- /dev/null +++ b/debian/patches/2002_fix_default_locale.patch @@ -0,0 +1,16 @@ +Description: Fix use C.UTF-8 as hardcoded internal locale + Debian always provides C.UTF-8, only often en_US.UTF-8, and not en_US.utf-8. +Author: Jonas Smedegaard +Last-Update: 2016-12-21 + +--- a/louloulibs/utils/time.cpp ++++ b/louloulibs/utils/time.cpp +@@ -24,7 +24,7 @@ + std::tm t = {}; + #ifdef HAS_GET_TIME + std::istringstream ss(stamp); +- ss.imbue(std::locale("en_US.utf-8")); ++ ss.imbue(std::locale("C.UTF-8")); + + std::string timezone; + ss >> std::get_time(&t, format) >> timezone; diff --git a/debian/patches/series b/debian/patches/series index 66f0cf4..ae6b213 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ 020161125~ad22be4.patch 020161204~eb8f1cb.patch 2001_cmake_ignore_git.patch +2002_fix_default_locale.patch -- cgit v1.2.3