Hello community, here is the log from the commit of package twinkle for openSUSE:Factory checked in at 2016-01-09 23:13:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/twinkle (Old) and /work/SRC/openSUSE:Factory/.twinkle.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "twinkle" Changes: -------- --- /work/SRC/openSUSE:Factory/twinkle/twinkle.changes 2015-10-12 10:02:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.twinkle.new/twinkle.changes 2016-01-09 23:13:49.000000000 +0100 @@ -1,0 +2,8 @@ +Thu Jan 7 12:58:30 UTC 2016 - [email protected] + +- fix-build-with-ucommon-7.0.patch: + fix build with ucommon 7.0 +- reorder patches so that the optional gcc 4.8 workaround comes + after normal patches + +------------------------------------------------------------------- New: ---- fix-build-with-ucommon-7.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ twinkle.spec ++++++ --- /var/tmp/diff_new_pack.hn2nBN/_old 2016-01-09 23:13:50.000000000 +0100 +++ /var/tmp/diff_new_pack.hn2nBN/_new 2016-01-09 23:13:50.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package twinkle # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -53,9 +53,11 @@ Version: 1.9.0 Release: 0 Source: %{name}-%{version}.tar.xz -Patch11: Revert-Build-fix-for-a-probably-broken-std-match_res.patch -Patch12: Revert-Replaced-Boost-regex-dependency-with-C-11-reg.patch -Patch13: twinkle-no-return-in-nonvoid-function.patch +Patch1: twinkle-no-return-in-nonvoid-function.patch +Patch2: fix-build-with-ucommon-7.0.patch +# workaround for broken std::regex in gcc 4.8; please keep at the end +Patch91: Revert-Build-fix-for-a-probably-broken-std-match_res.patch +Patch92: Revert-Replaced-Boost-regex-dependency-with-C-11-reg.patch Url: https://twinkle.dolezel.info/ %description @@ -64,12 +66,13 @@ %prep %setup -q +%patch1 -p1 +%patch2 -p1 # workaround for broken std::regex in gcc 4.8 %if 0%{?suse_version} <= 1320 -%patch11 -p1 -%patch12 -p1 +%patch91 -p1 +%patch92 -p1 %endif -%patch13 -p1 %build %cmake \ ++++++ fix-build-with-ucommon-7.0.patch ++++++ From: Michal Kubecek <[email protected]> Date: Thu, 7 Jan 2016 11:22:16 +0100 Subject: fix build with ucommon 7.0 New version of ucommon adds some restriction to Digest class which break the way twinkle is using it: - proper initialization using constructor is needed - c_str() method is gone; fortunately, str() result can be used to initialize std::string instead Neither of these changes breaks build with ucommon 6.x. --- src/parser/request.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/parser/request.cpp b/src/parser/request.cpp index 550a011e4c06..348d679a5ac7 100644 --- a/src/parser/request.cpp +++ b/src/parser/request.cpp @@ -207,19 +207,19 @@ bool t_request::authorize_md5(const t_digest_challenge &dchlg, A2 = method2str(method, unknown_method) + ":" + uri.encode(); A2 += ":"; if (body) { - digest_t MD5body = "md5"; + digest_t MD5body("md5"); MD5body.puts(body->encode().c_str()); - A2 += std::string(MD5body.c_str()); + A2 += std::string(MD5body.str()); } else { - digest_t MD5body = "md5"; + digest_t MD5body("md5"); MD5body.puts(""); - A2 += std::string(MD5body.c_str()); + A2 += std::string(MD5body.str()); } } // RFC 2716 3.2.2.1 // Caculate digest - digest_t MD5A1 = "md5"; - digest_t MD5A2 = "md5"; + digest_t MD5A1("md5"); + digest_t MD5A2("md5"); MD5A1.puts(A1.c_str()); MD5A2.puts(A2.c_str()); @@ -227,24 +227,24 @@ bool t_request::authorize_md5(const t_digest_challenge &dchlg, std::string x; if (cmp_nocase(qop, QOP_AUTH) == 0 || cmp_nocase(qop, QOP_AUTH_INT) == 0) { - x = std::string(MD5A1.c_str()); + x = std::string(MD5A1.str()); x += ":"; x += dchlg.nonce + ":"; x += int2str(nc, "%08x") + ":"; x += cnonce + ":"; x += qop + ":"; - x += std::string(MD5A2.c_str()); + x += std::string(MD5A2.str()); } else { - x = std::string(MD5A1.c_str()); + x = std::string(MD5A1.str()); x += ":"; x += dchlg.nonce + ":"; - x += std::string(MD5A2.c_str()); + x += std::string(MD5A2.str()); } - digest_t digest = "md5"; + digest_t digest("md5"); digest.puts(x.c_str()); - resp = std::string(digest.c_str()); + resp = std::string(digest.str()); return true; } -- 2.7.0
