Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libyui for openSUSE:Factory checked in at 2021-05-05 20:39:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libyui (Old) and /work/SRC/openSUSE:Factory/.libyui.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyui" Wed May 5 20:39:44 2021 rev:62 rq:890629 version:4.2.10 Changes: -------- --- /work/SRC/openSUSE:Factory/libyui/libyui.changes 2021-05-01 00:46:17.463560963 +0200 +++ /work/SRC/openSUSE:Factory/.libyui.new.2988/libyui.changes 2021-05-05 20:39:47.794968881 +0200 @@ -1,0 +2,15 @@ +Mon May 3 15:34:39 UTC 2021 - Stefan Hundhammer <shundham...@suse.com> + +- Added pkgconfig files for libyui-qt and libyui-ncurses + for writing extensions of the Qt and NCurses plug-ins + (GitHub issue #9 / bsc#1139747) +- 4.2.10 + +------------------------------------------------------------------- +Thu Apr 29 12:37:17 UTC 2021 - Oleksandr Orlov <oor...@suse.com> + +- Ignore ampersand when search item in YMenuWidget and YDumbTab + with rest-api (bsc#1139747) +- 4.2.9 + +------------------------------------------------------------------- Old: ---- libyui-4.2.8.tar.bz2 New: ---- libyui-4.2.10.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libyui-bindings.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.534965705 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.538965688 +0200 @@ -20,7 +20,7 @@ Name: libyui-bindings # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 Summary: Bindings for libyui License: LGPL-2.1-only OR LGPL-3.0-only ++++++ libyui-ncurses-pkg.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.554965619 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.558965602 +0200 @@ -19,7 +19,7 @@ Name: libyui-ncurses-pkg # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 libyui-ncurses-rest-api.spec: same change ++++++ libyui-ncurses.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.594965448 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.598965431 +0200 @@ -19,7 +19,7 @@ Name: libyui-ncurses # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 @@ -136,6 +136,7 @@ %dir %{_docdir}/%{bin_name} %{_libdir}/yui/lib*.so %{_prefix}/include/yui +%{_libdir}/pkgconfig/%{name}.pc %files tools %defattr(-,root,root) ++++++ libyui-qt-graph.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.614965362 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.618965345 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt-graph # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 ++++++ libyui-qt-pkg.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.634965276 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.638965259 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt-pkg # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 libyui-qt-rest-api.spec: same change ++++++ libyui-qt.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.682965070 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.686965053 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 @@ -126,5 +126,6 @@ %defattr(-,root,root) %{_libdir}/yui/lib*.so %{_includedir}/yui/qt +%{_libdir}/pkgconfig/%{name}.pc %changelog ++++++ libyui-rest-api.spec ++++++ --- /var/tmp/diff_new_pack.JILJmJ/_old 2021-05-05 20:39:48.710964950 +0200 +++ /var/tmp/diff_new_pack.JILJmJ/_new 2021-05-05 20:39:48.714964933 +0200 @@ -19,7 +19,7 @@ Name: libyui-rest-api # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 libyui.spec: same change ++++++ libyui-4.2.8.tar.bz2 -> libyui-4.2.10.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/README.md new/libyui-4.2.10/README.md --- old/libyui-4.2.8/README.md 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/README.md 2021-05-05 10:55:01.000000000 +0200 @@ -7,7 +7,7 @@ Libyui is a widget abstraction library providing graphical (Qt) and text-based (NCurses) front-ends. -The is also a Gtk front-end with (limited) community support. +There is also a Gtk front-end with (limited) community support. Originally, libyui was developed for [YaST](https://yast.github.io/), but it can be also used in independent projects. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/Rakefile new/libyui-4.2.10/Rakefile --- old/libyui-4.2.8/Rakefile 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/Rakefile 2021-05-05 10:55:01.000000000 +0200 @@ -25,7 +25,7 @@ conf.skip_license_check << /CMakeLists\.txt$/ conf.skip_license_check << /src\/.*\.h\.in$/ conf.skip_license_check << /src\/icons\/.*\.svg$/ - conf.skip_license_check << /^libyui\/pkgconfig\/.*\.pc\.in$/ + conf.skip_license_check << /\/pkgconfig\/.*\.pc\.in$/ conf.skip_license_check << /^libyui-bindings\/.*/ conf.skip_license_check << /^libyui-qt\/src\/lang_fonts/ end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/VERSION.cmake new/libyui-4.2.10/VERSION.cmake --- old/libyui-4.2.8/VERSION.cmake 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/VERSION.cmake 2021-05-05 10:55:01.000000000 +0200 @@ -1,6 +1,6 @@ SET( VERSION_MAJOR "4") SET( VERSION_MINOR "2" ) -SET( VERSION_PATCH "8" ) +SET( VERSION_PATCH "10" ) SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) SET( SONAME_MAJOR "15" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui/pkgconfig/CMakeLists.txt new/libyui-4.2.10/libyui/pkgconfig/CMakeLists.txt --- old/libyui-4.2.8/libyui/pkgconfig/CMakeLists.txt 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui/pkgconfig/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -9,9 +9,7 @@ # flags (-lyui), compiler flags (including include directories) and paths. # See man pkg-config. # -# Notice that libyui this is the ONLY libyui* package where a .pc file makes -# sense since the API is defined only by libyui, not by libyui-qt, -# libyui-ncurses or any other libyui package. +# This .pc file is the only one used for applications that use the C++ API. include( ../../VERSION.cmake ) include( GNUInstallDirs ) # set CMAKE_INSTALL_LIBDIR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui/pkgconfig/libyui.pc.in new/libyui-4.2.10/libyui/pkgconfig/libyui.pc.in --- old/libyui-4.2.8/libyui/pkgconfig/libyui.pc.in 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui/pkgconfig/libyui.pc.in 2021-05-05 10:55:01.000000000 +0200 @@ -10,8 +10,8 @@ datarootdir=${exec_prefix}/share datadir=${datarootdir}/libyui libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${exec_prefix}/include/yui -plugindir=${exec_prefix}/@CMAKE_INSTALL_DIR@yui +includedir=${exec_prefix}/include +plugindir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@/yui soversion_major=@SONAME_MAJOR@ soversion_minor=@SONAME_MINOR@ @@ -23,4 +23,4 @@ Description: libyui - GUI-abstraction library Libs: -L${libdir} -lyui Libs.private: -ldl -lpthread -Cflags: -I${includedir} +Cflags: -I${includedir} -I${includedir}/yui diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-ncurses/CMakeLists.txt new/libyui-4.2.10/libyui-ncurses/CMakeLists.txt --- old/libyui-4.2.8/libyui-ncurses/CMakeLists.txt 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-ncurses/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -24,6 +24,7 @@ option( BUILD_SRC "Build in src/ subdirectory" on ) option( BUILD_DOC "Build class documentation" off ) +option( BUILD_PKGCONFIG "Build pkg-config support files" on ) option( WERROR "Treat all compiler warnings as errors" on ) @@ -67,6 +68,14 @@ # Descend into subdirectories # +# Build and install auxiliary files first so this doesn't scroll away any important messages + +if ( BUILD_PKGCONFIG ) + add_subdirectory( pkgconfig ) +endif() + +#---------------------------------------------------------------------- + if ( BUILD_SRC ) add_subdirectory( src ) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-ncurses/pkgconfig/CMakeLists.txt new/libyui-4.2.10/libyui-ncurses/pkgconfig/CMakeLists.txt --- old/libyui-4.2.8/libyui-ncurses/pkgconfig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-ncurses/pkgconfig/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,25 @@ +# CMakeLists.txt for libyui-ncurses/pkgconfig +# +# Support for pkg-config: +# +# Generate a libyui-ncurses.pc file from libyui-ncurses.pc.in and install it to +# /usr/lib64/pkgconfig. +# +# A .pc file specifies how to use a development package, in particular linker +# flags (-lyui), compiler flags (including include directories) and paths. +# See man pkg-config. +# +# This .pc file is intended for extensions of the NCurses UI plug-in, not for +# applications using libyui. + +include( ../../VERSION.cmake ) +include( GNUInstallDirs ) # set CMAKE_INSTALL_LIBDIR + + +set( PKGCONFIG_INSTALL_DIR ${DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig ) + +# Generate libyui-ncurses.pc where some CMake variables are expanded from libyui-ncurses.pc.in, +# but only expand @VARIABLE@, not ${VARIABLE} +configure_file( libyui-ncurses.pc.in libyui-ncurses.pc @ONLY ) + +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libyui-ncurses.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-ncurses/pkgconfig/libyui-ncurses.pc.in new/libyui-4.2.10/libyui-ncurses/pkgconfig/libyui-ncurses.pc.in --- old/libyui-4.2.8/libyui-ncurses/pkgconfig/libyui-ncurses.pc.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-ncurses/pkgconfig/libyui-ncurses.pc.in 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,23 @@ +# +# Pkg-Config file for libyui-ncurses +# +# Generated by CMake from libyui-ncurses.pc.in +# + +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} + +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +includedir=${exec_prefix}/include +plugindir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@/yui + +soversion_major=@SONAME_MAJOR@ +soversion_minor=@SONAME_MINOR@ +soversion_patch=@SONAME_PATCH@ +soversion=@SONAME@ + +Name: libyui-ncurses +Version: @VERSION@ +Description: libyui-ncurses - NCurses plug-in for libyui +Libs: -L${plugindir} -lyui-ncurses +Cflags: -I${includedir} -I${includedir}/yui -I${includedir}/yui/ncurses diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-ncurses-pkg/src/NCPkgFilterPattern.cc new/libyui-4.2.10/libyui-ncurses-pkg/src/NCPkgFilterPattern.cc --- old/libyui-4.2.8/libyui-ncurses-pkg/src/NCPkgFilterPattern.cc 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-ncurses-pkg/src/NCPkgFilterPattern.cc 2021-05-05 10:55:01.000000000 +0200 @@ -54,7 +54,7 @@ struct paircmp { - bool operator() (std::pair<std::string, std::string> p1, std::pair<std::string, std::string> p2) + bool operator() (std::pair<std::string, std::string> p1, std::pair<std::string, std::string> p2) const { if ( p1.second != p2.second ) return p1.second < p2.second; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-qt/CMakeLists.txt new/libyui-4.2.10/libyui-qt/CMakeLists.txt --- old/libyui-4.2.8/libyui-qt/CMakeLists.txt 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-qt/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -24,6 +24,7 @@ option( BUILD_SRC "Build in src/ subdirectory" on ) option( BUILD_DOC "Build class documentation" off ) +option( BUILD_PKGCONFIG "Build pkg-config support files" on ) option( WERROR "Treat all compiler warnings as errors" on ) @@ -67,6 +68,14 @@ # Descend into subdirectories # +# Build and install auxiliary files first so this doesn't scroll away any important messages + +if ( BUILD_PKGCONFIG ) + add_subdirectory( pkgconfig ) +endif() + +#---------------------------------------------------------------------- + if ( BUILD_SRC ) add_subdirectory( src ) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-qt/pkgconfig/CMakeLists.txt new/libyui-4.2.10/libyui-qt/pkgconfig/CMakeLists.txt --- old/libyui-4.2.8/libyui-qt/pkgconfig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-qt/pkgconfig/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,25 @@ +# CMakeLists.txt for libyui-qt/pkgconfig +# +# Support for pkg-config: +# +# Generate a libyui-qt.pc file from libyui-qt.pc.in and install it to +# /usr/lib64/pkgconfig. +# +# A .pc file specifies how to use a development package, in particular linker +# flags (-lyui), compiler flags (including include directories) and paths. +# See man pkg-config. +# +# This .pc file is intended for extensions of the Qt UI plug-in, not for +# applications using libyui. + +include( ../../VERSION.cmake ) +include( GNUInstallDirs ) # set CMAKE_INSTALL_LIBDIR + + +set( PKGCONFIG_INSTALL_DIR ${DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig ) + +# Generate libyui-qt.pc where some CMake variables are expanded from libyui-qt.pc.in, +# but only expand @VARIABLE@, not ${VARIABLE} +configure_file( libyui-qt.pc.in libyui-qt.pc @ONLY ) + +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libyui-qt.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-qt/pkgconfig/libyui-qt.pc.in new/libyui-4.2.10/libyui-qt/pkgconfig/libyui-qt.pc.in --- old/libyui-4.2.8/libyui-qt/pkgconfig/libyui-qt.pc.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-qt/pkgconfig/libyui-qt.pc.in 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,23 @@ +# +# Pkg-Config file for libyui-qt +# +# Generated by CMake from libyui-qt.pc.in +# + +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} + +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +includedir=${exec_prefix}/include +plugindir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@/yui + +soversion_major=@SONAME_MAJOR@ +soversion_minor=@SONAME_MINOR@ +soversion_patch=@SONAME_PATCH@ +soversion=@SONAME@ + +Name: libyui-qt +Version: @VERSION@ +Description: libyui-qt - Qt plug-in for libyui +Libs: -L${plugindir} -lyui-qt +Cflags: -I${includedir} -I${includedir}/yui -I${includedir}/yui/qt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/doc/API_v1.md new/libyui-4.2.10/libyui-rest-api/doc/API_v1.md --- old/libyui-4.2.8/libyui-rest-api/doc/API_v1.md 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/doc/API_v1.md 2021-05-05 10:55:01.000000000 +0200 @@ -27,7 +27,8 @@ This is the specification of the version `1` of the API. Documentation refence is shown when accessing root url: -``` + +```shell curl http://localhost:9999/ ``` @@ -37,8 +38,7 @@ ### Description -Get the application and UI generic properties like text or graphical mode, -dialog size, screen size and supported UI features. +Get the application and UI generic properties like text or graphical mode, dialog size, screen size and supported UI features. ### Response @@ -55,7 +55,7 @@ ### Examples -``` +```shell curl http://localhost:9999/version ``` --- @@ -75,7 +75,7 @@ ### Examples -``` +```shell curl http://localhost:9999/v1/application ``` --- @@ -95,7 +95,7 @@ ### Examples -``` +```shell curl http://localhost:9999/v1/dialog ``` @@ -114,14 +114,11 @@ Filter widgets: -- **id** - the widget ID serialized as string, might include special characters - like backtick (\`) -- **label** - widget label as currently displayed (i.e. translated!) -- **type** - the widget type - -Any combination of the filters are also allowed. This is extremely helpful -when multiple widgets have same id or label. Nevertheless, it's recommended -to use unique ids in the application in order to simplify testing. +- **id** - the widget ID serialized as string, might include special characters like backtick (\`) +- **label** - widget label. Allowed to be passed both with and without shortcut ampersand. The ampersand will be ignored on server side. (e.g. if a label is `"label" : "Abo&rt"`, then for request the label could be used without `&`, i.e. `Abort`, or as is, `Abo&rt`); +- **type** - the widget type (shown as `class` in JSON response, e.g. `"class" : "YDumbTab"`) + +Any combination of the filters are also allowed. This is extremely helpful when multiple widgets have same id or label. Nevertheless, it's recommended to use unique ids in the application in order to simplify testing. ### Response @@ -129,12 +126,12 @@ ### Examples -``` -curl 'http://localhost:9999/v1/widgets?label=Next -curl 'http://localhost:9999/v1/widgets?id=next -curl 'http://localhost:9999/v1/widgets?type=YCheckBox -curl 'http://localhost:9999/v1/widgets?type=YPushButton&label=ok -curl 'http://localhost:9999/v1/widgets?type=YPushButton&id=next +```shell +curl 'http://localhost:9999/v1/widgets?label=Next' +curl 'http://localhost:9999/v1/widgets?id=next' +curl 'http://localhost:9999/v1/widgets?type=YCheckBox' +curl 'http://localhost:9999/v1/widgets?type=YPushButton&label=ok' +curl 'http://localhost:9999/v1/widgets?type=YPushButton&id=next' ``` --- @@ -151,35 +148,34 @@ Filter the widgets, one of: -- **id** - widget ID serialized as string, might include special characters - like backtick (\`) -- **label** - widget label as currently displayed (i.e. translated!) -- **type** - type of the widget +- **id** - widget ID serialized as string, might include special characters like backtick (\`); +- **label** - widget label. Allowed to be passed both with and without shortcut ampersand. The ampersand will be ignored on server side. (e.g. if a label is `"label" : "Abo&rt"`, then for request the label may be used without `&`, i.e. `Abort`, or as is, `Abo&rt`); +- **type** - type of the widget (shown as `class` in JSON response, e.g. `"class" : "YDumbTab"`). Same as for reading, combinations of the filters are also allowed. Then specify the action: -- **action** - the action to do -- **value** (optional) - new value or a parameter of the action -- **column** (optional) - integer, column number when selecting item in the table -- **row** (optional) - integer, row number when selecting item in the table +- **action** - the action to do; +- **value** (optional) - new value or a parameter of the action; +- **column** (optional) - integer, column number when selecting item in the table; +- **row** (optional) - integer, row number when selecting item in the table. Supported actions: -- **press** - to press the button -- **check** | **uncheck** | **toggle** - check, uncheck or toggle checkbox +- **press** - to press the button; +- **check** | **uncheck** | **toggle** - check, uncheck or toggle checkbox; - **enter_text** - set text in the field, the text is passed in the - *value* parameter -- **select** - select value in the combobox, row in the table or node in the - tree, item in button menu requires *value* parameter - - In case of table: select row in the table with given value. If - *column* parameter is not provided, the first column will be used. - If table contains sub-items, child nodes can be selected by sending - path, similarly to the Tree widgets: `root_row|sub_item_row`. - - In case of tree: select node in the tree. Use `|` as a delimiter for - the child nodes. For example: `root|subnode|subsubnode`. - - In case of button menu: to select item, use `|` as a delimiter for the - sub-menus. For example: 'File|Save as|PDF' + *value* parameter; +- **select** - select value in the combobox, row in the table or node in the tree, item in button menu requires *value* parameter: + - In case of table: select row in the table with given value. If *column* parameter is not provided, the first column will be used. If table contains sub-items, child nodes can be selected by sending path, similarly to the Tree widgets. + For example: `root_row|sub_item_row`. + - In case of tree: select node in the tree. Use `|` as a delimiter for the child nodes. + For example: `root|subnode|subsubnode`. + - In case of button menu: to select item, use `|` as a delimiter for the sub-menus. Allowed to be passed both with and without shortcut ampersand. The ampersand will be ignored on server side. (e.g. if an item label is `"label" : "&Default"`, then for request the label may be used without `&`, i.e. `Default`, or as is, `&Default`); + For example: `File|Save as|PDF`. + + + ### Response JSON format @@ -205,6 +201,6 @@ curl -X POST 'http://localhost:9999/v1/widgets?type=YRichText&action=select&value=firewall' # select menu item with label "Image" in parent menu item with label "Document" in menu button curl -X POST 'http://localhost:9999/v1/widgets?type=YMenuButton&action=select&value=Document%7CImage' -# select menu bar item with label "&Folder" in parent menu item with label "&Create" in menu bar -curl -X POST 'http://localhost:9999/v1/widgets?type=YMenuBar&action=select&value=%26Create%7C%26Folder' +# select menu bar item with label "Folder" in parent menu item with label "Create" in menu bar +curl -X POST 'http://localhost:9999/v1/widgets?type=YMenuBar&action=select&value=Create%7CFolder' ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/doc/README.md new/libyui-4.2.10/libyui-rest-api/doc/README.md --- old/libyui-4.2.8/libyui-rest-api/doc/README.md 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/doc/README.md 2021-05-05 10:55:01.000000000 +0200 @@ -9,6 +9,7 @@ * [Contributing](#contributing) * [Building](#building) * [Testing](#testing) + * [Troubleshooting](#troubleshooting) * [License](#license) # libyui-rest-api @@ -122,6 +123,12 @@ useful tasks, like `rake version:bump`. One can run `rake --tasks` locally to see all available tasks. +To build the whole project with libyui-rest-api, the additional `--rest-api` flag is required: + +```shell +sudo ./build-all install --rest-api +``` + ## Testing In order to test changes, one can use yast modules in her system. @@ -150,6 +157,20 @@ After that server should be available on the provided port and http request can be sent to it. +## Troubleshooting +In case unexpected errors or application crashes happen, the following steps may help to get rid of those issues: + - Delete `build/` directories in each of sub-projects; + - Delete all the built packages: + ```shell + cd /usr/lib64/yui + rm * + ``` + - Rebuild all: + ```shell + sudo ./build-all install --rest-api + ``` + + ## Contributing 1. Fork it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/CMakeLists.txt new/libyui-4.2.10/libyui-rest-api/src/CMakeLists.txt --- old/libyui-4.2.8/libyui-rest-api/src/CMakeLists.txt 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/CMakeLists.txt 2021-05-05 10:55:01.000000000 +0200 @@ -31,6 +31,7 @@ set( SOURCES + YDumbTabActionHandler.cc YHttpServer.cc YHttpAppHandler.cc YHttpDialogHandler.cc @@ -42,12 +43,14 @@ YHttpWidgetsHandler.cc YJsonSerializer.cc + YMenuWidgetActionHandler.cc YTableActionHandler.cc YWidgetFinder.cc ) set( HEADERS + YDumbTabActionHandler.h YHttpServer.h YHttpServerSockets.h @@ -61,6 +64,7 @@ YHttpWidgetsHandler.h YJsonSerializer.h + YMenuWidgetActionHandler.h YTableActionHandler.h YWidgetActionHandler.h YWidgetFinder.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YDumbTabActionHandler.cc new/libyui-4.2.10/libyui-rest-api/src/YDumbTabActionHandler.cc --- old/libyui-4.2.8/libyui-rest-api/src/YDumbTabActionHandler.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-rest-api/src/YDumbTabActionHandler.cc 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,64 @@ +/* + Copyright (C) 2021 SUSE LLC + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) version 3.0 of the License. This library + is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. You should have received a copy of the GNU + Lesser General Public License along with this library; if not, write + to the Free Software Foundation, Inc., 51 Franklin Street, Fifth + Floor, Boston, MA 02110-1301 USA +*/ + +#include <boost/algorithm/string.hpp> + +#define YUILogComponent "rest-api" +#include <yui/YUILog.h> + +#include <yui/YDumbTab.h> +#include <yui/YItem.h> + +#include "YDumbTabActionHandler.h" + + +std::function<void (YDumbTab*)> YDumbTabActionHandler::get_handler( YDumbTab * widget, + const std::string &item_label ) +{ + return [&] (YDumbTab *tab) { + YItem * item = findItem( item_label, widget->itemsBegin(), widget->itemsEnd() ); + if ( item ) + { + yuiMilestone() << "Activating Tree Item \"" << item->label() << '"' << std::endl; + tab->setKeyboardFocus(); + tab->selectItem( item ); + activate_widget( tab ); + } + else + { + throw YUIException("Item: '" + item_label + "' cannot be found among tabs"); + } + }; +} + +YItem * +YDumbTabActionHandler::findItem( const std::string &item_label, + YItemConstIterator begin, + YItemConstIterator end ) const +{ + std::string item_label_sanitized = boost::erase_all_copy(item_label, ShortcutChar); + for ( YItemConstIterator it = begin; it != end; ++it ) + { + YItem * item = *it; + + if ( boost::erase_all_copy(item->label(), ShortcutChar) == item_label_sanitized ) + { + return item; + } + } + + return nullptr; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YDumbTabActionHandler.h new/libyui-4.2.10/libyui-rest-api/src/YDumbTabActionHandler.h --- old/libyui-4.2.8/libyui-rest-api/src/YDumbTabActionHandler.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-rest-api/src/YDumbTabActionHandler.h 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,42 @@ +/* + Copyright (C) 2021 SUSE LLC + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) version 3.0 of the License. This library + is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. You should have received a copy of the GNU + Lesser General Public License along with this library; if not, write + to the Free Software Foundation, Inc., 51 Franklin Street, Fifth + Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef YDumbTabActionHandler_h +#define YDumbTabActionHandler_h + +#include <yui/YDumbTab.h> + +#include "YWidgetActionHandler.h" + + +class YDumbTabActionHandler : public YWidgetActionHandler +{ +public: + + YDumbTabActionHandler() {}; + virtual ~YDumbTabActionHandler() {}; + + std::function<void (YDumbTab*)> get_handler( YDumbTab * widget, + const std::string &item_label ); + +private: + + YItem * findItem( const std::string &item_label, + YItemConstIterator begin, + YItemConstIterator end ) const; +}; + +#endif // YDumbTabActionHandler_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YHttpWidgetsActionHandler.cc new/libyui-4.2.10/libyui-rest-api/src/YHttpWidgetsActionHandler.cc --- old/libyui-4.2.8/libyui-rest-api/src/YHttpWidgetsActionHandler.cc 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/YHttpWidgetsActionHandler.cc 2021-05-05 10:55:01.000000000 +0200 @@ -391,22 +391,9 @@ } } ); } - else if ( dynamic_cast<YDumbTab*>(widget) ) + else if ( auto tab = dynamic_cast<YDumbTab*>(widget) ) { - return action_handler<YDumbTab>( widget, body, [&] (YDumbTab *tab) { - YItem * item = tab->findItem( value ); - if ( item ) - { - yuiMilestone() << "Activating Tree Item \"" << item->label() << '"' << std::endl; - tab->setKeyboardFocus(); - tab->selectItem( item ); - get_widget_handler()->activate_widget( tab ); - } - else - { - throw YUIException("Item: '" + value + "' cannot be found among tabs"); - } - } ); + return action_handler<YDumbTab>( widget, body, get_dumb_tab_handler()->get_handler(tab, value) ); } else if( dynamic_cast<YRadioButton*>(widget) ) { @@ -458,13 +445,13 @@ { return action_handler<YMenuButton>( widget, body, - get_widget_handler()->get_menu_selector_handler( menu, value ) ); + get_menu_handler()->get_handler( menu, value ) ); } else if( YMenuBar* menu = dynamic_cast<YMenuBar*>(widget) ) { return action_handler<YMenuBar>( widget, body, - get_widget_handler()->get_menu_selector_handler( menu, value ) ); + get_menu_handler()->get_handler( menu, value ) ); } std::string error ( "Action 'select' is not supported for the selected widget: \"" ); @@ -480,6 +467,18 @@ return MHD_HTTP_OK; } +YDumbTabActionHandler* YHttpWidgetsActionHandler::get_dumb_tab_handler() { + if( !dumb_tab_action_handler ) + dumb_tab_action_handler = new YDumbTabActionHandler(); + return dumb_tab_action_handler; +} + +YMenuWidgetActionHandler* YHttpWidgetsActionHandler::get_menu_handler() { + if( !menu_action_handler ) + menu_action_handler = new YMenuWidgetActionHandler(); + return menu_action_handler; +} + YWidgetActionHandler* YHttpWidgetsActionHandler::get_widget_handler() { if( !widget_action_handler ) widget_action_handler = new YWidgetActionHandler(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YHttpWidgetsActionHandler.h new/libyui-4.2.10/libyui-rest-api/src/YHttpWidgetsActionHandler.h --- old/libyui-4.2.8/libyui-rest-api/src/YHttpWidgetsActionHandler.h 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/YHttpWidgetsActionHandler.h 2021-05-05 10:55:01.000000000 +0200 @@ -37,6 +37,8 @@ #include <yui/YTimeField.h> #include <yui/YWidget.h> +#include "YDumbTabActionHandler.h" +#include "YMenuWidgetActionHandler.h" #include "YTableActionHandler.h" #include "YWidgetActionHandler.h" #include "YWidgetFinder.h" @@ -65,6 +67,8 @@ * Define widgets handlers to override in case need to implement * UI specific actions, like activation. **/ + virtual YDumbTabActionHandler* get_dumb_tab_handler(); + virtual YMenuWidgetActionHandler* get_menu_handler(); virtual YWidgetActionHandler* get_widget_handler(); virtual YTableActionHandler* get_table_handler(); @@ -109,6 +113,8 @@ return MHD_HTTP_OK; } + YDumbTabActionHandler * dumb_tab_action_handler = nullptr; + YMenuWidgetActionHandler * menu_action_handler = nullptr; YTableActionHandler * table_action_handler = nullptr; YWidgetActionHandler * widget_action_handler = nullptr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YMenuWidgetActionHandler.cc new/libyui-4.2.10/libyui-rest-api/src/YMenuWidgetActionHandler.cc --- old/libyui-4.2.8/libyui-rest-api/src/YMenuWidgetActionHandler.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-rest-api/src/YMenuWidgetActionHandler.cc 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,55 @@ +/* + Copyright (C) 2021 SUSE LLC + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) version 3.0 of the License. This library + is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. You should have received a copy of the GNU + Lesser General Public License along with this library; if not, write + to the Free Software Foundation, Inc., 51 Franklin Street, Fifth + Floor, Boston, MA 02110-1301 USA +*/ + +#include <boost/algorithm/string.hpp> + +#define YUILogComponent "rest-api" + +#include <yui/YMenuItem.h> +#include "YMenuWidgetActionHandler.h" + +YMenuItem* +YMenuWidgetActionHandler::findItem( std::vector<std::string>::iterator path_begin, + std::vector<std::string>::iterator path_end, + YItemConstIterator begin, + YItemConstIterator end ) const +{ + for ( YItemConstIterator it = begin; it != end; ++it ) + { + YMenuItem * item = dynamic_cast<YMenuItem *>(*it); + + if ( !item ) + return nullptr; + + if ( boost::erase_all_copy( item->label(), ShortcutChar ) == *path_begin ) + { + if ( std::next( path_begin ) == path_end ) + { + // Only return items which can trigger an action. + // Intermediate items only open a submenu, so continue looking. + if ( item->hasChildren() ) + continue; + + return item; + } + YMenuItem * result = findItem( ++path_begin, path_end, + item->childrenBegin(), item->childrenEnd() ); + if ( result ) + return result; + } + } + return nullptr; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YMenuWidgetActionHandler.h new/libyui-4.2.10/libyui-rest-api/src/YMenuWidgetActionHandler.h --- old/libyui-4.2.8/libyui-rest-api/src/YMenuWidgetActionHandler.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libyui-4.2.10/libyui-rest-api/src/YMenuWidgetActionHandler.h 2021-05-05 10:55:01.000000000 +0200 @@ -0,0 +1,58 @@ +/* + Copyright (C) 2021 SUSE LLC + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) version 3.0 of the License. This library + is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. You should have received a copy of the GNU + Lesser General Public License along with this library; if not, write + to the Free Software Foundation, Inc., 51 Franklin Street, Fifth + Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef YMenuWidgetActionHandler_h +#define YMenuWidgetActionHandler_h + +#include "YWidgetActionHandler.h" + + +class YMenuWidgetActionHandler : public YWidgetActionHandler +{ +public: + + YMenuWidgetActionHandler() {}; + virtual ~YMenuWidgetActionHandler() {}; + + template<typename T> + std::function<void (T*)> get_handler( T *widget, const std::string &value ) { + return [&] ( T *menu_selector ) { + std::string value_sanitized = boost::erase_all_copy( value, ShortcutChar ); + // Vector of string to store path to the tree item + std::vector<std::string> path; + boost::split( path, value_sanitized, boost::is_any_of( TreePathDelimiter ) ); + YMenuItem * item = findItem( path.begin(), path.end(), widget->itemsBegin(), widget->itemsEnd() ); + if ( item ) + { + menu_selector->setKeyboardFocus(); + activate_widget( menu_selector, item ); + } + else + { + throw YUIException( "Item with path: '" + value + "' cannot be found in the menu selector widget" ); + } + }; + } + +private: + + YMenuItem * findItem( std::vector<std::string>::iterator path_begin, + std::vector<std::string>::iterator path_end, + YItemConstIterator begin, + YItemConstIterator end ) const; +}; + +#endif // YMenuWidgetActionHandler_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YWidgetActionHandler.h new/libyui-4.2.10/libyui-rest-api/src/YWidgetActionHandler.h --- old/libyui-4.2.8/libyui-rest-api/src/YWidgetActionHandler.h 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/YWidgetActionHandler.h 2021-05-05 10:55:01.000000000 +0200 @@ -24,6 +24,7 @@ #include <boost/algorithm/string.hpp> #define TreePathDelimiter "|" +#define ShortcutChar "&" #include <yui/YCheckBoxFrame.h> #include <yui/YComboBox.h> @@ -110,25 +111,6 @@ } }; } - - template<typename T> - std::function<void (T*)> get_menu_selector_handler( T *widget, const std::string &value ) { - return [&] (T *menu_selector) { - // Vector of string to store path to the tree item - std::vector<std::string> path; - boost::split( path, value, boost::is_any_of( TreePathDelimiter ) ); - YMenuItem * item = menu_selector->findItem( path ); - if ( item ) - { - menu_selector->setKeyboardFocus(); - activate_widget( menu_selector, item ); - } - else - { - throw YUIException("Item with path: '" + value + "' cannot be found in the menu selector widget"); - } - }; - } }; #endif //YWidgetActionHandler_h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YWidgetFinder.cc new/libyui-4.2.10/libyui-rest-api/src/YWidgetFinder.cc --- old/libyui-4.2.8/libyui-rest-api/src/YWidgetFinder.cc 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/YWidgetFinder.cc 2021-05-05 10:55:01.000000000 +0200 @@ -94,13 +94,14 @@ static bool filter_by_label_rec(YWidget *w, const std::string &label) { + std::string label_sanitized = boost::erase_all_copy( label, ShortcutChar ); // check the widget label if it is defined if ( w->propertySet().contains("Label") ) { std::string widget_label = w->getProperty("Label").stringVal(); - boost::erase_all(widget_label, "&"); + boost::erase_all( widget_label, ShortcutChar ); - if ( widget_label == label ) + if ( widget_label == label_sanitized ) return true; } return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/libyui-rest-api/src/YWidgetFinder.h new/libyui-4.2.10/libyui-rest-api/src/YWidgetFinder.h --- old/libyui-4.2.8/libyui-rest-api/src/YWidgetFinder.h 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/libyui-rest-api/src/YWidgetFinder.h 2021-05-05 10:55:01.000000000 +0200 @@ -20,6 +20,8 @@ #include <string> #include <vector> +#define ShortcutChar "&" + class YWidget; typedef std::vector<YWidget*> WidgetArray; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-bindings.spec new/libyui-4.2.10/package/libyui-bindings.spec --- old/libyui-4.2.8/package/libyui-bindings.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-bindings.spec 2021-05-05 10:55:01.000000000 +0200 @@ -20,7 +20,7 @@ Name: libyui-bindings # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 Summary: Bindings for libyui License: LGPL-2.1-only OR LGPL-3.0-only diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-ncurses-pkg.spec new/libyui-4.2.10/package/libyui-ncurses-pkg.spec --- old/libyui-4.2.8/package/libyui-ncurses-pkg.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-ncurses-pkg.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-ncurses-pkg # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-ncurses-rest-api.spec new/libyui-4.2.10/package/libyui-ncurses-rest-api.spec --- old/libyui-4.2.8/package/libyui-ncurses-rest-api.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-ncurses-rest-api.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-ncurses-rest-api # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-ncurses.spec new/libyui-4.2.10/package/libyui-ncurses.spec --- old/libyui-4.2.8/package/libyui-ncurses.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-ncurses.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-ncurses # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 @@ -136,6 +136,7 @@ %dir %{_docdir}/%{bin_name} %{_libdir}/yui/lib*.so %{_prefix}/include/yui +%{_libdir}/pkgconfig/%{name}.pc %files tools %defattr(-,root,root) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-qt-graph.spec new/libyui-4.2.10/package/libyui-qt-graph.spec --- old/libyui-4.2.8/package/libyui-qt-graph.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-qt-graph.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt-graph # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-qt-pkg.spec new/libyui-4.2.10/package/libyui-qt-pkg.spec --- old/libyui-4.2.8/package/libyui-qt-pkg.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-qt-pkg.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt-pkg # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-qt-rest-api.spec new/libyui-4.2.10/package/libyui-qt-rest-api.spec --- old/libyui-4.2.8/package/libyui-qt-rest-api.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-qt-rest-api.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt-rest-api # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-qt.spec new/libyui-4.2.10/package/libyui-qt.spec --- old/libyui-4.2.8/package/libyui-qt.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-qt.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-qt # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 @@ -126,5 +126,6 @@ %defattr(-,root,root) %{_libdir}/yui/lib*.so %{_includedir}/yui/qt +%{_libdir}/pkgconfig/%{name}.pc %changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui-rest-api.spec new/libyui-4.2.10/package/libyui-rest-api.spec --- old/libyui-4.2.8/package/libyui-rest-api.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui-rest-api.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui-rest-api # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui.changes new/libyui-4.2.10/package/libyui.changes --- old/libyui-4.2.8/package/libyui.changes 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui.changes 2021-05-05 10:55:01.000000000 +0200 @@ -1,4 +1,19 @@ ------------------------------------------------------------------- +Mon May 3 15:34:39 UTC 2021 - Stefan Hundhammer <shundham...@suse.com> + +- Added pkgconfig files for libyui-qt and libyui-ncurses + for writing extensions of the Qt and NCurses plug-ins + (GitHub issue #9 / bsc#1139747) +- 4.2.10 + +------------------------------------------------------------------- +Thu Apr 29 12:37:17 UTC 2021 - Oleksandr Orlov <oor...@suse.com> + +- Ignore ampersand when search item in YMenuWidget and YDumbTab + with rest-api (bsc#1139747) +- 4.2.9 + +------------------------------------------------------------------- Thu Apr 29 11:11:56 UTC 2021 - Stefan Hundhammer <shundham...@suse.com> - Fixed license headers to use the correct license (LGPL) everywhere diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-4.2.8/package/libyui.spec new/libyui-4.2.10/package/libyui.spec --- old/libyui-4.2.8/package/libyui.spec 2021-04-29 13:48:48.000000000 +0200 +++ new/libyui-4.2.10/package/libyui.spec 2021-05-05 10:55:01.000000000 +0200 @@ -19,7 +19,7 @@ Name: libyui # DO NOT manually bump the version here; instead, use rake version:bump -Version: 4.2.8 +Version: 4.2.10 Release: 0 %define so_version 15