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


Reply via email to