Hello community,

here is the log from the commit of package libyui-qt-pkg for openSUSE:Factory 
checked in at 2017-07-04 13:33:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-qt-pkg (Old)
 and      /work/SRC/openSUSE:Factory/.libyui-qt-pkg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui-qt-pkg"

Tue Jul  4 13:33:32 2017 rev:31 rq:506279 version:2.45.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-qt-pkg/libyui-qt-pkg.changes      
2016-12-03 18:23:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libyui-qt-pkg.new/libyui-qt-pkg.changes 
2017-07-04 13:33:35.584766911 +0200
@@ -1,0 +2,8 @@
+Fri Jun 23 12:05:27 UTC 2017 - lsle...@suse.cz
+
+- Limit the number of displayed changes (the last 512 entries),
+  rendering a huge change log might cause a freeze for long time
+  (bsc#1044777)
+- 2.45.13
+
+-------------------------------------------------------------------

Old:
----
  libyui-qt-pkg-2.45.12.tar.bz2

New:
----
  libyui-qt-pkg-2.45.13.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libyui-qt-pkg-doc.spec ++++++
--- /var/tmp/diff_new_pack.gTZ90n/_old  2017-07-04 13:33:36.216677928 +0200
+++ /var/tmp/diff_new_pack.gTZ90n/_new  2017-07-04 13:33:36.216677928 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-qt-pkg-doc
 #
-# 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
@@ -20,7 +20,7 @@
 %define so_version 7
 
 Name:           %{parent}-doc
-Version:        2.45.12
+Version:        2.45.13
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 

++++++ libyui-qt-pkg.spec ++++++
--- /var/tmp/diff_new_pack.gTZ90n/_old  2017-07-04 13:33:36.244673986 +0200
+++ /var/tmp/diff_new_pack.gTZ90n/_new  2017-07-04 13:33:36.244673986 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-qt-pkg
 #
-# 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:           libyui-qt-pkg
-Version:        2.45.12
+Version:        2.45.13
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 

++++++ libyui-qt-pkg-2.45.12.tar.bz2 -> libyui-qt-pkg-2.45.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/.travis.yml 
new/libyui-qt-pkg-2.45.13/.travis.yml
--- old/libyui-qt-pkg-2.45.12/.travis.yml       1970-01-01 01:00:00.000000000 
+0100
+++ new/libyui-qt-pkg-2.45.13/.travis.yml       2017-06-26 15:54:13.145855321 
+0200
@@ -0,0 +1,11 @@
+sudo: required
+language: bash
+services:
+  - docker
+
+before_install:
+  - docker build -t libyui-qt-pkg-image .
+script:
+  # the "libyui-travis" script is included in the base libyui/devel image
+  # see https://github.com/libyui/docker-devel/blob/master/libyui-travis
+  - docker run -it libyui-qt-pkg-image libyui-travis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/Dockerfile 
new/libyui-qt-pkg-2.45.13/Dockerfile
--- old/libyui-qt-pkg-2.45.12/Dockerfile        1970-01-01 01:00:00.000000000 
+0100
+++ new/libyui-qt-pkg-2.45.13/Dockerfile        2017-06-26 15:54:13.145855321 
+0200
@@ -0,0 +1,4 @@
+# Use the libyui/devel image as the base
+FROM libyui/devel
+
+COPY . /usr/src/app
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/README.md 
new/libyui-qt-pkg-2.45.13/README.md
--- old/libyui-qt-pkg-2.45.12/README.md 2016-11-29 17:44:10.992371607 +0100
+++ new/libyui-qt-pkg-2.45.13/README.md 2017-06-26 15:54:13.145855321 +0200
@@ -1,11 +1,43 @@
-# YaST - Qt Software Management
+# LibYUI - The Qt Package Management Widget
 
-This module provides the graphical (Qt) version of the YaST Package Selector 
which is used to update, install or delete individual packages.
+[![Build Status](https://travis-ci.org/libyui/libyui-qt-pkg.svg?branch=master
+)](https://travis-ci.org/libyui/libyui-qt-pkg)
 
-An overview about package handling in general is available on the 
[libyui-ncurses-pkg wiki 
page](https://github.com/libyui/libyui-ncurses-pkg/wiki).
-The wiki page also describes common use cases and how to solve the task in 
YaST Software Management (for Qt as well as ncurses).
-Also included is the information about related configuration files.
 
-For details about reported bugs and issues see the wiki page 
[background](https://github.com/libyui/libyui-ncurses-pkg/wiki/background).
+Libyui is a widget abstraction library providing Qt, GTK and ncurses
+frontends. Originally it was developed for [YaST](https://yast.github.io/)
+but it can be used in any independent project.
 
 
+This module provides the graphical (Qt) version of the YaST Package Selector
+which is used to update, install or delete individual packages.
+
+An overview about package handling in general is available on the
+[libyui-ncurses-pkg wiki 
page](https://github.com/libyui/libyui-ncurses-pkg/wiki).
+The wiki page also describes common use cases and how to solve the task in YaST
+Software Management (for Qt as well as ncurses). Also included is the
+information about related configuration files.
+
+For details about reported bugs and issues see the wiki page
+[background](https://github.com/libyui/libyui-ncurses-pkg/wiki/background).
+
+### Building
+
+Libyui uses CMake, driven by a slightly complex set of
+[CMakefiles](https://github.com/libyui/libyui/tree/master/buildtools). For
+reproducible builds it is best to use the [libyui-rake](
+https://github.com/libyui/libyui-rake) Ruby gem like the [Jenkins CI](
+https://ci.opensuse.org/view/libyui/) jobs do.
+
+It can be installed from [rubygems.org](https://rubygems.org/gems/libyui-rake/)
+using this command (Ruby needs to be installed in the system):
+
+```
+gem install libyui-rake
+```
+
+Then to build the package run:
+
+```
+rake osc:build
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/VERSION.cmake 
new/libyui-qt-pkg-2.45.13/VERSION.cmake
--- old/libyui-qt-pkg-2.45.12/VERSION.cmake     2016-11-29 17:44:10.992371607 
+0100
+++ new/libyui-qt-pkg-2.45.13/VERSION.cmake     2017-06-26 15:54:13.145855321 
+0200
@@ -1,6 +1,6 @@
 SET( VERSION_MAJOR "2" )
 SET( VERSION_MINOR "45" )
-SET( VERSION_PATCH "12" )
+SET( VERSION_PATCH "13" )
 SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
 
 ##### This is need for the libyui core, ONLY.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg-doc.spec 
new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg-doc.spec
--- old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg-doc.spec    2016-11-29 
17:44:10.992371607 +0100
+++ new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg-doc.spec    2017-06-26 
15:54:13.149855321 +0200
@@ -20,7 +20,7 @@
 %define so_version 7
 
 Name:           %{parent}-doc
-Version:        2.45.12
+Version:        2.45.13
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg.changes 
new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg.changes
--- old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg.changes     2016-11-29 
17:44:10.996371607 +0100
+++ new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg.changes     2017-06-26 
15:54:13.149855321 +0200
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Fri Jun 23 12:05:27 UTC 2017 - lsle...@suse.cz
+
+- Limit the number of displayed changes (the last 512 entries),
+  rendering a huge change log might cause a freeze for long time
+  (bsc#1044777)
+- 2.45.13
+
+-------------------------------------------------------------------
 Tue Nov 29 17:33:04 CET 2016 - shundham...@suse.de
 
 - Sort pkg list case-insensitively (bsc#1012294)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg.spec 
new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg.spec
--- old/libyui-qt-pkg-2.45.12/package/libyui-qt-pkg.spec        2016-11-29 
17:44:10.996371607 +0100
+++ new/libyui-qt-pkg-2.45.13/package/libyui-qt-pkg.spec        2017-06-26 
15:54:13.149855321 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libyui-qt-pkg
-Version:        2.45.12
+Version:        2.45.13
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/src/YQPkgChangeLogView.cc 
new/libyui-qt-pkg-2.45.13/src/YQPkgChangeLogView.cc
--- old/libyui-qt-pkg-2.45.12/src/YQPkgChangeLogView.cc 2016-11-29 
17:44:10.996371607 +0100
+++ new/libyui-qt-pkg-2.45.13/src/YQPkgChangeLogView.cc 2017-06-26 
15:54:13.197855321 +0200
@@ -48,7 +48,9 @@
 #include "YQi18n.h"
 #include "utf8.h"
 
-
+// how many change log entries should be displayed at most,
+// displaying huge changes takes too much time (bsc#1044777)
+static const int MAX_DISPLAYED_CHANGES = 512;
 
 YQPkgChangeLogView::YQPkgChangeLogView( QWidget * parent )
     : YQPkgGenericDetailsView( parent )
@@ -73,6 +75,8 @@
        return;
     }
 
+    yuiDebug() << "Generating changelog..." << std::endl;
+
     QString html = htmlStart();
     html += htmlHeading( selectable, false );
 
@@ -80,7 +84,17 @@
 
     if ( installed )
     {
-       html += changeLogTable( installed->changelog() );
+        html += changeLogTable( installed->changelog() );
+
+        int not_displayed = installed->changelog().size() - 
MAX_DISPLAYED_CHANGES;
+        if (not_displayed > 0)
+        {
+            yuiWarning() << "Changelog size limit reached, ignoring last "
+                << not_displayed << " items" << std::endl;
+            html.append("<p class='note'>"
+                + notDisplayedChanges(not_displayed, installed->name() + "-" + 
installed->edition().asString())
+                + "</p>");
+        }
     }
     else
     {
@@ -88,15 +102,19 @@
     }
     html += htmlEnd();
 
+    yuiDebug() << "Changelog HTML size: " << html.size() << std::endl;
     setHtml( html );
+    yuiDebug() << "Changes displayed" << std::endl;
 }
 
 
 
 QString YQPkgChangeLogView::changeLogTable( const zypp::Changelog & changeLog 
) const
 {
+    yuiDebug() << "Changelog size: " << changeLog.size() << " entries" << 
std::endl;
     QString html;
 
+    int index = 0;
     for ( zypp::Changelog::const_iterator it = changeLog.begin();
          it != changeLog.end();
          ++it )
@@ -110,10 +128,24 @@
                    cell( (*it).author() ) +
                    "<td valign='top'>" + changes + "</td>" // cell() calls 
htmlEscape() !
                    );
+
+    if (++index == MAX_DISPLAYED_CHANGES)
+        break;
     }
 
     return html.isEmpty() ? "" : table( html );
 }
 
+QString YQPkgChangeLogView::notDisplayedChanges(int missing, const std::string 
&pkg)
+{
+    // TRANSLATORS: The package change log is too long to display, only the 
latest
+    // changes are displayed. %1 is the number of the items which are not 
displayed,
+    // %2 contains a command for getting the full changes manually.
+    QString msg = _("(%1 more change entries are not displayed. Run \""
+        "%2\" to see the complete change log.)");
+
+    QString cmd = QString("rpm -q --changelog %1").arg(pkg.c_str());
+    return msg.arg(QString::number(missing), cmd);
+}
 
 #include "YQPkgChangeLogView.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/src/YQPkgChangeLogView.h 
new/libyui-qt-pkg-2.45.13/src/YQPkgChangeLogView.h
--- old/libyui-qt-pkg-2.45.12/src/YQPkgChangeLogView.h  2016-11-29 
17:44:10.996371607 +0100
+++ new/libyui-qt-pkg-2.45.13/src/YQPkgChangeLogView.h  2017-06-26 
15:54:13.197855321 +0200
@@ -81,6 +81,14 @@
      * Format a change log list in HTML
      **/
     QString changeLogTable( const zypp::Changelog & changeLog ) const;
+
+    /**
+     * Format an info message about not displayed changes.
+     * @param  missing Number of missing entris
+     * @param  pkg     Package name (with version)
+     * @return         Translated message
+     */
+    QString notDisplayedChanges(int missing, const std::string &pkg);
 };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-pkg-2.45.12/src/YQPkgGenericDetailsView.cc 
new/libyui-qt-pkg-2.45.13/src/YQPkgGenericDetailsView.cc
--- old/libyui-qt-pkg-2.45.12/src/YQPkgGenericDetailsView.cc    2016-11-29 
17:44:11.000371607 +0100
+++ new/libyui-qt-pkg-2.45.13/src/YQPkgGenericDetailsView.cc    2017-06-26 
15:54:13.201855321 +0200
@@ -87,7 +87,10 @@
         "text-align: left;"
         "border-bottom: 2px; solid;"
         "font-size: small;"
-        "font-weight: bold;} ";
+        "font-weight: bold;} "
+        "p.note"
+        "{color: grey;"
+        "font-style: italic;}";
 
     document()->addResource( QTextDocument::StyleSheetResource, QUrl( 
"format.css" ), css );
 }


Reply via email to