Hello community,
here is the log from the commit of package libyui for openSUSE:Factory checked in at 2019-07-08 15:01:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui (Old)
and /work/SRC/openSUSE:Factory/.libyui.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyui"
Mon Jul 8 15:01:28 2019 rev:40 rq:713149 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui/libyui.changes 2019-06-28 16:27:15.617999689 +0200
+++ /work/SRC/openSUSE:Factory/.libyui.new.4615/libyui.changes 2019-07-08 15:01:32.658581668 +0200
@@ -1,0 +2,7 @@
+Tue Jun 25 09:32:23 UTC 2019 - Ladislav Slezák
+
+- Split the libyui-rest-api plugin to separate Qt and Ncurses parts
+ (bsc#1139747)
+- 3.6.0
+
+-------------------------------------------------------------------
Old:
----
libyui-3.5.0.tar.bz2
New:
----
libyui-3.6.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libyui-doc.spec ++++++
--- /var/tmp/diff_new_pack.yvVJt8/_old 2019-07-08 15:01:33.542583004 +0200
+++ /var/tmp/diff_new_pack.yvVJt8/_new 2019-07-08 15:01:33.546583011 +0200
@@ -20,7 +20,7 @@
%define so_version 10
Name: %{parent}-doc
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Source: %{parent}-%{version}.tar.bz2
++++++ libyui.spec ++++++
--- /var/tmp/diff_new_pack.yvVJt8/_old 2019-07-08 15:01:33.570583047 +0200
+++ /var/tmp/diff_new_pack.yvVJt8/_new 2019-07-08 15:01:33.574583053 +0200
@@ -17,7 +17,7 @@
Name: libyui
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Source: %{name}-%{version}.tar.bz2
++++++ libyui-3.5.0.tar.bz2 -> libyui-3.6.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/.travis.yml new/libyui-3.6.0/.travis.yml
--- old/libyui-3.5.0/.travis.yml 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/.travis.yml 2019-07-03 08:15:23.000000000 +0200
@@ -7,5 +7,5 @@
- docker build -t libyui-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 -e COVERALLS_TOKEN="$COVERALLS_TOKEN" -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" libyui-image libyui-travis
+ # see https://github.com/libyui/ci-libyui-container/blob/master/package/libyui-tra...
+ - docker run -it --rm -e COVERALLS_TOKEN="$COVERALLS_TOKEN" -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" libyui-image libyui-travis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/Dockerfile new/libyui-3.6.0/Dockerfile
--- old/libyui-3.5.0/Dockerfile 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/Dockerfile 2019-07-03 08:15:23.000000000 +0200
@@ -1,4 +1,4 @@
-# Use the libyui/devel image as the base
-FROM libyui/devel
+# Use the libyui-devel image as the base
+FROM registry.opensuse.org/devel/libraries/libyui/containers/libyui-devel:latest
COPY . /usr/src/app
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/VERSION.cmake new/libyui-3.6.0/VERSION.cmake
--- old/libyui-3.5.0/VERSION.cmake 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/VERSION.cmake 2019-07-03 08:15:23.000000000 +0200
@@ -1,5 +1,5 @@
SET( VERSION_MAJOR "3")
-SET( VERSION_MINOR "5" )
+SET( VERSION_MINOR "6" )
SET( VERSION_PATCH "0" )
SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/package/libyui-doc.spec new/libyui-3.6.0/package/libyui-doc.spec
--- old/libyui-3.5.0/package/libyui-doc.spec 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/package/libyui-doc.spec 2019-07-03 08:15:23.000000000 +0200
@@ -20,7 +20,7 @@
%define so_version 10
Name: %{parent}-doc
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Source: %{parent}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/package/libyui.changes new/libyui-3.6.0/package/libyui.changes
--- old/libyui-3.5.0/package/libyui.changes 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/package/libyui.changes 2019-07-03 08:15:23.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Jun 25 09:32:23 UTC 2019 - Ladislav Slezák
+
+- Split the libyui-rest-api plugin to separate Qt and Ncurses parts
+ (bsc#1139747)
+- 3.6.0
+
+-------------------------------------------------------------------
Thu Dec 20 09:53:15 UTC 2018 - Rodion Iafarov
- Add changes required for the libyui-rest-api (bsc#1132247)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/package/libyui.spec new/libyui-3.6.0/package/libyui.spec
--- old/libyui-3.5.0/package/libyui.spec 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/package/libyui.spec 2019-07-03 08:15:23.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: libyui
-Version: 3.5.0
+Version: 3.6.0
Release: 0
Source: %{name}-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/src/YUILoader.cc new/libyui-3.6.0/src/YUILoader.cc
--- old/libyui-3.5.0/src/YUILoader.cc 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/src/YUILoader.cc 2019-07-03 08:15:23.000000000 +0200
@@ -39,13 +39,18 @@
#include "Libyui_config.h"
+bool rest_enabled()
+{
+ const char *env = getenv("YUI_HTTP_PORT");
+ return env && atoi(env) > 0;
+}
+
void YUILoader::loadUI( bool withThreads )
{
bool isGtk = false;
const char * envDesktop = getenv( "XDG_CURRENT_DESKTOP" ) ?: "";
const char * envDisplay = getenv( "DISPLAY" ) ?: "";
const char * envPreset = getenv( "YUI_PREFERED_BACKEND" ) ?: "";
- const char * envTestEnable = getenv( "Y2TEST" ) ? : "";
std::string wantedGUI;
@@ -125,7 +130,7 @@
// Load integration testing framework plugin, which load required UI
// There is no support for GTK planned, so not loading rest api
// plugin in case gtk was requested
- if ( strcmp( envTestEnable, "1" ) == 0 && wantedGUI != YUIPlugin_Gtk )
+ if ( rest_enabled() && wantedGUI != YUIPlugin_Gtk )
{
loadRestAPIPlugin( wantedGUI, withThreads );
}
@@ -175,38 +180,44 @@
yuiMilestone () << "Requested to start http server to control UI." << std::endl;
if( pluginExists( YUIPlugin_RestAPI ) )
{
- // TODO: Do not load unused libraries
- // Load underlying UI plugin, as test method inherits from it
- // YUIPlugin_Test uses both libraries to be single point of entry
- YUIPlugin uiPluginNC( YUIPlugin_NCurses );
- YUIPlugin uiPluginQT( YUIPlugin_Qt );
- YUIPlugin uiTestPlugin( YUIPlugin_RestAPI );
-
+ YUIPlugin uiRestPlugin( YUIPlugin_RestAPI );
+ createUIFunction_t createUI = nullptr;
yuiMilestone () << "User-selected underlying UI-plugin: \"" << wantedGUI << "\"" << std::endl;
- if ( uiPluginNC.success() && uiPluginQT.success() && uiTestPlugin.success() )
+
+ if (wantedGUI == YUIPlugin_Qt)
{
- yuiMilestone () << "Loading http server to control UI." << std::endl;
+ YUIPlugin uiPluginQT( YUIPlugin_Qt );
+ YUIPlugin uiPluginQTRest( YUIPlugin_Qt_RestAPI );
- createUIFunction_t createUI = 0;
- // Only QT an Ncurses are supported
- if( wantedGUI == YUIPlugin_Qt )
+ if ( uiPluginQT.success() && uiRestPlugin.success() && uiPluginQTRest.success() )
{
- createUI = (createUIFunction_t) uiTestPlugin.locateSymbol( "createYQHttpUI" );
- }
- else if( wantedGUI == YUIPlugin_NCurses ) {
- createUI = (createUIFunction_t) uiTestPlugin.locateSymbol( "createYNCHttpUI" );
+ yuiMilestone () << "Loading the http server to control the Qt UI" << std::endl;
+ createUI = (createUIFunction_t) uiPluginQTRest.locateSymbol( "createYQHttpUI" );
}
+ else
+ yuiError() << "Cannot load Qt REST API UI" << std::endl;
+ }
- if ( createUI )
+ // fallback to ncurses + REST API if Qt does not work
+ if (wantedGUI == YUIPlugin_NCurses || createUI == nullptr)
+ {
+ YUIPlugin uiPluginNC( YUIPlugin_NCurses );
+ YUIPlugin uiPluginNCRest( YUIPlugin_Ncurses_RestAPI );
+ if ( uiPluginNC.success() && uiRestPlugin.success() && uiPluginNCRest.success())
{
- YUI * ui = createUI( withThreads ); // no threads
- // Same as in loadPlugin
- atexit(deleteUI);
-
- if ( ui )
- return;
+ yuiMilestone () << "Loading the http server to control the ncurses UI" << std::endl;
+ createUI = (createUIFunction_t) uiPluginNCRest.locateSymbol( "createYNCHttpUI" );
}
}
+
+ if ( createUI )
+ {
+ YUI * ui = createUI( withThreads );
+ // Same as in loadPlugin
+ atexit(deleteUI);
+
+ if ( ui ) return;
+ }
}
// Throw an exception if loading of the plugin failed
YUI_THROW ( YUIPluginException ( YUIPlugin_RestAPI ) );
@@ -225,6 +236,12 @@
void YUILoader::loadPlugin( const std::string & name, bool withThreads )
{
+ if (rest_enabled() && (name == YUIPlugin_NCurses || name == YUIPlugin_Qt))
+ {
+ loadRestAPIPlugin(name, withThreads);
+ return;
+ }
+
YUIPlugin uiPlugin( name.c_str() );
if ( uiPlugin.success() )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-3.5.0/src/YUILoader.h new/libyui-3.6.0/src/YUILoader.h
--- old/libyui-3.5.0/src/YUILoader.h 2019-04-17 18:15:06.000000000 +0200
+++ new/libyui-3.6.0/src/YUILoader.h 2019-07-03 08:15:23.000000000 +0200
@@ -38,6 +38,8 @@
#define YUIPlugin_NCurses "ncurses"
#define YUIPlugin_Gtk "gtk"
#define YUIPlugin_RestAPI "rest-api"
+#define YUIPlugin_Ncurses_RestAPI "ncurses-rest-api"
+#define YUIPlugin_Qt_RestAPI "qt-rest-api"
/**
* Class to load one of the concrete UI plug-ins: Qt, NCurses, Gtk.