openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2017
- 1 participants
- 1918 discussions
Hello community,
here is the log from the commit of package fflas-ffpack for openSUSE:Factory checked in at 2017-01-29 10:35:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fflas-ffpack (Old)
and /work/SRC/openSUSE:Factory/.fflas-ffpack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fflas-ffpack"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fflas-ffpack/fflas-ffpack.changes 2016-11-04 21:00:20.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fflas-ffpack.new/fflas-ffpack.changes 2017-02-03 17:36:46.888511072 +0100
@@ -1,0 +2,11 @@
+Tue Nov 29 10:46:23 UTC 2016 - jengelh(a)inai.de
+
+- Add --disable-simd to fix spurious failures
+
+-------------------------------------------------------------------
+Mon Nov 28 00:07:45 UTC 2016 - jengelh(a)inai.de
+
+- From time to time, configure fails to find lapack when built in
+ openSUSE:Factory. Emit config.log when that happens.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fflas-ffpack.spec ++++++
--- /var/tmp/diff_new_pack.t1DuDx/_old 2017-02-03 17:36:47.448431822 +0100
+++ /var/tmp/diff_new_pack.t1DuDx/_new 2017-02-03 17:36:47.452431256 +0100
@@ -81,10 +81,12 @@
if [ ! -e configure ]; then
autoreconf -fi
fi
+trap "cat config.log; exit 1" ERR
%configure \
--with-blas-cflags=" " \
--with-blas-libs="-lcblas -lblas" \
- --enable-doc --with-docdir="%_docdir/%name"
+ --enable-doc --with-docdir="%_docdir/%name" --disable-simd
+trap "" ERR
make %{?_smp_mflags}
%install
1
0
Hello community,
here is the log from the commit of package fence-agents for openSUSE:Factory checked in at 2017-02-02 15:45:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fence-agents (Old)
and /work/SRC/openSUSE:Factory/.fence-agents.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fence-agents"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fence-agents/fence-agents.changes 2016-12-03 18:27:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fence-agents.new/fence-agents.changes 2017-02-03 17:36:45.244743729 +0100
@@ -1,0 +2,12 @@
+Wed Feb 01 16:49:43 UTC 2017 - kgronlund(a)suse.com
+
+- Update to version 4.0.25+git.1485179354.eb43835:
+ * Ironic fence agent
+ * fencing: Add --quiet option to disable logging to stderr
+ * fence_powerman: fix typo in option powerman-path
+ * fence_cisco_ucs: Commands sent to Cisco UCS are changed to
+
+- Drop merged patch:
+ * Remove 0008-Fix-travis.patch
+
+-------------------------------------------------------------------
Old:
----
0008-Fix-travis.patch
fence-agents-4.0.24+git.1480563949.e67fcd4.tar.xz
New:
----
fence-agents-4.0.25+git.1485179354.eb43835.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fence-agents.spec ++++++
--- /var/tmp/diff_new_pack.OBbKtn/_old 2017-02-03 17:36:45.856657119 +0100
+++ /var/tmp/diff_new_pack.OBbKtn/_new 2017-02-03 17:36:45.860656553 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fence-agents
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -22,7 +22,7 @@
Summary: Fence Agents for Pacemaker from RHCS
License: GPL-2.0 and LGPL-2.1
Group: Productivity/Clustering/HA
-Version: 4.0.24+git.1480563949.e67fcd4
+Version: 4.0.25+git.1485179354.eb43835
Release: 0
Url: https://github.com/ClusterLabs/fence-agents
Source0: %{name}-%{version}.tar.xz
@@ -40,8 +40,6 @@
Patch6: 0006-fence_compute-Fix-fix_plug_name-when-looking-if-plug.patch
# PATCH-FIX-UPSTREAM: fence_compute: Remove duplicate check for binary name
Patch7: 0007-fence_compute-Remove-duplicate-check-for-binary-name.patch
-# PATCH-FIX-UPSTREAM: Fix travis regression
-Patch8: 0008-Fix-travis.patch
# PATCH-FIX-UPSTREAM: fence_compute: Fix disabling force_down on node when action is on
Patch9: 0009-fence_compute-Fix-disabling-force_down-on-node-when-.patch
@@ -113,7 +111,6 @@
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%build
++++++ _service ++++++
--- /var/tmp/diff_new_pack.OBbKtn/_old 2017-02-03 17:36:45.912649194 +0100
+++ /var/tmp/diff_new_pack.OBbKtn/_new 2017-02-03 17:36:45.916648628 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="filename">fence-agents</param>
- <param name="versionformat">4.0.24+git.%ct.%h</param>
+ <param name="versionformat">4.0.25+git.%ct.%h</param>
<param name="revision">master</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.OBbKtn/_old 2017-02-03 17:36:45.936645798 +0100
+++ /var/tmp/diff_new_pack.OBbKtn/_new 2017-02-03 17:36:45.940645232 +0100
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/fence-agents.git</param>
- <param name="changesrevision">e67fcd49e499b5d6acb9b8892a73a67acfa6ffa4</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">eb43835fc430651712271a046c61eec1c5ecdedb</param></service></servicedata>
\ No newline at end of file
++++++ fence-agents-4.0.24+git.1480563949.e67fcd4.tar.xz -> fence-agents-4.0.25+git.1485179354.eb43835.tar.xz ++++++
++++ 1625 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package fate for openSUSE:Factory checked in at 2017-02-01 09:53:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fate (Old)
and /work/SRC/openSUSE:Factory/.fate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fate"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fate/fate.changes 2017-01-24 10:40:15.563975534 +0100
+++ /work/SRC/openSUSE:Factory/.fate.new/fate.changes 2017-02-03 17:36:40.393430377 +0100
@@ -1,0 +2,30 @@
+Tue Jan 31 11:49:34 UTC 2017 - jplack(a)suse.com
+
+- replaces outdated inttools@ mail adress by featureadmin@ (bug via email)
+
+-------------------------------------------------------------------
+Sat Jan 28 00:00:58 UTC 2017 - jplack(a)suse.com
+
+- more fixes:
+ * bsc#837526: fix filter in productviewer, rearrange columns and layout,
+ also show feature open dates and deadlines
+ * bsc#964882: fix crash, QList::first() returns undefined on empty list, so
+ check first
+
+-------------------------------------------------------------------
+Thu Jan 26 15:59:16 UTC 2017 - jplack(a)suse.com
+
+- update to version 1.5.5.7
+ * make comments always editable by original author
+ * bsc#1006192: have UTC time stamps in comments as in openfate
+ * bsc#940928: fix formatting and limit comment threads
+ * bsc#967367: remove bookmarks feature which is currently broken
+ * bsc#1004536 : create an extra list for ECO stakeholders in feature view
+
+-------------------------------------------------------------------
+Tue Jan 24 14:15:11 UTC 2017 - jplack(a)suse.com
+
+- removed old style 'norootforbuild'
+- require oxygen-icon-theme instead of oxygen5-icon-theme (bsc#1015881)
+
+-------------------------------------------------------------------
Old:
----
fate-20170120-10cb902.tar.bz2
New:
----
fate-20170131-27be067.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fate.spec ++++++
--- /var/tmp/diff_new_pack.Cm9uTO/_old 2017-02-03 17:36:40.805372071 +0100
+++ /var/tmp/diff_new_pack.Cm9uTO/_new 2017-02-03 17:36:40.809371505 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fate
#
-# Copyright (c) 2008-2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -16,12 +16,11 @@
#
-# norootforbuild
-%define baseversion 1.5.5.6
-%define patchlevel 0
-%define snapshot 20170120-10cb902
+%define baseversion 1.5.5.7
+%define patchlevel .1
+%define snapshot 20170131-27be067
Name: fate
-Version: %{baseversion}.%{patchlevel}
+Version: %{baseversion}%{patchlevel}
Release: 0
Summary: SUSE Feature Management Tool
License: GPL-2.0 or GPL-3.0 or LGPL-2.1+
@@ -39,7 +38,7 @@
BuildRequires: pkgconfig
BuildRequires: sqlite-devel
Requires: kdebase4-runtime
-Requires: oxygen5-icon-theme
+Requires: oxygen-icon-theme
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1010
Recommends: diffutils
@@ -67,7 +66,7 @@
%install
export SUSE_ASNEEDED=0
-make DESTDIR=%{buildroot} install
+%make_install
%files
%defattr(-,root,root)
++++++ fate-20170120-10cb902.tar.bz2 -> fate-20170131-27be067.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/meta/xslt-html new/fate-20170131-27be067/meta/xslt-html
--- old/fate-20170120-10cb902/meta/xslt-html 2017-01-20 19:36:04.234520490 +0100
+++ new/fate-20170131-27be067/meta/xslt-html 2017-01-31 12:42:53.872633342 +0100
@@ -20,6 +20,8 @@
<xsl:param name="user"/>
<xsl:param name="roles-sort-order"/>
<xsl:param name="parts-sort-order" select="'category|partnercontext|productcontext|description|actor|documentationstatus|usecase|testcase|relations|references|eco|feature'"/>
+ <xsl:param name="max-comments" select="30"/>
+ <xsl:param name="max-threadsize" select="8"/>
<xsl:template match="//feature">
<div class="feature">
@@ -121,31 +123,59 @@
<div class="rbroundbox_blue">
<div class="rbtop_blue"><div></div></div>
<div class="rbcontent">
- <h3>Persons<xsl:comment>actors_hook</xsl:comment></h3>
<span id="actors_container">
- <table class="persons" style="width: 100%;">
- <tr>
- <td>
- <xsl:for-each select="//actor[role != 'interested']">
- <xsl:sort select="string-length(substring-before($roles-sort-order, role))" data-type="number" order="ascending"/>
- <xsl:if test="(position() mod 2) = 1">
- <xsl:call-template name="actor"/>
- </xsl:if>
- </xsl:for-each>
- </td>
- <td>
- <xsl:for-each select="//actor[role != 'interested']">
- <xsl:sort select="string-length(substring-before($roles-sort-order, role))" data-type="number" order="ascending"/>
- <xsl:if test="(position() mod 2) = 0">
- <xsl:call-template name="actor"/>
- </xsl:if>
- </xsl:for-each>
- </td>
- </tr>
- </table>
+ <h3>Contributors<xsl:comment>actors_hook</xsl:comment></h3>
+ <table class="persons" style="width: 100%;">
+ <tr>
+ <td style="width: 50%;">
+ <xsl:for-each select="/feature/actor[role != 'interested']">
+ <xsl:sort select="string-length(substring-before($roles-sort-order, role))"
+ data-type="number" order="ascending"/>
+ <xsl:if test="(position() mod 2) = 1">
+ <xsl:call-template name="actor"/>
+ </xsl:if>
+ </xsl:for-each>
+ </td>
+ <td>
+ <xsl:for-each select="/feature/actor[role != 'interested']">
+ <xsl:sort select="string-length(substring-before($roles-sort-order, role))"
+ data-type="number" order="ascending"/>
+ <xsl:if test="(position() mod 2) = 0">
+ <xsl:call-template name="actor"/>
+ </xsl:if>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </table>
+ <xsl:if test="/feature/eco">
+ <h3 style="margin-top:10px;">ECO Stakeholders<xsl:comment>approvers_hook</xsl:comment></h3>
+ <table class="persons" style="width: 100%;">
+ <tr>
+ <td style="width: 50%;">
+ <xsl:for-each select="/feature/eco/approval/actor">
+ <xsl:sort select="string-length(substring-before($roles-sort-order, role))"
+ data-type="number" order="ascending"/>
+ <xsl:if test="(position() mod 2) = 1">
+ <xsl:call-template name="actor"/>
+ </xsl:if>
+ </xsl:for-each>
+ </td>
+ <td>
+ <xsl:for-each select="/feature/eco/approval/actor">
+ <xsl:sort select="string-length(substring-before($roles-sort-order, role))"
+ data-type="number" order="ascending"/>
+ <xsl:if test="(position() mod 2) = 0">
+ <xsl:call-template name="actor"/>
+ </xsl:if>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </table>
+ </xsl:if>
</span>
</div><!-- /rbcontent -->
- <xsl:if test="//actor[role = 'interested']">
+
+ <xsl:if test="/feature/actor[role = 'interested']">
<xsl:call-template name="intactorbox" />
</xsl:if>
<div class="rbbot_blue"><div></div></div>
@@ -160,7 +190,7 @@
<tr><th colspan="2">
<xsl:element name="span">
<xsl:attribute name="style">float: left;</xsl:attribute>
- <xsl:text>Interested Persons (</xsl:text><xsl:value-of select="count(//actor[role = 'interested'])"/><xsl:text>)</xsl:text><xsl:comment>intactors_hook</xsl:comment>
+ <xsl:text>Interested Persons (</xsl:text><xsl:value-of select="count(/feature/actor[role = 'interested'])"/><xsl:text>)</xsl:text><xsl:comment>intactors_hook</xsl:comment>
</xsl:element>
<xsl:element name="span">
@@ -170,16 +200,17 @@
</xsl:element>
</th></tr>
<tr class="dropmenu" id="interestdrop">
- <td>
- <xsl:for-each select="//actor[role = 'interested']">
- <xsl:sort select="string-length(substring-before($roles-sort-order, role))" data-type="number" order="ascending"/>
+ <td style="width: 50%;">
+ <xsl:for-each select="/feature/actor[role = 'interested']">
+ <xsl:sort select="string-length(substring-before($roles-sort-order, role))"
+ data-type="number" order="ascending"/>
<xsl:if test="(position() mod 2) = 1">
<xsl:call-template name="intactor"/>
</xsl:if>
</xsl:for-each>
</td>
<td>
- <xsl:for-each select="//actor[role = 'interested']">
+ <xsl:for-each select="/feature/actor[role = 'interested']">
<xsl:sort select="string-length(substring-before($roles-sort-order, role))" data-type="number" order="ascending"/>
<xsl:if test="(position() mod 2) = 0">
<xsl:call-template name="intactor"/>
@@ -431,7 +462,9 @@
<xsl:when test="($client='partnerfate' or $client='openfate' or $client='openfate_readonly') and @private = 'true'">
</xsl:when>
<xsl:otherwise>
- <xsl:call-template name="comment"/>
+ <xsl:call-template name="comment">
+ <xsl:with-param name="depth" select="0"/>
+ </xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
@@ -457,6 +490,9 @@
</xsl:when>
<xsl:when test="$client='openfate_readonly'">
</xsl:when>
+ <xsl:when test="count(discussion/comment) >= $max-comments">
+ Maximum number of comment reached, please talk to each other
+ </xsl:when>
<xsl:otherwise>
<div class="action" style="float:left;">[<a href="fate:comment/0">add comment</a>]</div>
</xsl:otherwise>
@@ -474,6 +510,8 @@
</xsl:template>
<xsl:template name="reply_link">
+ <xsl:param name="depth"/>
+ <xsl:if test="$max-threadsize >= $depth">
<xsl:choose>
<xsl:when test="$client='openfate' or $client='partnerfate' or $client='webfate'">
<span class="action"> [<xsl:element name='a'>
@@ -492,11 +530,15 @@
[<a name="comment{@id}" class="action" href="fate:comment/{@id}">reply</a>]
</xsl:otherwise>
</xsl:choose>
+ </xsl:if>
+ <xsl:if test="$depth+3 >= $max-threadsize and author/person/email">
+ [ <a href="mailto:{author/person/email}" title="discuss offline">email</a> ]
+ </xsl:if>
</xsl:template>
<xsl:template name="edit_link">
<xsl:choose>
- <xsl:when test="@editable='true'">
+ <xsl:when test="@editable='true' or author/person/userid = $user">
[<a href="fate:editcomment/{@id}">edit</a>]
</xsl:when>
</xsl:choose>
@@ -528,6 +570,7 @@
<xsl:template name="comment">
+ <xsl:param name="depth"/>
<li>
<xsl:choose>
<xsl:when test="@private='true'">
@@ -546,12 +589,17 @@
<xsl:choose>
<xsl:when test="//comment/@id > @id">
<span class="header">
- <xsl:call-template name="comment_header"/>
- </span>
+ <xsl:call-template name="comment_header">
+ <xsl:with-param name="depth" select="$depth"/>
+ </xsl:call-template>
+ </span>
</xsl:when>
<xsl:otherwise>
<span class="header headerlatest">
- <xsl:call-template name="comment_header"/> (latest comment)
+ <xsl:call-template name="comment_header">
+ <xsl:with-param name="depth" select="$depth"/>
+ </xsl:call-template>
+ (latest comment)
</span>
</xsl:otherwise>
</xsl:choose>
@@ -567,7 +615,9 @@
<xsl:if test="../comment[@inreplyto = $id]">
<ul>
<xsl:for-each select="../comment[@inreplyto = $id]">
- <xsl:call-template name="comment"/>
+ <xsl:call-template name="comment">
+ <xsl:with-param name="depth" select="$depth+1"/>
+ </xsl:call-template>
</xsl:for-each>
</ul>
</xsl:if>
@@ -576,6 +626,7 @@
<xsl:template name="comment_header">
+ <xsl:param name="depth"/>
<span class="id">#<xsl:value-of select="@id"/>: </span>
<span class="author">
<xsl:apply-templates select="author/person" />
@@ -588,7 +639,9 @@
<xsl:call-template name="toggle_private_link"/>
</span>
<span class="reply">
- <xsl:call-template name="reply_link"/>
+ <xsl:call-template name="reply_link">
+ <xsl:with-param name="depth" select="$depth"/>
+ </xsl:call-template>
<xsl:call-template name="edit_link"/>
</span>
</xsl:template>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/cache/sqlitecache.cpp new/fate-20170131-27be067/src/cache/sqlitecache.cpp
--- old/fate-20170120-10cb902/src/cache/sqlitecache.cpp 2017-01-20 19:36:04.238520508 +0100
+++ new/fate-20170131-27be067/src/cache/sqlitecache.cpp 2017-01-31 12:42:53.876633353 +0100
@@ -69,7 +69,7 @@
const char* pszUnused;
query = QString( "SELECT id FROM modified_items" );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
while( rc != SQLITE_DONE ) {
@@ -112,7 +112,7 @@
}
query = QString( "SELECT data FROM %1 WHERE id='%2'" ).arg(table).arg( id );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
if( rc != SQLITE_ROW ){
@@ -160,7 +160,7 @@
}
query += ")";
- rc = sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ rc = sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << rc;
return items;
@@ -225,7 +225,7 @@
query = "INSERT INTO items (id, revision, data ) VALUES ( '" +
id + "','" + rev + "',?)";
- rc =sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ rc =sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << rc;
}
@@ -248,7 +248,7 @@
char *zErrMsg = 0;
QString query;
- rc = sqlite3_open( databaseFile().toAscii(), &db );
+ rc = sqlite3_open( databaseFile().toLatin1().constData(), &db );
if( rc != SQLITE_OK ){
KMessageBox::error( 0, i18n("Could not initialize cache database:\n%1")
@@ -260,14 +260,14 @@
// Initialize main table
query = QString("SELECT name FROM sqlite_master WHERE type='table' AND name='items'" );
- rc = sqlite3_get_table( db, query.toAscii(), &result, &nRow, &nCol, &zErrMsg);
+ rc = sqlite3_get_table( db, query.toLatin1().constData(), &result, &nRow, &nCol, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
} else {
// settings, see http://www.sqlite.org/pragma.html
query = QString("PRAGMA synchronous = OFF;");
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg );
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -278,13 +278,13 @@
"id string primary key not null,"
"revision integer not null,"
"data blob)");
- sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg );
+ sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
}
query = QString("CREATE INDEX id_index ON items( id )");
- sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg );
+ sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -294,7 +294,7 @@
// Initialize modified items table
query = QString("SELECT name FROM sqlite_master WHERE type='table' AND name='modified_items'" );
- rc = sqlite3_get_table( db, query.toAscii(), &result, &nRow, &nCol, &zErrMsg);
+ rc = sqlite3_get_table( db, query.toLatin1().constData(), &result, &nRow, &nCol, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -304,7 +304,7 @@
query = QString("CREATE TABLE modified_items ("
"id string primary key not null,"
"data blob)");
- sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg );
+ sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -314,7 +314,7 @@
// Initialize new items table
query = QString("SELECT name FROM sqlite_master WHERE type='table' AND name='new_items'" );
- rc = sqlite3_get_table( db, query.toAscii(), &result, &nRow, &nCol, &zErrMsg);
+ rc = sqlite3_get_table( db, query.toLatin1().constData(), &result, &nRow, &nCol, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -323,7 +323,7 @@
kDebug() << k_funcinfo << "Need to initialize database";
query = QString("CREATE TABLE new_items ("
"data blob)");
- sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg );
+ sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -354,7 +354,7 @@
char *zErrMsg = 0;
query = QString( "DELETE FROM items where id='%1'" ).arg( id );
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -382,7 +382,7 @@
query += ")";
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -408,7 +408,7 @@
query = "BEGIN TRANSACTION;";
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -428,7 +428,7 @@
query = "END TRANSACTION;";
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -451,7 +451,7 @@
query = "DELETE FROM items;";
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -479,7 +479,7 @@
query = "INSERT INTO modified_items (id, data ) VALUES ( '" +
id + "',?)";
- rc =sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ rc =sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << rc;
}
@@ -514,7 +514,7 @@
const char* pszUnused;
query = QString( "SELECT data FROM modified_items WHERE id='%1'" ).arg( id );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
if( rc != SQLITE_ROW ){
@@ -548,7 +548,7 @@
char *zErrMsg = 0;
query = QString( "DELETE FROM modified_items where id='%1'" ).arg( id );
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -575,7 +575,7 @@
const char* pszUnused;
query = QString( "SELECT data FROM modified_items" );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
while( rc != SQLITE_DONE ) {
@@ -613,7 +613,7 @@
bool hasItems;
query = QString( "SELECT COUNT(*) FROM modified_items" );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
if( rc != SQLITE_ROW ){
@@ -643,7 +643,7 @@
bool hasItem;
query = QString( "SELECT COUNT(*) FROM modified_items WHERE id='%1'" ).arg( id );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
if( rc != SQLITE_ROW ){
@@ -682,7 +682,7 @@
query = "INSERT INTO new_items ( data ) VALUES ( ? )";
- rc =sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ rc =sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << rc;
}
@@ -715,7 +715,7 @@
const char* pszUnused;
query = QString( "SELECT data FROM new_items" );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
while( rc != SQLITE_DONE ) {
if( rc == SQLITE_BUSY )
@@ -750,7 +750,7 @@
char *zErrMsg = 0;
query = QString( "DELETE FROM new_items" );
- rc = sqlite3_exec( db, query.toAscii(), 0, 0, &zErrMsg);
+ rc = sqlite3_exec( db, query.toLatin1().constData(), 0, 0, &zErrMsg);
if( rc != SQLITE_OK ){
kDebug() << k_funcinfo << "SQL error: " << zErrMsg;
sqlite3_free(zErrMsg);
@@ -770,7 +770,7 @@
const char* pszUnused;
query = QString( "SELECT COUNT(*) FROM new_items" );
- sqlite3_prepare( db, query.toAscii(), -1, &pStmt, &pszUnused );
+ sqlite3_prepare( db, query.toLatin1().constData(), -1, &pStmt, &pszUnused );
rc = sqlite3_step(pStmt);
if( rc != SQLITE_ROW ){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/core/fatebookmarkmanager.h new/fate-20170131-27be067/src/fate/core/fatebookmarkmanager.h
--- old/fate-20170120-10cb902/src/fate/core/fatebookmarkmanager.h 2017-01-20 19:36:04.238520508 +0100
+++ new/fate-20170131-27be067/src/fate/core/fatebookmarkmanager.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-#ifndef FATEBOOKMARKMANAGER_H
-#define FATEBOOKMARKMANAGER_H
-
-#include <kbookmarkmanager.h>
-#include <kstandarddirs.h>
-
-class FateBookmarkManager
-{
-public:
- static KBookmarkManager * self() {
- if ( !s_bookmarkManager )
- {
- QString bookmarksFile = KStandardDirs::locateLocal("data", QString::fromLatin1("fate/bookmarks.xml"));
- s_bookmarkManager = KBookmarkManager::managerForFile( bookmarksFile, QString::null );
- }
- return s_bookmarkManager;
- }
-
-
- static KBookmarkManager *s_bookmarkManager;
-};
-
-KBookmarkManager* FateBookmarkManager::s_bookmarkManager;
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/core/openproductscheck.cpp new/fate-20170131-27be067/src/fate/core/openproductscheck.cpp
--- old/fate-20170120-10cb902/src/fate/core/openproductscheck.cpp 2017-01-20 19:36:04.238520508 +0100
+++ new/fate-20170131-27be067/src/fate/core/openproductscheck.cpp 2017-01-31 12:42:53.876633353 +0100
@@ -27,9 +27,9 @@
#include "metavaluelist.h"
#include "productmap.h"
-#include <qstringlist.h>
+#include <QStringList>
+#include <QMessageBox>
-#include <kmessagebox.h>
#include <klocale.h>
bool OpenProductsCheck::checkProducts( const QStringList &list, QWidget *widget,
@@ -83,13 +83,13 @@
if( !warnings.isEmpty() ) {
if( !critical ) {
- if( KMessageBox::warningContinueCancel( widget,
+ if( QMessageBox::warning( widget, QString(),
i18n("<qt>Some of the chosen products are not opened yet, closed or passed the deadline:\n\n"
- "<ul>%1</ul>\n\nContinue anyway?</qt>").arg(warnings) ) == KMessageBox::Cancel )
+ "<ul>%1</ul>\n\nContinue anyway?</qt>").arg(warnings), QMessageBox::Ok|QMessageBox::Cancel, QMessageBox::Ok ) == QMessageBox::Cancel )
return false;
}
else {
- KMessageBox::error( widget,
+ QMessageBox::critical( widget, QString(),
i18n("<qt>Some of the chosen products are not opened yet, closed or passed the deadline:\n\n"
"<ul>%1</ul></qt>").arg(warnings) );
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/actoreditor.cpp new/fate-20170131-27be067/src/fate/editor/actoreditor.cpp
--- old/fate-20170120-10cb902/src/fate/editor/actoreditor.cpp 2017-01-20 19:36:04.238520508 +0100
+++ new/fate-20170131-27be067/src/fate/editor/actoreditor.cpp 2017-01-31 12:42:53.876633353 +0100
@@ -39,7 +39,6 @@
#include <klocale.h>
#include <kdebug.h>
#include <kaction.h>
-#include <kstdaccel.h>
#include <kactioncollection.h>
#include <kdeversion.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/commentdialog.cpp new/fate-20170131-27be067/src/fate/editor/commentdialog.cpp
--- old/fate-20170120-10cb902/src/fate/editor/commentdialog.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/commentdialog.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -190,6 +190,7 @@
mPrivate->setChecked( com.isPrivate );
kDebug() << k_funcinfo << "Setting in reply to auf " << com.inReplyTo;
inReplyTo = com.inReplyTo;
+ mAuthor = com.author;
break;
}
}
@@ -259,15 +260,23 @@
FeatureData::Comment CommentDialog::comment( )
{
FeatureData::Comment comment;
- FeatureData::Actor actor;
- comment.author.userid = Prefs::self()->serverUser();
- comment.author.roleId = Prefs::self()->stakeholderFunction();
+
+ if (mCommentId==-1) {
+ comment.author.userid = Prefs::self()->serverUser();
+ } else {
+ comment.author = mAuthor;
+ }
comment.id = mCommentId;
comment.theComment = mEditor->richtextifiedText();
comment.isPrivate = mPrivate->isChecked();
comment.isEditable = true;
comment.inReplyTo = 0;
- comment.created = QDateTime::currentDateTime();
+#if QT_VERSION >= 0x040700
+ comment.created = QDateTime::currentDateTimeUtc();
+#else
+ // SLES 11 SP4 still sits on Qt-4.6
+ comment.created = QDateTime::currentDateTime().toUTC();
+#endif
QString inRepString = mInReplyCombo->currentText();
if( inRepString == INITIAL_DESC ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/commentdialog.h new/fate-20170131-27be067/src/fate/editor/commentdialog.h
--- old/fate-20170120-10cb902/src/fate/editor/commentdialog.h 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/commentdialog.h 2017-01-31 12:42:53.880633363 +0100
@@ -83,6 +83,7 @@
KPassivePopup *mPassivePop;
QLabel *mWarnDetailLabel;
int mCommentId;
+ FeatureData::Actor mAuthor;
Feature *mFeature;
bool mActorsChanged;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/htmlview.cpp new/fate-20170131-27be067/src/fate/editor/htmlview.cpp
--- old/fate-20170120-10cb902/src/fate/editor/htmlview.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/htmlview.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -290,7 +290,7 @@
t += "standardized query language for XML.</p>";
t += "<p>In case of questions or comments please contact the ";
- t += "<a href=\"mailto:inttools@suse.de\">Internal Tools Team</a>.</p>";
+ t += "<a href=\"mailto:featureadmin@suse.de\">Internal Tools Team</a>.</p>";
t += "<p>For bugreports, please use the ";
t += "<a href=\"http://bugzilla.suse.com\">SUSE Bugzilla</a>.</p>";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/prioritytable.cpp new/fate-20170131-27be067/src/fate/editor/prioritytable.cpp
--- old/fate-20170120-10cb902/src/fate/editor/prioritytable.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/prioritytable.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -33,7 +33,6 @@
#include <QComboBox>
#include <QHeaderView>
-#include <QLayout>
#include <QString>
#include <QTableWidget>
#include <QVBoxLayout>
@@ -917,15 +916,6 @@
delete dlg;
}
-static inline void
-swap(QString &a, QString &b)
-{
- QString tmp = a;
-
- a = b;
- b = tmp;
-}
-
void PriorityTable::sort()
{
#if 0
@@ -936,8 +926,8 @@
if( mProductIdList[col] == p ) {
mTable->swapColumns( i, col, true );
- swap(mProductIdList[i], mProductIdList[col]);
- swap(mProductNameList[i], mProductNameList[col]);
+ mProductIdList[i].swap(mProductIdList[col]));
+ mProductNameList[i].swap(mProductNameList[col]));
Entry old = mEntries[i];
mEntries[i] = mEntries[col];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/prioritytable.h new/fate-20170131-27be067/src/fate/editor/prioritytable.h
--- old/fate-20170120-10cb902/src/fate/editor/prioritytable.h 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/prioritytable.h 2017-01-31 12:42:53.880633363 +0100
@@ -25,7 +25,6 @@
#include "productlisteditorbase.h"
#include "featuredata.h"
-#include <QDateTime>
#include <QMap>
#include <QMenu>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/productselectorwidget.cpp new/fate-20170131-27be067/src/fate/editor/productselectorwidget.cpp
--- old/fate-20170120-10cb902/src/fate/editor/productselectorwidget.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/productselectorwidget.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -39,7 +39,6 @@
#include <qtimer.h>
#include <qtreewidget.h>
#include <qlistwidget.h>
-#include <QVBoxLayout>
QuickProductSelectorWidget::QuickProductSelectorWidget(QWidget *parent)
: QWidget(parent), mSingleSelection(false)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/editor/richtexteditor.cpp new/fate-20170131-27be067/src/fate/editor/richtexteditor.cpp
--- old/fate-20170120-10cb902/src/fate/editor/richtexteditor.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/editor/richtexteditor.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -30,7 +30,6 @@
#include <QBoxLayout>
#include <QHeaderView>
#include <QLabel>
-#include <QLayout>
#include <QRegExp>
#include <QSplitter>
#include <QTableWidget>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/inexcheckbox.cpp new/fate-20170131-27be067/src/fate/inexcheckbox.cpp
--- old/fate-20170120-10cb902/src/fate/inexcheckbox.cpp 2017-01-20 19:36:04.242520526 +0100
+++ new/fate-20170131-27be067/src/fate/inexcheckbox.cpp 2017-01-31 12:42:53.880633363 +0100
@@ -29,8 +29,6 @@
#include <kicon.h>
#include <qlayout.h>
-#include <QVBoxLayout>
-#include <QBoxLayout>
InExCheckBox::InExCheckBox( QWidget *parent, const char *text )
: QCheckBox(text, parent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/mainview.cpp new/fate-20170131-27be067/src/fate/mainview.cpp
--- old/fate-20170120-10cb902/src/fate/mainview.cpp 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/mainview.cpp 2017-01-31 12:42:53.884633376 +0100
@@ -59,7 +59,6 @@
#include "processhelpdialog.h"
#include "featurerelationdialog.h"
#include "sendmaildialog.h"
-#include "metamanager.h"
#include "keeperjob.h"
#include "texttemplate.h"
#include "odtfile.h"
@@ -95,9 +94,7 @@
#include <qtimer.h>
#include <qcursor.h>
#include <qapplication.h>
-#include <qlabel.h>
#include <qsignalmapper.h>
-#include <qapplication.h>
#include <QDBusConnection>
#define BULK_FEATURE_UPDATES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/mainwindow.cpp new/fate-20170131-27be067/src/fate/mainwindow.cpp
--- old/fate-20170120-10cb902/src/fate/mainwindow.cpp 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/mainwindow.cpp 2017-01-31 12:42:53.884633376 +0100
@@ -32,7 +32,6 @@
#include "startupsequenceview.h"
#include "progressmanager.h"
#include "version.h"
-#include "fatebookmarkmanager.h"
#include "dialogsize.h"
#include <kdeversion.h>
@@ -47,7 +46,6 @@
#include <kdebug.h>
#include <kmessagebox.h>
#include <kedittoolbar.h>
-#include <kstdaccel.h>
#include <kaction.h>
#include <kstandardaction.h>
#include <kinputdialog.h>
@@ -55,12 +53,11 @@
#include <qpushbutton.h>
#include <qtooltip.h>
#include <klineedit.h>
-#include <kbookmarkmenu.h>
#include <kactioncollection.h>
MainWindow::MainWindow( bool quietStartup )
: KXmlGuiWindow( 0 ), mOnlineModePending( false ),
- mQueryFeatureLabel( 0 ), mQueryFeatureEdit( 0 ), mBookmarksActionMenu(0)
+ mQueryFeatureLabel( 0 ), mQueryFeatureEdit( 0 )
{
setObjectName( "MainWindow" );
mStartupSequenceView = new StartupSequenceView( StartupSequence::self(),
@@ -149,7 +146,6 @@
DialogSize::remember(this);
delete mQueryFeatureLabel;
delete mQueryFeatureEdit;
- delete mBookmarksActionMenu;
}
void MainWindow::setupActions()
@@ -268,14 +264,6 @@
KStandardAction::preferences( this, SLOT( preferences() ),
actionCollection() );
- mBookmarksActionMenu = new KActionMenu( this );
- mBookmarksActionMenu->setText( i18n( "Bookmarks" ) );
- // mBookmarksActionMenu->setIcon( KIcon("bookmarks") );
- actionCollection()->addAction( "bookmarks", mBookmarksActionMenu );
-
- mBookmarkMenu = new KBookmarkMenu( FateBookmarkManager::self(), this,
- mBookmarksActionMenu->menu(), actionCollection() );
-
mView->setupActions( actionCollection() );
}
@@ -284,17 +272,6 @@
mView->queryFeature( mQueryFeatureEdit->text() );
}
-
-void MainWindow::openBookmark( const KBookmark& bookmark, Qt::MouseButtons,
- Qt::KeyboardModifiers )
-{
- QString url = bookmark.url().url();
- if ( url.left(7) == "fate://" ) {
- QString id = url.mid(7);
- mView->queryFeature( id );
- }
-}
-
QString MainWindow::currentURL() const
{
return mView->currentURL();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/mainwindow.h new/fate-20170131-27be067/src/fate/mainwindow.h
--- old/fate-20170120-10cb902/src/fate/mainwindow.h 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/mainwindow.h 2017-01-31 12:42:53.884633376 +0100
@@ -25,7 +25,6 @@
#include <kapplication.h>
#include <kmainwindow.h>
#include <kxmlguiwindow.h>
-#include <kbookmarkmanager.h>
#include "mainview.h"
#include <QLabel>
@@ -37,9 +36,8 @@
class QPushButton;
class StartupSequenceView;
class KLineEdit;
-class KBookmarkMenu;
-class MainWindow : public KXmlGuiWindow, virtual public KBookmarkOwner
+class MainWindow : public KXmlGuiWindow
{
Q_OBJECT
public:
@@ -50,8 +48,6 @@
MainView *view() { return mView; }
- virtual void openBookmark( const KBookmark&,
- Qt::MouseButtons, Qt::KeyboardModifiers );
virtual QString currentTitle() const;
virtual QString currentURL() const;
@@ -96,9 +92,6 @@
QLabel *mQueryFeatureLabel;
KLineEdit *mQueryFeatureEdit;
-
- KActionMenu *mBookmarksActionMenu;
- KBookmarkMenu *mBookmarkMenu;
};
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/productviewer.cpp new/fate-20170131-27be067/src/fate/productviewer.cpp
--- old/fate-20170120-10cb902/src/fate/productviewer.cpp 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/productviewer.cpp 2017-01-31 12:42:53.884633376 +0100
@@ -2,8 +2,10 @@
This file is part of Fate.
Copyright (c) 2007 SUSE LINUX Products GmbH
+ 2017 SUSE Linux GmbH
Author: Cornelius Schumacher <cschum(a)suse.de>
+ Joachim Plack <jplack(a)suse.de>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,6 +27,7 @@
#include "productmap.h"
#include "listviewtooltip.h"
#include "filterheader.h"
+#include "dialogsize.h"
#include <klocale.h>
@@ -37,7 +40,7 @@
{
QFrame *topFrame = new QFrame( this );
setMainWidget( topFrame );
- setModal( true );
+ setModal( false );
setCaption( i18n("Select Products") );
setButtons( Ok | Cancel | User1 );
setDefaultButton( Ok );
@@ -47,36 +50,38 @@
mListView = new QTreeWidget( topFrame );
mListView->setHeaderLabels(QStringList() <<
- i18n("Id") <<
i18n("Name") <<
+ i18n("Opened at") <<
+ i18n("ext.Deadline") <<
+ i18n("Deadline") <<
i18n("Product Line") <<
+ i18n("Id") <<
i18n("Short") <<
i18n("Long") <<
i18n("Bugzilla"));
mListView->setRootIsDecorated(true);
mToolTips = new TreeViewToolTip(mListView);
-
- TreeFilterHeader *filterHeader = new TreeFilterHeader(mListView, 1, topFrame);
- filterHeader->setItemNames(i18n("No Product"), i18n("1 Product"), i18n("%1 of %2 Products"));
- topLayout->addWidget(filterHeader);
-
+ mFilterHeader = new TreeFilterHeader(mListView, 0, topFrame);
+ mFilterHeader->setItemNames(i18n("No Product"), i18n("1 Product"), i18n("%1 of %2 Products"));
+ topLayout->addWidget(mFilterHeader);
topLayout->addWidget(mListView);
init();
-
- filterHeader->setTitleLabel();
-
connect( mProductMap, SIGNAL( changed() ), SLOT( init() ) );
+ connect( this, SIGNAL(user1Clicked()), SLOT(slotUser1()));
+ DialogSize::restore(this);
}
ProductViewer::~ProductViewer()
{
+ DialogSize::remember(this);
}
void ProductViewer::init()
{
mToolTips->clearAll();
+ mListView->setSortingEnabled(false);
mListView->clear();
const Product::List &products = mProductMap->products();
@@ -84,12 +89,15 @@
for( it = products.begin(); it != products.end(); ++it ) {
Product *p = *it;
QTreeWidgetItem *item = new QTreeWidgetItem( mListView );
- item->setText( 0, p->id() );
- item->setText( 1, p->fateName() );
- item->setText( 2, p->productLine() );
- item->setText( 3, p->shortName() );
- item->setText( 4, p->longName() );
- item->setText( 5, p->bugzillaName() );
+ item->setText( 0, p->fateName() );
+ item->setData( 1, 0, p->featureOpen() );
+ item->setData( 2, 0, p->featureDeadlineExt() );
+ item->setData( 3, 0, p->featureDeadline() );
+ item->setText( 4, p->productLine() );
+ item->setText( 5, p->id() );
+ item->setText( 6, p->shortName() );
+ item->setText( 7, p->longName() );
+ item->setText( 8, p->bugzillaName() );
QString txt;
txt += "<b>Milestones:</b><br/>";
@@ -112,6 +120,11 @@
mToolTips->addDescription( item2, c.description() );
}
}
+ for (int i=0; i<5; i++) {
+ mListView->resizeColumnToContents(i);
+ }
+ mListView->setSortingEnabled(true);
+ mFilterHeader->updateView();
}
void ProductViewer::slotUser1()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/productviewer.h new/fate-20170131-27be067/src/fate/productviewer.h
--- old/fate-20170120-10cb902/src/fate/productviewer.h 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/productviewer.h 2017-01-31 12:42:53.884633376 +0100
@@ -2,8 +2,9 @@
This file is part of Fate.
Copyright (c) 2007 SUSE LINUX Products GmbH
-
+ 2017 SUSE LINUX GmbH
Author: Cornelius Schumacher <cschum(a)suse.de>
+ Joachim Plack <jplack(a)suse.de>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +27,7 @@
class ProductMap;
class TreeViewToolTip;
+class TreeFilterHeader;
class QTreeWidget;
class ProductViewer : public KDialog
@@ -35,16 +37,15 @@
ProductViewer( ProductMap *, QWidget *parent );
~ProductViewer();
- protected:
- void slotUser1();
-
protected slots:
+ void slotUser1();
void init();
private:
ProductMap *mProductMap;
QTreeWidget *mListView;
+ TreeFilterHeader *mFilterHeader;
TreeViewToolTip *mToolTips;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/querydialogbase.ui new/fate-20170131-27be067/src/fate/querydialogbase.ui
--- old/fate-20170120-10cb902/src/fate/querydialogbase.ui 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/querydialogbase.ui 2017-01-31 12:42:53.884633376 +0100
@@ -65,7 +65,7 @@
</spacer>
</item>
<item>
- <widget class="KLineEdit" name="leProducts">
+ <widget class="QLineEdit" name="leProducts">
<property name="readOnly">
<bool>true</bool>
</property>
@@ -457,11 +457,6 @@
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
- <class>KLineEdit</class>
- <extends>QLineEdit</extends>
- <header>klineedit.h</header>
- </customwidget>
- <customwidget>
<class>RoleCombo</class>
<extends>QWidget</extends>
<header>rolecombo.h</header>
@@ -481,7 +476,6 @@
<include location="local">rolecombo.h</include>
<include location="local">inexcheckbox.h</include>
<include location="local">qxtcheckcombobox.h</include>
- <include location="local">klineedit.h</include>
</includes>
<resources/>
<connections/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/relationtreeview.cpp new/fate-20170131-27be067/src/fate/relationtreeview.cpp
--- old/fate-20170120-10cb902/src/fate/relationtreeview.cpp 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/relationtreeview.cpp 2017-01-31 12:42:53.884633376 +0100
@@ -27,7 +27,6 @@
#include "relationtreelistview.h"
#include "feature.h"
#include "filterheader.h"
-#include "relationtreelistview.h"
#include "featuremap.h"
#include "fatecombobox.h"
#include "actorlistedit.h"
@@ -42,7 +41,7 @@
#include <krun.h>
#include <kconfig.h>
#include <kmessagebox.h>
-#include <kpushbutton.h>
+#include <QPushButton>
#include <qlayout.h>
#include <qcheckbox.h>
@@ -50,7 +49,6 @@
#include <qlabel.h>
#include <qheaderview.h>
#include <QHBoxLayout>
-#include <QDropEvent>
#include <QVBoxLayout>
#include <QBoxLayout>
#include <QLabel>
@@ -138,20 +136,20 @@
buttonLayout->setSpacing(KDialog::spacingHint());
buttonLayout->addStretch(1);
- mEditButton = new KPushButton( this );
+ mEditButton = new QPushButton( this );
mEditButton->setIcon( KIcon( "document-edit" ) );
mEditButton->setText( i18n("Edit tree") );
mEditButton->setEnabled( false );
connect( mEditButton, SIGNAL( clicked() ), SIGNAL( editButtonClicked() ) );
buttonLayout->addWidget(mEditButton);
- mNewButton = new KPushButton( this );
+ mNewButton = new QPushButton( this );
mNewButton->setIcon( KIcon( "document-new" ) );
mNewButton->setText( i18n("Create new tree") );
connect( mNewButton, SIGNAL( clicked() ), SIGNAL( newButtonClicked() ) );
buttonLayout->addWidget(mNewButton);
- mDeleteButton = new KPushButton( this );
+ mDeleteButton = new QPushButton( this );
mDeleteButton->setIcon( KIcon( "edit-delete" ) );
mDeleteButton->setText( i18n("Delete tree") );
connect(mDeleteButton, SIGNAL(clicked()), SLOT(slotDeleteButtonClicked()));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/relationtreeview.h new/fate-20170131-27be067/src/fate/relationtreeview.h
--- old/fate-20170120-10cb902/src/fate/relationtreeview.h 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/relationtreeview.h 2017-01-31 12:42:53.884633376 +0100
@@ -24,7 +24,6 @@
#include <qwidget.h>
#include <QPixmap>
-#include <QDropEvent>
#include <qpoint.h>
#include "relationtree.h"
@@ -34,7 +33,7 @@
class TreeFilterHeader;
class RelationTreeListView;
class QPushButton;
-class KPushButton;
+class QPushButton;
class QComboBox;
class QLabel;
class RelationTreeMap;
@@ -120,9 +119,9 @@
RelationTreeListView *mListView;
QComboBox *mProductCombo;
QLabel *mDescriptionLabel;
- KPushButton *mEditButton;
- KPushButton *mDeleteButton;
- KPushButton *mNewButton;
+ QPushButton *mEditButton;
+ QPushButton *mDeleteButton;
+ QPushButton *mNewButton;
FateComboBox *mTreeCombo;
RelationTreeMap *mRelationTreeMap;
FeatureMap *mFeatureMap;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/rolecombo.cpp new/fate-20170131-27be067/src/fate/rolecombo.cpp
--- old/fate-20170120-10cb902/src/fate/rolecombo.cpp 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/rolecombo.cpp 2017-01-31 12:42:53.888633387 +0100
@@ -29,8 +29,6 @@
#include <qlayout.h>
#include <qcombobox.h>
-#include <QVBoxLayout>
-#include <QBoxLayout>
RoleCombo::RoleCombo( QWidget *parent, const char *name )
: QComboBox(parent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/sendmaildialogbase.ui new/fate-20170131-27be067/src/fate/sendmaildialogbase.ui
--- old/fate-20170120-10cb902/src/fate/sendmaildialogbase.ui 2017-01-20 19:36:04.246520544 +0100
+++ new/fate-20170131-27be067/src/fate/sendmaildialogbase.ui 2017-01-31 12:42:53.888633387 +0100
@@ -113,7 +113,7 @@
</widget>
</item>
<item>
- <widget class="KPushButton" name="btnSelectProduct">
+ <widget class="QPushButton" name="btnSelectProduct">
<property name="text">
<string>Select &Product...</string>
</property>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/storedqueriesdialog.cpp new/fate-20170131-27be067/src/fate/storedqueriesdialog.cpp
--- old/fate-20170120-10cb902/src/fate/storedqueriesdialog.cpp 2017-01-20 19:36:04.250520562 +0100
+++ new/fate-20170131-27be067/src/fate/storedqueriesdialog.cpp 2017-01-31 12:42:53.888633387 +0100
@@ -131,11 +131,18 @@
}
}
+QListWidgetItem *StoredQueriesDialog::selectedItem()
+{
+ QList<QListWidgetItem *>items = mListView->selectedItems();
+
+ return items.isEmpty() ? NULL : items.first();
+}
+
Query StoredQueriesDialog::selectedQuery()
{
Query query;
- QListWidgetItem *item = mListView->selectedItems().first();
+ QListWidgetItem *item = selectedItem();
if( item ) {
Query::List::Iterator it;
Query::List queries = mQueries->queries();
@@ -150,7 +157,7 @@
void StoredQueriesDialog::slotRenameQuery()
{
- QListWidgetItem *item = mListView->selectedItems().first();
+ QListWidgetItem *item = selectedItem();
if( !item )
return;
@@ -176,7 +183,7 @@
void StoredQueriesDialog::slotDeleteQuery()
{
- QListWidgetItem *item = mListView->selectedItems().first();
+ QListWidgetItem *item = selectedItem();
if( !item )
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/storedqueriesdialog.h new/fate-20170131-27be067/src/fate/storedqueriesdialog.h
--- old/fate-20170120-10cb902/src/fate/storedqueriesdialog.h 2017-01-20 19:36:04.250520562 +0100
+++ new/fate-20170131-27be067/src/fate/storedqueriesdialog.h 2017-01-31 12:42:53.888633387 +0100
@@ -27,7 +27,7 @@
#include <QLabel>
class QListWidget;
-
+class QListWidgetItem;
class StoredQueriesDialog : public KDialog
{
@@ -50,6 +50,7 @@
private:
void fillQueries();
+ QListWidgetItem *selectedItem();
private:
StoredQueries *mQueries;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fate/xquerydialog.cpp new/fate-20170131-27be067/src/fate/xquerydialog.cpp
--- old/fate-20170120-10cb902/src/fate/xquerydialog.cpp 2017-01-20 19:36:04.250520562 +0100
+++ new/fate-20170131-27be067/src/fate/xquerydialog.cpp 2017-01-31 12:42:53.888633387 +0100
@@ -27,7 +27,6 @@
#include <qsizepolicy.h>
#include <qgroupbox.h>
-#include <kactivelabel.h>
#include <klineedit.h>
#include <ktextedit.h>
#include <kdialog.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/fateui.rc new/fate-20170131-27be067/src/fateui.rc
--- old/fate-20170120-10cb902/src/fateui.rc 2017-01-20 19:36:04.250520562 +0100
+++ new/fate-20170131-27be067/src/fateui.rc 2017-01-31 12:42:53.888633387 +0100
@@ -63,7 +63,6 @@
<Action name="new_tree"/>
<Action name="stock_tree"/>
</Menu>
- <Action name="bookmarks"/>
<Menu name="settings">
<text>Settings</text>
<Action name="show_query_log"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/metamanager.cpp new/fate-20170131-27be067/src/libfate/metamanager.cpp
--- old/fate-20170120-10cb902/src/libfate/metamanager.cpp 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/metamanager.cpp 2017-01-31 12:42:53.892633399 +0100
@@ -409,7 +409,7 @@
i18n(
"The MD5 sums did not match although the metadata was reloaded"
" from the keeper. If this happens permanently, please contact"
- " inttools(a)suse.de.\n\nFailed resources:\n%1"
+ " featureadmin(a)suse.de.\n\nFailed resources:\n%1"
).arg(failedFiles.join("\n")) ,
i18n("Metadata error")
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/product.cpp new/fate-20170131-27be067/src/libfate/product.cpp
--- old/fate-20170120-10cb902/src/libfate/product.cpp 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/product.cpp 2017-01-31 12:42:53.892633399 +0100
@@ -267,6 +267,16 @@
return mFeatureDeadline;
}
+void Product::setFeatureDeadlineExt( const QDate &fde )
+{
+ mFeatureDeadlineExt = fde;
+}
+
+QDate Product::featureDeadlineExt() const
+{
+ return mFeatureDeadlineExt;
+}
+
void Product::setProductReleased( const QDate &pr )
{
mProductReleased = pr;
@@ -294,6 +304,7 @@
out << p.featureOpen();
out << p.featureDeadline();
out << p.productReleased();
+ out << p.featureDeadlineExt();
return out;
}
@@ -328,6 +339,8 @@
in >> fd; p.setFeatureDeadline( fd );
QDate pr;
in >> pr; p.setProductReleased( pr );
+ QDate fde;
+ in >> fde; p.setFeatureDeadline( fde );
return in;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/product.h new/fate-20170131-27be067/src/libfate/product.h
--- old/fate-20170120-10cb902/src/libfate/product.h 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/product.h 2017-01-31 12:42:53.892633399 +0100
@@ -120,6 +120,9 @@
QDate featureDeadline() const;
void setFeatureDeadline( const QDate & );
+ QDate featureDeadlineExt() const;
+ void setFeatureDeadlineExt( const QDate & );
+
QDate productReleased() const;
void setProductReleased( const QDate & );
@@ -140,6 +143,7 @@
Component::List mComponents;
QDate mFeatureOpen;
QDate mFeatureDeadline;
+ QDate mFeatureDeadlineExt;
QDate mProductReleased;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/productmap.cpp new/fate-20170131-27be067/src/libfate/productmap.cpp
--- old/fate-20170120-10cb902/src/libfate/productmap.cpp 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/productmap.cpp 2017-01-31 12:42:53.892633399 +0100
@@ -25,7 +25,6 @@
#include "keeper.h"
#include "prefs.h"
#include "productparser.h"
-#include "keeper.h"
#include "metamanager.h"
#include "metavaluelist.h"
#include "startupsequence.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/productparser.cpp new/fate-20170131-27be067/src/libfate/productparser.cpp
--- old/fate-20170120-10cb902/src/libfate/productparser.cpp 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/productparser.cpp 2017-01-31 12:42:53.892633399 +0100
@@ -198,6 +198,8 @@
mProduct->setFeatureOpen( QDate::fromString( mText, Qt::ISODate ) );
} else if( mDateType == "featureDeadline" ) {
mProduct->setFeatureDeadline( QDate::fromString( mText, Qt::ISODate ) );
+ } else if( mDateType == "featureDeadlineExt" ) {
+ mProduct->setFeatureDeadlineExt( QDate::fromString( mText, Qt::ISODate ) );
} else if( mDateType == "productReleased" ) {
mProduct->setProductReleased( QDate::fromString( mText, Qt::ISODate ) );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/ui/fatewidgets.h new/fate-20170131-27be067/src/libfate/ui/fatewidgets.h
--- old/fate-20170120-10cb902/src/libfate/ui/fatewidgets.h 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/ui/fatewidgets.h 2017-01-31 12:42:53.896633410 +0100
@@ -26,7 +26,6 @@
#include <qtextbrowser.h>
#include <qtextedit.h>
#include <kdebug.h>
-#include <kactivelabel.h>
// These classes work around a Qt bug, where
// widgets break the parent's layout system
@@ -37,7 +36,7 @@
class FateLabel : public QLabel
{
public:
- FateLabel( const QString &t, QWidget *p ) : QLabel( t, p ) {}
+ FateLabel( const QString &t, QWidget *p = 0) : QLabel( t, p ) {}
FateLabel( QWidget *p) : QLabel( p ) {}
QSize minimumSizeHint() const { return sizeHint(); }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/ui/filterheader.cpp new/fate-20170131-27be067/src/libfate/ui/filterheader.cpp
--- old/fate-20170120-10cb902/src/libfate/ui/filterheader.cpp 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/ui/filterheader.cpp 2017-01-31 12:42:53.896633410 +0100
@@ -1,9 +1,12 @@
/*
This file is part of Fate.
- Copyright (c) 2005 SUSE LINUX Products GmbH
+ Copyright (c) 2005,2013 SUSE LINUX Products GmbH
+ 2017 SUSE Linux GmbH
Author: Cornelius Schumacher <cschum(a)suse.de>
+ Olaf Kirch <okir(a)suse.de>
+ Joachim Plack <jplack(a)suse.de>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -97,14 +100,15 @@
{
if (mCheckBox)
mCheckBox->setChecked(false);
- mSearchLine->setText(QString::null);
- updateSearch(QString::null);
+ mSearchLine->clear();
+ updateView();
}
void FilterHeaderBase::updateSearch(const QString &search)
{
mVisibleItems = mTotalItems = 0;
(void) search;
+ kWarning() << "This should never been called";
}
void FilterHeaderBase::setTitleLabel()
@@ -146,7 +150,7 @@
TreeFilterHeader::TreeFilterHeader(QTreeWidget *treeView, unsigned int matchLevel, QWidget *parent)
: FilterHeaderBase(parent), mTreeView(treeView), mMatchLevel(matchLevel), mAutoExpand(12)
{
- updateSearch("");
+ clear();
}
void
@@ -185,11 +189,13 @@
if (item->childCount() != 0 && visibleChildren == 0)
hideItem = true;
} else {
- if (!search.isEmpty())
- hideItem = !item->text(0).contains(search, Qt::CaseInsensitive);
- if (!hideItem)
- mVisibleItems++;
- mTotalItems++;
+ hideItem = !search.isEmpty();
+ for (int i=item->columnCount(); i-- && hideItem;) {
+ hideItem = !item->text(i).contains(search, Qt::CaseInsensitive);
+ }
+ if (!hideItem)
+ mVisibleItems++;
+ mTotalItems++;
}
item->setHidden(hideItem);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libfate/ui/filterheader.h new/fate-20170131-27be067/src/libfate/ui/filterheader.h
--- old/fate-20170120-10cb902/src/libfate/ui/filterheader.h 2017-01-20 19:36:04.254520580 +0100
+++ new/fate-20170131-27be067/src/libfate/ui/filterheader.h 2017-01-31 12:42:53.896633410 +0100
@@ -1,9 +1,12 @@
/*
This file is part of Fate.
- Copyright (c) 2005 SUSE LINUX Products GmbH
+ Copyright (c) 2005,2013 SUSE LINUX Products GmbH
+ 2017 SUSE Linux GmbH
Author: Cornelius Schumacher <cschum(a)suse.de>
+ Olaf Kirch <okir(a)suse.de>
+ Joachim Plack <jplack(a)suse.de>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,10 +25,9 @@
#ifndef FILTERHEADER_H
#define FILTERHEADER_H
-#include <qwidget.h>
+#include <QWidget>
#include <QLabel>
-class QLabel;
class QCheckBox;
class QBoxLayout;
class QTreeWidget;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libxclvalidator/dtdvalidator.cpp new/fate-20170131-27be067/src/libxclvalidator/dtdvalidator.cpp
--- old/fate-20170120-10cb902/src/libxclvalidator/dtdvalidator.cpp 2017-01-20 19:36:04.258520598 +0100
+++ new/fate-20170131-27be067/src/libxclvalidator/dtdvalidator.cpp 2017-01-31 12:42:53.896633410 +0100
@@ -77,7 +77,7 @@
int len = base.length();
#ifndef NDEBUG
- qDebug( "Checking the base string |%s| of size %i", checkStr.ascii(), len );
+ qDebug( "Checking the base string |%s| of size %i", checkStr.toLatin1().constData(), len );
#endif
::mXmlErrorList.clear();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fate-20170120-10cb902/src/libxclvalidator/xclvalidator.cpp new/fate-20170131-27be067/src/libxclvalidator/xclvalidator.cpp
--- old/fate-20170120-10cb902/src/libxclvalidator/xclvalidator.cpp 2017-01-20 19:36:04.258520598 +0100
+++ new/fate-20170131-27be067/src/libxclvalidator/xclvalidator.cpp 2017-01-31 12:42:53.896633410 +0100
@@ -24,6 +24,7 @@
#include "dtdvalidator.h"
#include <QTextStream>
+#include <QDebug>
#include <qstringlist.h>
#include <qregexp.h>
@@ -61,7 +62,7 @@
if( n.nodeName() == "xcl:constraint" ) {
QDomElement constraint = n.toElement();
#ifndef NDEBUG
- qDebug( "::::Got a constraint for %s mandatory: %s", constraint.attribute( "object" ).ascii(), constraint.attribute( "mandatory" ).ascii() );
+ qDebug( "::::Got a constraint for %s mandatory: %s", constraint.attribute( "object" ).toLatin1().constData(), constraint.attribute( "mandatory" ).toLatin1().constData() );
#endif
mBasePath = constraint.attribute( "object" );
@@ -99,7 +100,7 @@
QDomElement e = n.toElement();
mVariables[e.attribute( "name" )] = e.text();
#ifndef NDEBUG
- qDebug( "Got a variable %s : %s", e.attribute( "name" ).ascii(), e.text().ascii() );
+ qDebug( "Got a variable %s : %s", e.attribute( "name" ).toLatin1().constData(), e.text().toLatin1().constData() );
#endif
}
}
@@ -144,14 +145,9 @@
}
qDebug( "::::Claim met: %i", claimMet );
- qDebug( QString("\n\nConstraint result:\n------------------\nDescription:\t%1\nCondition:\t%2\nClaim:\t\t%3").arg( description ).arg( conditionMet ).arg( claimMet ) );
+ qDebug() << QString("\n\nConstraint result:\n------------------\nDescription:\t%1\nCondition:\t%2\nClaim:\t\t%3").arg( description ).arg( conditionMet ).arg( claimMet );
#endif
-
-
-
-
-
if( conditionMet && !claimMet ) // This check failed here, there's no reason to
return false; // check the other nodes.
}
@@ -195,7 +191,7 @@
if( testNode.nodeName() == "xcl:test" ) {
QString testString = testNode.toElement().text();
#ifndef NDEBUG
- qDebug( "Got a constraint test: %s", testString.ascii() );
+ qDebug( "Got a constraint test: %s", testString.toLatin1().constData() );
#endif
result = performTest( testNode, e );
@@ -204,7 +200,7 @@
} else if( testNode.nodeName() == "xcl:hasElement" ) {
QString path = testNode.toElement().attribute( "path" );
#ifndef NDEBUG
- qDebug( "Got a claim hasElement test: %s", path.ascii() );
+ qDebug( "Got a claim hasElement test: %s", path.toLatin1().constData() );
#endif
result = performHasElement( testNode, e );
@@ -212,7 +208,7 @@
} else if( testNode.nodeName() == "xcl:validDTD" ) {
QString path = testNode.toElement().attribute( "path" );
#ifndef NDEBUG
- qDebug( "Got a claim validDTD test: %s", path.ascii() );
+ qDebug( "Got a claim validDTD test: %s", path.toLatin1().constData() );
#endif
result = performValidDTD( testNode, e );
@@ -263,7 +259,7 @@
QDomElement testNode = t.cloneNode().toElement();
QString dtd = getValue( e, testNode.text() );
#ifndef NDEBUG
- qDebug( "DTD: %s", dtd.ascii() );
+ qDebug( "DTD: %s", dtd.toLatin1().constData() );
#endif
bool conditionMet = true;
1
0
Hello community,
here is the log from the commit of package fail2ban for openSUSE:Factory checked in at 2017-01-31 12:42:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fail2ban (Old)
and /work/SRC/openSUSE:Factory/.fail2ban.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fail2ban"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fail2ban/fail2ban.changes 2016-07-28 23:47:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fail2ban.new/fail2ban.changes 2017-02-03 17:36:38.461703790 +0100
@@ -1,0 +2,75 @@
+Thu Jan 26 23:16:49 UTC 2017 - chris(a)computersalat.de
+
+- Update to 0.9.6 (2016/12/10)
+
+### Fixes
+* Misleading add resp. enable of (already available) jail in database, that
+ induced a subsequent error: last position of log file will be never retrieved (gh-795)
+* Fixed a distribution related bug within testReadStockJailConfForceEnabled
+ (e.g. test-cases faults on Fedora, see gh-1353)
+* Fixed pythonic filters and test scripts (running via wrong python version,
+ uses "fail2ban-python" now);
+* Fixed test case "testSetupInstallRoot" for not default python version (also
+ using direct call, out of virtualenv);
+* Fixed ambiguous wrong recognized date pattern resp. its optional parts (see gh-1512);
+* FIPS compliant, use sha1 instead of md5 if it not allowed (see gh-1540)
+* Monit config: scripting is not supported in path (gh-1556)
+* `filter.d/apache-modsecurity.conf`
+ - Fixed for newer version (one space, gh-1626), optimized: non-greedy catch-all
+ replaced for safer match, unneeded catch-all anchoring removed, non-capturing
+* `filter.d/asterisk.conf`
+ - Fixed to match different asterisk log prefix (source file: method:)
+* `filter.d/dovecot.conf`
+ - Fixed failregex ignores failures through some not relevant info (gh-1623)
+* `filter.d/ignorecommands/apache-fakegooglebot`
+ - Fixed error within apache-fakegooglebot, that will be called
+ with wrong python version (gh-1506)
+* `filter.d/assp.conf`
+ - Extended failregex and test cases to handle ASSP V1 and V2 (gh-1494)
+* `filter.d/postfix-sasl.conf`
+ - Allow for having no trailing space after 'failed:' (gh-1497)
+* `filter.d/vsftpd.conf`
+ - Optional reason part in message after FAIL LOGIN (gh-1543)
+* `filter.d/sendmail-reject.conf`
+ - removed mandatory double space (if dns-host available, gh-1579)
+* filter.d/sshd.conf
+ - recognized "Failed publickey for" (gh-1477);
+ - optimized failregex to match all of "Failed any-method for ... from <HOST>" (gh-1479)
+ - eliminated possible complex injections (on user-name resp. auth-info, see gh-1479)
+ - optional port part after host (see gh-1533, gh-1581)
+
+### New Features
+* New Actions:
+ - `action.d/npf.conf` for NPF, the latest packet filter for NetBSD
+* New Filters:
+ - `filter.d/mongodb-auth.conf` for MongoDB (document-oriented NoSQL database engine)
+ (gh-1586, gh-1606 and gh-1607)
+
+### Enhancements
+* DateTemplate regexp extended with the word-end boundary, additionally to
+ word-start boundary
+* Introduces new command "fail2ban-python", as automatically created symlink to
+ python executable, where fail2ban currently installed (resp. its modules are located):
+ - allows to use the same version, fail2ban currently running, e.g. in
+ external scripts just via replace python with fail2ban-python:
+ ```diff
+ -#!/usr/bin/env python
+ +#!/usr/bin/env fail2ban-python
+ ```
+ - always the same pickle protocol
+ - the same (and also guaranteed available) fail2ban modules
+ - simplified stand-alone install, resp. stand-alone installation possibility
+ via setup (like gh-1487) is getting closer
+* Several test cases rewritten using new methods assertIn, assertNotIn
+* New forward compatibility method assertRaisesRegexp (normally python >= 2.7).
+ Methods assertIn, assertNotIn, assertRaisesRegexp, assertLogged, assertNotLogged
+ are test covered now
+* Jail configuration extended with new syntax to pass options to the backend (see gh-1408),
+ examples:
+ - `backend = systemd[journalpath=/run/log/journal/machine-1]`
+ - `backend = systemd[journalfiles="/run/log/journal/machine-1/system.journal, /run/log/journal/machine-1/user.journal"]`
+ - `backend = systemd[journalflags=2]`
+
+- rebase fail2ban-opensuse-locations.patch, fail2ban-opensuse-service.patch
+
+-------------------------------------------------------------------
Old:
----
fail2ban-0.9.5.tar.gz
New:
----
fail2ban-0.9.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fail2ban.spec ++++++
--- /var/tmp/diff_new_pack.SrVRNF/_old 2017-02-03 17:36:39.085615482 +0100
+++ /var/tmp/diff_new_pack.SrVRNF/_new 2017-02-03 17:36:39.089614916 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fail2ban
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -17,7 +17,7 @@
Name: fail2ban
-Version: 0.9.5
+Version: 0.9.6
Release: 0
Summary: Bans IP addresses that make too many authentication failures
License: GPL-2.0+
@@ -34,11 +34,11 @@
# ignore some rpm-lint messages
Source200: %{name}-rpmlintrc
# PATCH-FIX-OPENSUSE fail2ban-opensuse-locations.patch bnc#878028 jweberhofer(a)weberhofer.at -- update default locations for logfiles
-Patch100: fail2ban-opensuse-locations.patch
+Patch100: %{name}-opensuse-locations.patch
# PATCH-FIX-OPENSUSE fail2ban-opensuse-service.patch jweberhofer(a)weberhofer.at -- openSUSE modifications to the service file
-Patch101: fail2ban-opensuse-service.patch
+Patch101: %{name}-opensuse-service.patch
# PATCH-FIX-OPENSUSE fail2ban-disable-iptables-w-option.patch jweberhofer(a)weberhofer.at -- disable iptables "-w" option for older releases
-Patch200: fail2ban-disable-iptables-w-option.patch
+Patch200: %{name}-disable-iptables-w-option.patch
BuildRequires: fdupes
BuildRequires: logrotate
BuildRequires: python-devel
@@ -81,19 +81,19 @@
can be defined by the user. Fail2Ban can read multiple log files such as sshd
or Apache web server ones.
-%package -n SuSEfirewall2-fail2ban
+%package -n SuSEfirewall2-%{name}
Summary: Files for integrating fail2ban into SuSEfirewall2 via systemd
Group: Productivity/Networking/Security
Requires: SuSEfirewall2
Requires: fail2ban
Recommends: packageand(SuSEfirewall2:fail2ban)
-%description -n SuSEfirewall2-fail2ban
+%description -n SuSEfirewall2-%{name}
This package ships systemd files which will cause fail2ban to be ordered in
relation to SuSEfirewall2 such that the two can be run concurrently within
reason, i.e. SFW will always run first because it does a table flush.
-%package -n nagios-plugins-fail2ban
+%package -n nagios-plugins-%{name}
%define nagios_plugindir %{_libexecdir}/nagios/plugins
Summary: Check fail2ban server and how many IPs are currently banned
Group: System/Monitoring
@@ -115,8 +115,8 @@
# Use openSUSE paths
sed -i -e 's/^before = paths-.*/before = paths-opensuse.conf/' config/jail.conf
-%patch100 -p1
-%patch101 -p1
+%patch100
+%patch101
%if 0%{?suse_version} < 1310
%patch200 -p1
%endif
@@ -127,7 +127,7 @@
config/paths-osx.conf
# correct doc-path
-sed -i -e 's|%{_datadir}/doc/fail2ban|%{_docdir}/%{name}|' setup.py
+sed -i -e 's|%{_datadir}/doc/%{name}|%{_docdir}/%{name}|' setup.py
# remove syslogd-logger settings for older distributions
%if 0%{?suse_version} < 1230
@@ -179,13 +179,13 @@
echo "# Do all your modifications to the jail's configuration in jail.local!" > %{buildroot}%{_sysconfdir}/%{name}/jail.local
-install -d -m 0755 %{buildroot}%{_localstatedir}/lib/fail2ban/
+install -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}/
install -d -m 755 %{buildroot}%{_localstatedir}/adm/fillup-templates
install -p -m 644 %{SOURCE2} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
install -d -m 755 %{buildroot}%{_sysconfdir}/logrotate.d
-install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/fail2ban
+install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
%if 0%{?_unitdir:1}
install -Dm 0644 "%{_sourcedir}/sfw-fail2ban.conf" \
@@ -193,7 +193,7 @@
install -D -m 0644 "%{_sourcedir}/f2b-restart.conf" \
"%{buildroot}%{_unitdir}/fail2ban.service.d/SuSEfirewall2.conf"
%endif
-install -D -m 755 files/nagios/check_fail2ban %{buildroot}%{nagios_plugindir}/check_fail2ban
+install -D -m 755 files/nagios/check_fail2ban %{buildroot}%{nagios_plugindir}/check_%{name}
# install docs using the macro
rm -r %{buildroot}%{_docdir}/%{name}
@@ -241,10 +241,10 @@
%endif
%if 0%{?_unitdir:1}
-%post -n SuSEfirewall2-fail2ban
+%post -n SuSEfirewall2-%{name}
%{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
-%postun -n SuSEfirewall2-fail2ban
+%postun -n SuSEfirewall2-%{name}
%{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
%endif
@@ -252,22 +252,22 @@
%defattr(-, root, root)
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/%{name}/action.d
-%dir %{_sysconfdir}/%{name}/fail2ban.d
+%dir %{_sysconfdir}/%{name}/%{name}.d
%dir %{_sysconfdir}/%{name}/filter.d
%dir %{_sysconfdir}/%{name}/jail.d
#
%config %{_sysconfdir}/%{name}/action.d/*
%config %{_sysconfdir}/%{name}/filter.d/*
#
-%config(noreplace) %{_sysconfdir}/%{name}/fail2ban.conf
+%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%config %{_sysconfdir}/%{name}/jail.conf
%config %{_sysconfdir}/%{name}/paths-common.conf
%config %{_sysconfdir}/%{name}/paths-opensuse.conf
#
%config(noreplace) %{_sysconfdir}/%{name}/jail.local
#
-%config %{_sysconfdir}/logrotate.d/fail2ban
-%dir %{_localstatedir}/lib/fail2ban/
+%config %{_sysconfdir}/logrotate.d/%{name}
+%dir %{_localstatedir}/lib/%{name}/
%if 0%{?suse_version} > 1310
# use /run directory
%ghost /run/%{name}
@@ -284,9 +284,10 @@
%{_initddir}/%{name}
%endif
%{_sbindir}/rc%{name}
-%{_bindir}/fail2ban-server
-%{_bindir}/fail2ban-client
-%{_bindir}/fail2ban-regex
+%{_bindir}/%{name}-server
+%{_bindir}/%{name}-client
+%{_bindir}/%{name}-python
+%{_bindir}/%{name}-regex
%{python_sitelib}/%{name}
%exclude %{python_sitelib}/%{name}/tests
%{python_sitelib}/%{name}-*
@@ -296,21 +297,21 @@
%doc README.md TODO ChangeLog COPYING doc/*.txt
# do not include tests as they are executed during the build process
-%exclude %{_bindir}/fail2ban-testcases
+%exclude %{_bindir}/%{name}-testcases
%exclude %{python_sitelib}/%{name}/tests
%if 0%{?_unitdir:1}
-%files -n SuSEfirewall2-fail2ban
+%files -n SuSEfirewall2-%{name}
%defattr(-,root,root)
%{_unitdir}/SuSEfirewall2.service.d
-%{_unitdir}/fail2ban.service.d
+%{_unitdir}/%{name}.service.d
%endif
-%files -n nagios-plugins-fail2ban
+%files -n nagios-plugins-%{name}
%defattr(-,root,root)
%doc files/nagios/README COPYING
%dir %{_libexecdir}/nagios
%dir %{nagios_plugindir}
-%{nagios_plugindir}/check_fail2ban
+%{nagios_plugindir}/check_%{name}
%changelog
++++++ fail2ban-0.9.5.tar.gz -> fail2ban-0.9.6.tar.gz ++++++
++++ 3028 lines of diff (skipped)
++++++ fail2ban-opensuse-locations.patch ++++++
--- /var/tmp/diff_new_pack.SrVRNF/_old 2017-02-03 17:36:39.269589443 +0100
+++ /var/tmp/diff_new_pack.SrVRNF/_new 2017-02-03 17:36:39.273588877 +0100
@@ -1,7 +1,8 @@
-diff -Nur fail2ban-0.9.4-orig/config/jail.conf fail2ban-0.9.4/config/jail.conf
---- fail2ban-0.9.4-orig/config/jail.conf 2016-03-08 03:50:10.000000000 +0100
-+++ fail2ban-0.9.4/config/jail.conf 2016-03-10 09:38:46.382071358 +0100
-@@ -669,7 +669,7 @@
+Index: config/jail.conf
+===================================================================
+--- config/jail.conf.orig
++++ config/jail.conf
+@@ -670,7 +670,7 @@ backend = %(syslog_backend)s
# filter = named-refused
# port = domain,953
# protocol = udp
@@ -10,7 +11,7 @@
# IMPORTANT: see filter.d/named-refused for instructions to enable logging
# This jail blocks TCP traffic for DNS requests.
-@@ -677,7 +677,7 @@
+@@ -678,7 +678,7 @@ backend = %(syslog_backend)s
[named-refused]
port = domain,953
@@ -19,10 +20,11 @@
[nsd]
-diff -Nur fail2ban-0.9.4-orig/config/paths-common.conf fail2ban-0.9.4/config/paths-common.conf
---- fail2ban-0.9.4-orig/config/paths-common.conf 2016-03-08 03:50:10.000000000 +0100
-+++ fail2ban-0.9.4/config/paths-common.conf 2016-03-10 09:36:00.690852425 +0100
-@@ -74,7 +74,7 @@
+Index: config/paths-common.conf
+===================================================================
+--- config/paths-common.conf.orig
++++ config/paths-common.conf
+@@ -75,7 +75,7 @@ solidpop3d_log = %(syslog_local0)s
mysql_log = %(syslog_daemon)s
mysql_backend = %(default_backend)s
++++++ fail2ban-opensuse-service.patch ++++++
--- /var/tmp/diff_new_pack.SrVRNF/_old 2017-02-03 17:36:39.281587745 +0100
+++ /var/tmp/diff_new_pack.SrVRNF/_new 2017-02-03 17:36:39.285587179 +0100
@@ -1,6 +1,7 @@
-diff -Nur fail2ban-0.9.4-orig/files/fail2ban.service fail2ban-0.9.4/files/fail2ban.service
---- fail2ban-0.9.4-orig/files/fail2ban.service 2016-03-08 03:50:10.000000000 +0100
-+++ fail2ban-0.9.4/files/fail2ban.service 2016-03-10 10:33:48.834063007 +0100
+Index: files/fail2ban.service
+===================================================================
+--- files/fail2ban.service.orig
++++ files/fail2ban.service
@@ -1,12 +1,13 @@
[Unit]
Description=Fail2Ban Service
1
0
Hello community,
here is the log from the commit of package extra-cmake-modules for openSUSE:Factory checked in at 2017-01-31 11:54:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old)
and /work/SRC/openSUSE:Factory/.extra-cmake-modules.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "extra-cmake-modules"
Changes:
--------
--- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes 2016-12-17 11:02:33.818097057 +0100
+++ /work/SRC/openSUSE:Factory/.extra-cmake-modules.new/extra-cmake-modules.changes 2017-02-03 17:36:36.230019659 +0100
@@ -1,0 +2,7 @@
+Sun Jan 8 23:36:41 UTC 2017 - hrvoje.senjan(a)gmail.com
+
+- Update to 5.30.0
+ * For more details please see:
+ https://www.kde.org/announcements/kde-frameworks-5.30.0.php
+
+-------------------------------------------------------------------
Old:
----
extra-cmake-modules-5.29.0.tar.xz
New:
----
extra-cmake-modules-5.30.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ extra-cmake-modules.spec ++++++
--- /var/tmp/diff_new_pack.yt4oFP/_old 2017-02-03 17:36:36.653959655 +0100
+++ /var/tmp/diff_new_pack.yt4oFP/_new 2017-02-03 17:36:36.657959089 +0100
@@ -1,7 +1,7 @@
#
# spec file for package extra-cmake-modules
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -16,23 +16,23 @@
#
-%define _tar_path 5.29
+%define _tar_path 5.30
Name: extra-cmake-modules
Summary: CMake modules
License: BSD-3-Clause
Group: Development/Tools/Other
Url: https://projects.kde.org/projects/kdesupport/extra-cmake-modules
-Version: 5.29.0
+Version: 5.30.0
Release: 0
Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.t…
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: cmake >= 2.8.12
+BuildRequires: cmake >= 3.0
BuildRequires: gcc-c++
BuildRequires: kf5-filesystem >= 5.6.0
%if %suse_version != 1315
BuildRequires: python-Sphinx
%endif
-Requires: cmake >= 2.8.12
+Requires: cmake >= 3.0
Requires: gcc-c++
Requires: kf5-filesystem
Provides: kf5umbrella = 4.99.0
++++++ extra-cmake-modules-5.29.0.tar.xz -> extra-cmake-modules-5.30.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/.gitignore new/extra-cmake-modules-5.30.0/.gitignore
--- old/extra-cmake-modules-5.29.0/.gitignore 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-/build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/CMakeLists.txt new/extra-cmake-modules-5.30.0/CMakeLists.txt
--- old/extra-cmake-modules-5.29.0/CMakeLists.txt 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/CMakeLists.txt 2017-01-06 16:34:40.000000000 +0100
@@ -32,7 +32,7 @@
# Preliminary setup
#
-set(VERSION "5.29.0") # handled by release scripts
+set(VERSION "5.30.0") # handled by release scripts
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/Jenkinsfile_master_kf5-qt5_linux_gcc new/extra-cmake-modules-5.30.0/Jenkinsfile_master_kf5-qt5_linux_gcc
--- old/extra-cmake-modules-5.29.0/Jenkinsfile_master_kf5-qt5_linux_gcc 1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/Jenkinsfile_master_kf5-qt5_linux_gcc 2017-01-06 16:34:40.000000000 +0100
@@ -0,0 +1,134 @@
+#!groovy
+
+/*
+The MIT License
+Copyright (c) 2015-, CloudBees, Inc., and a number of other of contributors
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+
+node(linux) {
+ // We want Timestamps on everything
+ timestamps {
+ // First Thing: Checkout Sources
+ stage('Checkout Sources') {
+ // Actual Application Sources
+ checkout changelog: true, poll: true, scm: [
+ $class: 'GitSCM',
+ branches: [[name: ${branch}]],
+ browser: [$class: 'CGit', repoUrl: 'https://cgit.kde.org/extra-cmake-modules.git'],
+ extensions: [[$class: 'CloneOption', timeout: 120]],
+ userRemoteConfigs: [[url: 'https://anongit.kde.org/extra-cmake-modules.git']]
+ ]
+
+ // Our CI scripts
+ checkout changelog: false, poll: false, scm: [
+ $class: 'GitSCM',
+ branches: [[name: 'master']],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ci-tooling/']],
+ userRemoteConfigs: [[url: 'https://anongit.kde.org/sysadmin/ci-tools-experimental.git']]
+ ]
+
+ // Dependency Metadata
+ checkout changelog: false, poll: false, scm: [
+ $class: 'GitSCM',
+ branches: [[name: 'master']],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ci-tooling/dependencies/']],
+ userRemoteConfigs: [[url: 'https://anongit.kde.org/kde-build-metadata']]
+ ]
+
+ // KApiDox: For api.kde.org metadata extraction
+ checkout changelog: false, poll: false, scm: [
+ $class: 'GitSCM',
+ branches: [[name: 'master']],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ci-tooling/kapidox/']],
+ userRemoteConfigs: [[url: 'https://anongit.kde.org/kapidox']]
+ ]
+
+ // kde-dev-scripts: For packager metadata extraction
+ checkout changelog: false, poll: false, scm: [
+ $class: 'GitSCM',
+ branches: [[name: 'master']],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'ci-tooling/kde-dev-scripts/']],
+ userRemoteConfigs: [[url: 'https://anongit.kde.org/kde-dev-scripts']]
+ ]
+ }
+ // Now Prepare to Build: Get the dependencies ready
+ stage('Setup Dependencies') {
+ // Now we can determine what our dependencies are
+ // Then update to the latest version of the dependencies available from the master server
+ // Finally extract all of those dependencies in turn into the given 'installTo' directory
+ sh 'python helpers/prepare-dependencies.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux --installTo + "$WORKSPACE/install-prefix/"
+ }
+ // Now we can configure our build
+ stage('Configuring Build') {
+ // This is delegated through a helper script to handle minor special cases like inSourceBuilds, non-CMake build systems, etc
+ sh 'python helpers/configure-build.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux '--installTo + "$WORKSPACE/install-prefix/"
+ }
+ // Finally we can build it! (Once again, through a helper)
+ stage('Compiling') {
+ // We use a helper here so we can determine the appropriate number of CPUs (-j) to build with
+ sh 'python helpers/compile-build.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux
+ }
+ // Now ensure that it installs....
+ stage('Installing') {
+ // The helper ensures that DESTDIR and INSTALL_ROOT are set to 'divertTo'
+ // This allows us to capture the install at the next stage for later reuse in the Setup Dependencies step
+ sh 'python helpers/install-build.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux --divertTo + "$WORKSPACE/install-divert/"
+ }
+ // Looks like it built okay - let's capture this for later use
+ // We'll also take the opportunity to extract metadata from CMake used by packagers and api.kde.org
+ stage('Capturing Installation') {
+ // First we create a tar archive of the installation which was diverted
+ // Then we upload a copy of that to the master server and have it publish the new archive
+ // Finally to save bandwidth our copy of the tar archive is moved to our local cache for reuse on later builds on this node
+ sh 'python helpers/capture-install.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux --divertedTo "$WORKSPACE/install-divert/" --installTo "$WORKSPACE/install-prefix/"
+ // Now we extract the CMake metadata and upload that to the appropriate hosts
+ sh 'python helpers/extract-cmake-metadata.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux
+ }
+ // Now we can run our tests
+ stage('Running Tests') {
+ // Run the unit tests for this project
+ // Tests are run in a basic environment (X, DBus)
+ sh 'python helpers/run-tests.py --project extra-cmake-modules --branchGroup kf5-qt5 --platform linux
+ // Collect our results
+ junit allowEmptyResults: true, testResults: 'build/JUnitTestResults.xml'
+ }
+ // Final thing to do: some code quality checks
+ stage('Checking Code Quality') {
+
+ // cppcheck is not supported by Pipeline at the moment, so we don't run that for now
+ // See https://issues.jenkins-ci.org/browse/JENKINS-35096
+
+ // Cobertura doesn't support Pipeline either, so no code coverage publishing...
+ // See https://issues.jenkins-ci.org/browse/JENKINS-30700
+
+ // Scan the logs and publish a warnings report
+ step( [$class: 'WarningsPublisher', consoleParsers: [[parserName: 'GNU Make + GNU C Compiler (gcc)'], [parserName: 'Appstreamercli']], excludePattern: '/tmp/**'] )
+ }
+ // Send an email notification of this
+ emailext(
+ to: 'ci-builds(a)kde.org',
+ body: '${JELLY_SCRIPT,template="text"}',
+ subject: 'KDE CI: ${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
+ attachLog: true
+ )
+// IRC Notifications are currently not supported by Pipeline
+// See https://issues.jenkins-ci.org/browse/JENKINS-33922
+// We can probably workaround this using Pursuivant and the emails Jenkins sends out
+// This would allow subscribing to build notifications for IRC channels in much the same way one subscribes for Commits and Bugzilla changes
+}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/find-modules/FindPythonModuleGeneration.cmake new/extra-cmake-modules-5.30.0/find-modules/FindPythonModuleGeneration.cmake
--- old/extra-cmake-modules-5.29.0/find-modules/FindPythonModuleGeneration.cmake 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/find-modules/FindPythonModuleGeneration.cmake 2017-01-06 16:34:40.000000000 +0100
@@ -185,7 +185,7 @@
find_library(libclang_LIBRARY clang-3.${_LIBCLANG3_MAX_VERSION})
if (libclang_LIBRARY)
- message(FATAL_ERROR "The max python version in ${CMAKE_FIND_PACKAGE_NAME} must be updated.")
+ message(FATAL_ERROR "The max libclang-3 version in ${CMAKE_FIND_PACKAGE_NAME} must be updated.")
endif()
set(_LIBCLANG3_FIND_VERSION ${_LIBCLANG3_MAX_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/find-modules/rules_engine.py new/extra-cmake-modules-5.30.0/find-modules/rules_engine.py
--- old/extra-cmake-modules-5.29.0/find-modules/rules_engine.py 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/find-modules/rules_engine.py 2017-01-06 16:34:40.000000000 +0100
@@ -69,7 +69,11 @@
class Rule(object):
def __init__(self, db, rule_number, fn, pattern_zip):
- self.db = db
+ #
+ # Derive a useful name for diagnostic purposes.
+ #
+ caller = os.path.basename(inspect.stack()[3][1])
+ self.name = "{}:{}[{}],{}".format(caller, type(db).__name__, rule_number, fn.__name__)
self.rule_number = rule_number
self.fn = fn
self.usage = 0
@@ -86,10 +90,22 @@
return self.matcher.match(candidate)
def trace_result(self, parents, item, original, modified):
+ """
+ Record any modification both in the log and the returned result. If a rule fired, but
+ caused no modification, that is logged.
+
+ :return: Modifying rule or None.
+ """
fqn = parents + "::" + original["name"] + "[" + str(item.extent.start.line) + "]"
- self._trace_result(fqn, original, modified)
+ return self._trace_result(fqn, original, modified)
def _trace_result(self, fqn, original, modified):
+ """
+ Record any modification both in the log and the returned result. If a rule fired, but
+ caused no modification, that is logged.
+
+ :return: Modifying rule or None.
+ """
if not modified["name"]:
logger.debug(_("Rule {} suppressed {}, {}").format(self, fqn, original))
else:
@@ -102,9 +118,11 @@
logger.debug(_("Rule {} modified {}, {}->{}").format(self, fqn, original, modified))
else:
logger.warn(_("Rule {} did not modify {}, {}").format(self, fqn, original))
+ return None
+ return self
def __str__(self):
- return "[{},{}]".format(self.rule_number, self.fn.__name__)
+ return self.name
class AbstractCompiledRuleDb(object):
@@ -117,7 +135,7 @@
if len(raw_rule) != len(parameter_names) + 1:
raise RuntimeError(_("Bad raw rule {}: {}: {}").format(db.__name__, raw_rule, parameter_names))
z = zip(raw_rule[:-1], parameter_names)
- self.compiled_rules.append(Rule(db, i, raw_rule[-1], z))
+ self.compiled_rules.append(Rule(self, i, raw_rule[-1], z))
self.candidate_formatter = _SEPARATOR.join(["{}"] * len(parameter_names))
def _match(self, *args):
@@ -139,7 +157,7 @@
def dump_usage(self, fn):
""" Dump the usage counts."""
for rule in self.compiled_rules:
- fn(self.__class__.__name__, str(rule), rule.usage)
+ fn(str(rule), rule.usage)
class ContainerRuleDb(AbstractCompiledRuleDb):
@@ -199,17 +217,19 @@
def apply(self, container, sip):
"""
- Walk over the rules database for functions, applying the first matching transformation.
+ Walk over the rules database for containers, applying the first matching transformation.
:param container: The clang.cindex.Cursor for the container.
- :param sip: The SIP dict.
+ :param sip: The SIP dict (may be modified on return).
+ :return: Modifying rule or None (even if a rule matched, it may not modify things).
"""
parents = _parents(container)
matcher, rule = self._match(parents, sip["name"], sip["template_parameters"], sip["decl"], sip["base_specifiers"])
if matcher:
before = deepcopy(sip)
rule.fn(container, sip, matcher)
- rule.trace_result(parents, container, before, sip)
+ return rule.trace_result(parents, container, before, sip)
+ return None
class FunctionRuleDb(AbstractCompiledRuleDb):
@@ -277,14 +297,17 @@
:param container: The clang.cindex.Cursor for the container.
:param function: The clang.cindex.Cursor for the function.
- :param sip: The SIP dict.
+ :param sip: The SIP dict (may be modified on return).
+ :return: Modifying rule or None (even if a rule matched, it may not modify things).
"""
parents = _parents(function)
matcher, rule = self._match(parents, sip["name"], ", ".join(sip["template_parameters"]), sip["fn_result"], ", ".join(sip["parameters"]))
if matcher:
+ sip.setdefault("code", "")
before = deepcopy(sip)
rule.fn(container, function, sip, matcher)
- rule.trace_result(parents, function, before, sip)
+ return rule.trace_result(parents, function, before, sip)
+ return None
class ParameterRuleDb(AbstractCompiledRuleDb):
@@ -350,14 +373,17 @@
:param container: The clang.cindex.Cursor for the container.
:param function: The clang.cindex.Cursor for the function.
:param parameter: The clang.cindex.Cursor for the parameter.
- :param sip: The SIP dict.
+ :param sip: The SIP dict (may be modified on return).
+ :return: Modifying rule or None (even if a rule matched, it may not modify things).
"""
parents = _parents(function)
matcher, rule = self._match(parents, function.spelling, sip["name"], sip["decl"], sip["init"])
if matcher:
+ sip.setdefault("code", "")
before = deepcopy(sip)
rule.fn(container, function, parameter, sip, matcher)
- rule.trace_result(parents, parameter, before, sip)
+ return rule.trace_result(parents, parameter, before, sip)
+ return None
class VariableRuleDb(AbstractCompiledRuleDb):
@@ -415,14 +441,17 @@
:param container: The clang.cindex.Cursor for the container.
:param variable: The clang.cindex.Cursor for the variable.
- :param sip: The SIP dict.
+ :param sip: The SIP dict (may be modified on return).
+ :return: Modifying rule or None (even if a rule matched, it may not modify things).
"""
parents = _parents(variable)
matcher, rule = self._match(parents, sip["name"], sip["decl"])
if matcher:
+ sip.setdefault("code", "")
before = deepcopy(sip)
rule.fn(container, variable, sip, matcher)
- rule.trace_result(parents, variable, before, sip)
+ return rule.trace_result(parents, variable, before, sip)
+ return None
class RuleSet(object):
@@ -474,11 +503,12 @@
def dump_unused(self):
"""Usage statistics, to identify unused rules."""
- def dumper(db_name, rule, usage):
+ def dumper(rule, usage):
if usage:
- logger.info(_("Rule {}::{} used {} times".format(db_name, rule, usage)))
+ logger.info(_("Rule {} used {} times".format(rule, usage)))
else:
- logger.warn(_("Rule {}::{} unused".format(db_name, rule)))
+ logger.warn(_("Rule {} was not used".format(rule)))
+
for db in [self.container_rules(), self.function_rules(), self.parameter_rules(),
self.variable_rules()]:
db.dump_usage(dumper)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/find-modules/sip_generator.py new/extra-cmake-modules-5.30.0/find-modules/sip_generator.py
--- old/extra-cmake-modules-5.29.0/find-modules/sip_generator.py 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/find-modules/sip_generator.py 2017-01-06 16:34:40.000000000 +0100
@@ -304,16 +304,19 @@
sip["decl"] = container_type
sip["base_specifiers"] = ", ".join(base_specifiers)
sip["body"] = body
- self.rules.container_rules().apply(container, sip)
+ modifying_rule = self.rules.container_rules().apply(container, sip)
pad = " " * (level * 4)
if sip["name"]:
- decl = pad + sip["decl"]
+ decl = ""
+ if modifying_rule:
+ decl += "// Modified {} (by {}):\n".format(SipGenerator.describe(container), modifying_rule)
+ decl += pad + sip["decl"]
if "External" in sip["annotations"]:
#
# SIP /External/ does not seem to work as one might wish. Suppress.
#
body = decl + " /External/;\n"
- body = pad + "// Discarded {}\n".format(SipGenerator.describe(container))
+ body = pad + "// Discarded {} (by {})\n".format(SipGenerator.describe(container), "/External/ handling")
else:
if sip["base_specifiers"]:
decl += ": " + sip["base_specifiers"]
@@ -325,7 +328,7 @@
decl += "%TypeHeaderCode\n#include <{}>\n%End\n".format(include_filename)
body = decl + sip["body"] + pad + "};\n"
else:
- body = pad + "// Discarded {}\n".format(SipGenerator.describe(container))
+ body = pad + "// Discarded {} (by {})\n".format(SipGenerator.describe(container), modifying_rule)
return body
def _get_access_specifier(self, member, level):
@@ -344,8 +347,11 @@
decl = pad + "enum {} {{\n".format(enum.displayname)
enumerations = []
for enum in enum.get_children():
- enumerations.append(pad + " {}".format(enum.displayname))
- assert enum.kind == CursorKind.ENUM_CONSTANT_DECL
+ #
+ # Skip visibility attributes and the like.
+ #
+ if enum.kind == CursorKind.ENUM_CONSTANT_DECL:
+ enumerations.append(pad + " {}".format(enum.displayname))
decl += ",\n".join(enumerations) + "\n"
decl += pad + "}"
return decl
@@ -375,6 +381,7 @@
"name": function.spelling,
}
parameters = []
+ parameter_modifying_rules = []
template_parameters = []
for child in function.get_children():
if child.kind == CursorKind.PARM_DECL:
@@ -391,7 +398,9 @@
"init": self._fn_get_parameter_default(function, child),
"annotations": set()
}
- self.rules.parameter_rules().apply(container, function, child, child_sip)
+ modifying_rule = self.rules.parameter_rules().apply(container, function, child, child_sip)
+ if modifying_rule:
+ parameter_modifying_rules.append("// Modified {} (by {}):\n".format(SipGenerator.describe(child), modifying_rule))
decl = child_sip["decl"]
if child_sip["annotations"]:
decl += " /" + ",".join(child_sip["annotations"]) + "/"
@@ -430,11 +439,18 @@
sip["fn_result"] = function.result_type.spelling
sip["parameters"] = parameters
sip["prefix"], sip["suffix"] = self._fn_get_decorators(function)
- self.rules.function_rules().apply(container, function, sip)
+ modifying_rule = self.rules.function_rules().apply(container, function, sip)
pad = " " * (level * 4)
if sip["name"]:
+ decl = ""
+ if modifying_rule:
+ decl += "// Modified {} (by {}):\n".format(SipGenerator.describe(function), modifying_rule) + pad
+ decl += pad.join(parameter_modifying_rules)
+ if parameter_modifying_rules:
+ decl += pad
+
sip["template_parameters"] = ", ".join(sip["template_parameters"])
- decl = sip["name"] + "(" + ", ".join(sip["parameters"]) + ")"
+ decl += sip["name"] + "(" + ", ".join(sip["parameters"]) + ")"
if sip["fn_result"]:
decl = sip["fn_result"] + " " + decl
decl = pad + sip["prefix"] + decl + sip["suffix"]
@@ -442,7 +458,7 @@
decl = pad + "template <" + sip["template_parameters"] + ">\n" + decl
decl += ";\n"
else:
- decl = pad + "// Discarded {}\n".format(SipGenerator.describe(function))
+ decl = pad + "// Discarded {} (by {})\n".format(SipGenerator.describe(function), modifying_rule)
return decl
def _fn_get_decorators(self, function):
@@ -607,7 +623,7 @@
#
decl = "{} {}".format(variable.type.spelling, variable.spelling)
sip["decl"] = decl
- self.rules.variable_rules().apply(container, variable, sip)
+ modifying_rule = self.rules.variable_rules().apply(container, variable, sip)
pad = " " * (level * 4)
if sip["name"]:
@@ -620,7 +636,7 @@
else:
decl = pad + decl + ";\n"
else:
- decl = pad + "// Discarded {}\n".format(SipGenerator.describe(variable))
+ decl = pad + "// Discarded {} (by {})\n".format(SipGenerator.describe(variable), modifying_rule)
return decl
def _read_source(self, extent):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/kde-modules/KDECompilerSettings.cmake new/extra-cmake-modules-5.30.0/kde-modules/KDECompilerSettings.cmake
--- old/extra-cmake-modules-5.29.0/kde-modules/KDECompilerSettings.cmake 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/kde-modules/KDECompilerSettings.cmake 2017-01-06 16:34:40.000000000 +0100
@@ -100,7 +100,7 @@
else()
_kde_compiler_min_version("4.5")
endif()
-elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
_kde_compiler_min_version("3.1")
else()
message(WARNING "${CMAKE_CXX_COMPILER_ID} is not a supported C++ compiler.")
@@ -332,7 +332,7 @@
# Better diagnostics (warnings, errors)
############################################################
-if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR
+if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT APPLE) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32))
# Linker warnings should be treated as errors
@@ -458,5 +458,13 @@
set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--export-all-symbols")
endif()
+if (CMAKE_GENERATOR STREQUAL "Ninja" AND
+ ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR
+ (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)))
+ # Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support.
+ # Rationale in https://github.com/ninja-build/ninja/issues/814
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
+endif()
+
include("${ECM_MODULE_DIR}/ECMEnableSanitizers.cmake")
include("${ECM_MODULE_DIR}/ECMCoverageOption.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/kde-modules/appstreamtest.cmake new/extra-cmake-modules-5.30.0/kde-modules/appstreamtest.cmake
--- old/extra-cmake-modules-5.29.0/kde-modules/appstreamtest.cmake 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/kde-modules/appstreamtest.cmake 2017-01-06 16:34:40.000000000 +0100
@@ -1,5 +1,11 @@
-file(READ "${INSTALL_FILES}" out)
-string(REPLACE "\n" ";" out "${out}")
+file(GLOB install_done "${INSTALL_FILES}")
+if (install_done)
+ file(READ "${INSTALL_FILES}" out)
+ string(REPLACE "\n" ";" out "${out}")
+else()
+ message("Not installed yet, skipping")
+ set(out "")
+endif()
set(metadatafiles)
foreach(file IN LISTS out)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/modules/ECMEnableSanitizers.cmake new/extra-cmake-modules-5.30.0/modules/ECMEnableSanitizers.cmake
--- old/extra-cmake-modules-5.29.0/modules/ECMEnableSanitizers.cmake 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/modules/ECMEnableSanitizers.cmake 2017-01-06 16:34:40.000000000 +0100
@@ -151,6 +151,10 @@
string(TOLOWER ${CUR_SANITIZER} CUR_SANITIZER)
# check option and enable appropriate flags
enable_sanitizer_flags ( ${CUR_SANITIZER} )
+ # TODO: GCC will not link pthread library if enabled ASan
+ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
+ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XSAN_COMPILE_FLAGS}" )
+ endif()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${XSAN_COMPILE_FLAGS}" )
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
link_libraries(${XSAN_LINKER_FLAGS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/tests/GenerateSipBindings/cpplib.h new/extra-cmake-modules-5.30.0/tests/GenerateSipBindings/cpplib.h
--- old/extra-cmake-modules-5.29.0/tests/GenerateSipBindings/cpplib.h 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/tests/GenerateSipBindings/cpplib.h 2017-01-06 16:34:40.000000000 +0100
@@ -47,6 +47,8 @@
int fwdDecl(const FwdDecl& f);
int fwdDeclRef(FwdDecl& f);
+ mode_t dummyFunc(QObject* parent) { return 0; }
+
signals:
void publicSlotCalled();
@@ -93,6 +95,8 @@
Q_DISABLE_COPY(NonCopyableByMacro)
};
+Q_DECLARE_METATYPE(NonCopyableByMacro*)
+
class HasPrivateDefaultCtor
{
public:
@@ -113,3 +117,8 @@
};
}
+
+enum __attribute__((visibility("default"))) EnumWithAttributes {
+ Foo,
+ Bar = 2
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/tests/GenerateSipBindings/testscript.py new/extra-cmake-modules-5.30.0/tests/GenerateSipBindings/testscript.py
--- old/extra-cmake-modules-5.29.0/tests/GenerateSipBindings/testscript.py 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/tests/GenerateSipBindings/testscript.py 2017-01-06 16:34:40.000000000 +0100
@@ -26,6 +26,12 @@
assert(mo.qtEnumTest(QtCore.Qt.MatchContains | QtCore.Qt.MatchStartsWith) == 3)
assert(mo.localEnumTest(PyTest.CppLib.MyObject.Val2) == 2)
+#
+# Verify that an enum with attributes can be read.
+#
+assert(PyTest.CppLib.Foo == 0)
+assert(PyTest.CppLib.Bar == 2)
+
class Reactor(QtCore.QObject):
def __init__(self, obj):
QtCore.QObject.__init__(self)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-5.29.0/toolchain/Android.cmake new/extra-cmake-modules-5.30.0/toolchain/Android.cmake
--- old/extra-cmake-modules-5.29.0/toolchain/Android.cmake 2016-12-03 21:25:10.000000000 +0100
+++ new/extra-cmake-modules-5.30.0/toolchain/Android.cmake 2017-01-06 16:34:40.000000000 +0100
@@ -51,6 +51,24 @@
# ``ANDROID_SDK_BUILD_TOOLS_REVISION``
# The build tools version to use. Default: ``21.1.1``.
#
+# For integrating other libraries which are not part of the Android toolchain,
+# like Qt5, and installed to a separate prefix on the host system, the install
+# prefixes of those libraries would be passed as alternative roots as list via
+# ``ECM_ADDITIONAL_FIND_ROOT_PATH``. Since 5.30.0.
+#
+# For example, for integrating a Qt5 for Android with armv7 target present at
+# ``/opt/android/Qt5/5.7/android_armv7`` and some other libraries installed to
+# the prefix ``/opt/android/foo``, you would use::
+#
+# cmake \
+# -DCMAKE_TOOLCHAIN_FILE=/usr/share/ECM/toolchain/AndroidToolchain.cmake \
+# -DECM_ADDITIONAL_FIND_ROOT_PATH="/opt/android/Qt5/5.7/android_armv7;/opt/android/foo"
+#
+# If your project uses ``find_package()`` to locate build tools on the host
+# system, make sure to pass ``CMAKE_FIND_ROOT_PATH_BOTH`` or
+# ``NO_CMAKE_FIND_ROOT_PATH`` as argument in the call. See the
+# ``find_package()`` documentation for more details.
+#
# Deploying Qt Applications
# =========================
#
@@ -142,10 +160,23 @@
SET(CMAKE_SYSTEM_NAME Android)
SET(CMAKE_SYSTEM_VERSION 1)
+SET(CMAKE_FIND_ROOT_PATH ${ANDROID_NDK} ${ECM_ADDITIONAL_FIND_ROOT_PATH})
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+
set(ANDROID_TOOLCHAIN_ROOT "${ANDROID_NDK}/toolchains/${ANDROID_TOOLCHAIN}-${ANDROID_GCC_VERSION}/prebuilt/${_HOST}/bin")
set(ANDROID_LIBS_ROOT "${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_GCC_VERSION}")
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM "${ANDROID_TOOLCHAIN_ROOT}")
+# includes
+include_directories(SYSTEM
+ "${CMAKE_SYSROOT}/usr/include"
+ "${ANDROID_LIBS_ROOT}/include/"
+ "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/include"
+)
+
+# libraries
set(ANDROID_LIBRARIES_PATH
"${CMAKE_SYSROOT}/usr/lib")
set(CMAKE_SYSTEM_LIBRARY_PATH
@@ -154,29 +185,22 @@
)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+
+# Settling hard on gnustl_shared as C++ helper runtime for now,
+# given this is most similar to what is on GNU/Linux, which is what
+# the average software targetted by this toolchain is built against otherwise.
+# If requested by devs, the used helper runtime could be made an option later.
+# Related info: https://developer.android.com/ndk/guides/cpp-support.html
find_library(GNUSTL_SHARED gnustl_shared)
if(NOT GNUSTL_SHARED)
- message(FATAL_ERROR "you need gnustl_shared: ${CMAKE_SYSTEM_LIBRARY_PATH}")
+ message(FATAL_ERROR "Selected Android platform does not provide gnustl_shared: ${CMAKE_SYSTEM_LIBRARY_PATH}")
endif()
-include_directories(SYSTEM
- "${CMAKE_SYSROOT}/usr/include"
- "${ANDROID_LIBS_ROOT}/include/"
- "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/include"
-)
-
-# needed for Qt to define Q_OS_ANDROID
-add_definitions(-DANDROID)
link_directories(${CMAKE_SYSTEM_LIBRARY_PATH})
set(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-gcc")
set(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-g++")
-SET(CMAKE_FIND_ROOT_PATH ${ANDROID_NDK})
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
-
set(CMAKE_EXE_LINKER_FLAGS "${GNUSTL_SHARED} -Wl,-rpath-link,${ANDROID_LIBRARIES_PATH} -llog -lz -lm -ldl -lc -lgcc" CACHE STRING "")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "")
@@ -186,6 +210,10 @@
"<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
)
+# needed for Qt to define Q_OS_ANDROID
+add_definitions(-DANDROID)
+
+
######### generation
set(CREATEAPK_TARGET_NAME "create-apk-${QTANDROID_EXPORTED_TARGET}")
1
0
Hello community,
here is the log from the commit of package exaile for openSUSE:Factory checked in at 2017-01-29 10:36:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/exaile (Old)
and /work/SRC/openSUSE:Factory/.exaile.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "exaile"
Changes:
--------
--- /work/SRC/openSUSE:Factory/exaile/exaile.changes 2017-01-24 10:36:08.635046863 +0100
+++ /work/SRC/openSUSE:Factory/.exaile.new/exaile.changes 2017-02-03 17:36:34.242300998 +0100
@@ -1,0 +2,5 @@
+Wed Jan 25 23:39:03 UTC 2017 - jengelh(a)inai.de
+
+- Ensure fdupes does not run across partitions
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ exaile.spec ++++++
--- /var/tmp/diff_new_pack.dsh8xG/_old 2017-02-03 17:36:34.730231937 +0100
+++ /var/tmp/diff_new_pack.dsh8xG/_new 2017-02-03 17:36:34.730231937 +0100
@@ -108,7 +108,7 @@
popd
done
-%fdupes %{buildroot}
+%fdupes %{buildroot}%{_prefix}/
%find_lang %{name}
%post
1
0
Hello community,
here is the log from the commit of package eventviews for openSUSE:Factory checked in at 2017-01-31 12:15:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/eventviews (Old)
and /work/SRC/openSUSE:Factory/.eventviews.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eventviews"
Changes:
--------
--- /work/SRC/openSUSE:Factory/eventviews/eventviews.changes 2017-01-25 22:47:33.390934760 +0100
+++ /work/SRC/openSUSE:Factory/.eventviews.new/eventviews.changes 2017-02-03 17:36:32.210588563 +0100
@@ -1,0 +2,5 @@
+Wed Jan 25 23:09:30 UTC 2017 - jengelh(a)inai.de
+
+- Take better description from Debian
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ eventviews.spec ++++++
--- /var/tmp/diff_new_pack.WDQ1Tv/_old 2017-02-03 17:36:32.650526295 +0100
+++ /var/tmp/diff_new_pack.WDQ1Tv/_new 2017-02-03 17:36:32.654525728 +0100
@@ -22,7 +22,7 @@
%define kf5_version 5.26.0
# Latest stable Applications (e.g. 16.08 in KA, but 16.12.1 in KUA)
%{!?_kapp_version: %global _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')}
-Summary: Base package of kdepim
+Summary: KDE event viewing library
License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries/C and C++
Url: http://www.kde.org
@@ -48,7 +48,8 @@
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mips mips64
%description
-This package contains the eventviews library.
+This internal library implements a GUI framework for viewing various
+calendar events in agenda, list, month view or timeline fashion.
%prep
%setup -q
@@ -62,13 +63,14 @@
%kf5_makeinstall -C build
%package -n libKF5EventViews5
-Summary: Eventviews Library
+Summary: KDE event viewing library
License: LGPL-2.1+
Group: System/Libraries
Requires: %{name}
%description -n libKF5EventViews5
-The eventviews libraries
+This internal library implements a GUI framework for viewing various
+calendar events in agenda, list, month view or timeline fashion.
%post -n libKF5EventViews5 -p /sbin/ldconfig
%postun -n libKF5EventViews5 -p /sbin/ldconfig
1
0
Hello community,
here is the log from the commit of package espresso for openSUSE:Factory checked in at 2017-02-02 15:43:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/espresso (Old)
and /work/SRC/openSUSE:Factory/.espresso.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "espresso"
Changes:
--------
--- /work/SRC/openSUSE:Factory/espresso/espresso.changes 2016-09-30 15:35:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.espresso.new/espresso.changes 2017-02-03 17:36:29.143022741 +0100
@@ -1,0 +2,5 @@
+Wed Feb 1 10:36:28 UTC 2017 - adam.majer(a)suse.de
+
+- use individual libboost-*-devel packages instead of boost-devel
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ espresso.spec ++++++
--- /var/tmp/diff_new_pack.F8p7Pp/_old 2017-02-03 17:36:29.850922546 +0100
+++ /var/tmp/diff_new_pack.F8p7Pp/_new 2017-02-03 17:36:29.854921980 +0100
@@ -1,7 +1,7 @@
#
# spec file for package espresso
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2014 Christoph Junghans
#
# All modifications and additions to the file contributed by third parties
@@ -25,7 +25,11 @@
Group: Productivity/Scientific/Chemistry
Url: http://espressomd.org
Source: %{name}-%{version}.tar.gz
+%if 0%{?suse_version} > 1325
+BuildRequires: libboost_mpi-devel
+%else
BuildRequires: boost-devel
+%endif
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: fftw3-devel
1
0
Hello community,
here is the log from the commit of package enlightenment for openSUSE:Factory checked in at 2017-02-03 16:30:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/enlightenment (Old)
and /work/SRC/openSUSE:Factory/.enlightenment.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "enlightenment"
Changes:
--------
--- /work/SRC/openSUSE:Factory/enlightenment/enlightenment.changes 2016-12-02 16:43:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.enlightenment.new/enlightenment.changes 2017-02-03 17:36:23.603806752 +0100
@@ -1,0 +2,14 @@
+Thu Dec 8 01:13:18 UTC 2016 - sflees(a)suse.de
+
+- Bump to 0.21.5 changes to come
+ * Multiple wayland related fixes
+ * Revert all sizing commits to ibar/ibox for the past year
+ * Maintain “empty” object's size hints when ibar/ibox resizes
+ * https://phab.enlightenment.org/T4509
+ * https://phab.enlightenment.org/T4524
+ * https://phab.enlightenment.org/T4647
+ * https://phab.enlightenment.org/T4733
+ * https://phab.enlightenment.org/T4830
+
+
+-------------------------------------------------------------------
Old:
----
enlightenment-0.21.4.tar.xz
New:
----
enlightenment-0.21.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ enlightenment.spec ++++++
--- /var/tmp/diff_new_pack.FR9NV0/_old 2017-02-03 17:36:24.531675423 +0100
+++ /var/tmp/diff_new_pack.FR9NV0/_new 2017-02-03 17:36:24.535674857 +0100
@@ -1,7 +1,7 @@
#
# spec file for package enlightenment
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -21,7 +21,7 @@
%define enable_wayland (0%{?suse_version} > 1320)
%define generate_manpages 0
Name: enlightenment
-Version: 0.21.4
+Version: 0.21.5
Release: 0
Summary: The window manager
License: BSD-2-Clause
++++++ enlightenment-0.21.4.tar.xz -> enlightenment-0.21.5.tar.xz ++++++
/work/SRC/openSUSE:Factory/enlightenment/enlightenment-0.21.4.tar.xz /work/SRC/openSUSE:Factory/.enlightenment.new/enlightenment-0.21.5.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package elilo for openSUSE:Factory checked in at 2017-02-01 09:48:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/elilo (Old)
and /work/SRC/openSUSE:Factory/.elilo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "elilo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/elilo/elilo.changes 2014-08-01 14:34:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.elilo.new/elilo.changes 2017-02-03 17:36:19.088445848 +0100
@@ -1,0 +2,5 @@
+Sat Mar 3 11:12:54 UTC 2018 - bwiedemann(a)suse.com
+
+- Do not include rebuild counter in rpm to make build-compare happy
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ elilo.spec ++++++
--- /var/tmp/diff_new_pack.RenNve/_old 2017-02-03 17:36:19.880333766 +0100
+++ /var/tmp/diff_new_pack.RenNve/_new 2017-02-03 17:36:19.880333766 +0100
@@ -77,7 +77,7 @@
## DO NOT ADD RPM OPT FLAGS! THIS DOES NOT BUILD AGAINST GLIBC. ##
##################################################################
make OPTIMFLAGS="-fmessage-length=0"
-perl -pe 's{\@EDITION\@}{%{version}-%{release}};
+perl -pe 's{\@EDITION\@}{%{version}};
s{\@LIBDIR\@}{%{_libdir}};
s{\@ARCH\@}{%{_target_cpu}};
' < %{SOURCE1} > elilo.pl &&
1
0