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-06-15 16:37:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui (Old)
 and      /work/SRC/openSUSE:Factory/.libyui.new.32437 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui"

Tue Jun 15 16:37:02 2021 rev:65 rq:898317 version:4.2.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui/libyui.changes    2021-06-04 
22:43:01.951094126 +0200
+++ /work/SRC/openSUSE:Factory/.libyui.new.32437/libyui.changes 2021-06-15 
16:37:14.709683942 +0200
@@ -1,0 +2,7 @@
+Fri Jun  4 08:27:03 UTC 2021 - Martin Vidner <mvid...@suse.com>
+
+- rest-api: When finding table items by cell value,
+  ignore BiDi control chars (bsc#1128091)
+- 4.2.14
+
+-------------------------------------------------------------------

Old:
----
  libyui-4.2.13.tar.bz2

New:
----
  libyui-4.2.14.tar.bz2

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

Other differences:
------------------
++++++ libyui-bindings.spec ++++++
--- /var/tmp/diff_new_pack.UZgeFB/_old  2021-06-15 16:37:15.437685202 +0200
+++ /var/tmp/diff_new_pack.UZgeFB/_new  2021-06-15 16:37:15.441685210 +0200
@@ -20,7 +20,7 @@
 Name:           libyui-bindings
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 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.UZgeFB/_old  2021-06-15 16:37:15.457685237 +0200
+++ /var/tmp/diff_new_pack.UZgeFB/_new  2021-06-15 16:37:15.461685244 +0200
@@ -19,7 +19,7 @@
 Name:           libyui-ncurses-pkg
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15

libyui-ncurses-rest-api.spec: same change
libyui-ncurses.spec: same change
++++++ libyui-qt-graph.spec ++++++
--- /var/tmp/diff_new_pack.UZgeFB/_old  2021-06-15 16:37:15.525685355 +0200
+++ /var/tmp/diff_new_pack.UZgeFB/_new  2021-06-15 16:37:15.529685362 +0200
@@ -19,7 +19,7 @@
 Name:           libyui-qt-graph
 
 # DO NOT manually bump the version here; instead, use   rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15

++++++ libyui-qt-pkg.spec ++++++
--- /var/tmp/diff_new_pack.UZgeFB/_old  2021-06-15 16:37:15.545685390 +0200
+++ /var/tmp/diff_new_pack.UZgeFB/_new  2021-06-15 16:37:15.549685397 +0200
@@ -19,7 +19,7 @@
 Name:           libyui-qt-pkg
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15

libyui-qt-rest-api.spec: same change
libyui-qt.spec: same change
libyui-rest-api.spec: same change
libyui.spec: same change
++++++ libyui-4.2.13.tar.bz2 -> libyui-4.2.14.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/VERSION.cmake 
new/libyui-4.2.14/VERSION.cmake
--- old/libyui-4.2.13/VERSION.cmake     2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/VERSION.cmake     2021-06-08 11:45:04.000000000 +0200
@@ -1,6 +1,6 @@
 SET( VERSION_MAJOR "4")
 SET( VERSION_MINOR "2" )
-SET( VERSION_PATCH "13" )
+SET( VERSION_PATCH "14" )
 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.13/libyui-bindings/CMakeLists.txt 
new/libyui-4.2.14/libyui-bindings/CMakeLists.txt
--- old/libyui-4.2.13/libyui-bindings/CMakeLists.txt    2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-bindings/CMakeLists.txt    2021-06-08 
11:45:04.000000000 +0200
@@ -101,16 +101,41 @@
 
 FIND_PACKAGE(SWIG REQUIRED)
 
-FIND_LIBRARY( LIBYUI NAMES yui REQUIRED )
+FIND_PACKAGE(PkgConfig REQUIRED)
 
-SET( LIBYUI_LIBRARY yui )
-SET( LIBYUI_INCLUDE_DIR /usr/include )
+# Don't require libyui just because it is always built into source tree
+PKG_CHECK_MODULES(YUI libyui)
+if (YUI_FOUND)
+  pkg_get_variable(YUI_INCLUDE_DIR libyui includedir)
+  message (STATUS "Found libyui into ${YUI_LIBRARY_DIRS}")
+  SET( LIBYUI_LIBRARY ${YUI_LIBRARIES} )
+  SET( LIBYUI_INCLUDE_DIR ${YUI_INCLUDE_DIR} )
+  SET( LIBYUI_INCLUDE_CFLAGS -I${YUI_INCLUDE_DIR} )
+else()
+  message (STATUS "System libyui not found")
+  # set them anyway for subdir CMakeLists.txt
+  SET( LIBYUI_LIBRARY yui )
+  SET( LIBYUI_INCLUDE_DIR /usr/include )
+  SET( LIBYUI_INCLUDE_CFLAGS -I${YUI_INCLUDE_DIR} )
+endif()
 
 IF(WITH_MGA)
-FIND_PACKAGE(Libyui-mga REQUIRED)
-SET( LIBYUI_LIBRARY yui yui-mga )
-ADD_DEFINITIONS( -DWITH_MGA )
-SET( SWIG_FLAGS "-DWITH_MGA" )
+  # Don't require libyui-mga just because it could be built into libyui source 
tree
+  PKG_CHECK_MODULES(YUIMGA libyui-mga)
+  if (YUIMGA_FOUND)
+    pkg_get_variable(YUIMGA_INCLUDE_DIR libyui-mga includedir)
+    message (STATUS "Found libyui-mga into ${YUIMGA_LIBRARY_DIRS}")
+
+    SET( LIBYUI_LIBRARY ${LIBYUI_LIBRARY} ${YUIMGA_LIBRARIES} )
+    SET( LIBYUI_INCLUDE_DIR ${LIBYUI_INCLUDE_DIR} ${YUIMGA_INCLUDE_DIR})
+    SET( LIBYUI_INCLUDE_CFLAGS ${LIBYUI_INCLUDE_CFLAGS} 
-I${YUIMGA_INCLUDE_DIR} )
+  else()
+    # set them anyway for subdir CMakeLists.txt
+    SET( LIBYUI_LIBRARY ${LIBYUI_LIBRARY} yui-mga )
+  endif()
+
+  ADD_DEFINITIONS( -DWITH_MGA )
+  SET( SWIG_FLAGS "-DWITH_MGA" )
 ENDIF(WITH_MGA)
 
 ADD_SUBDIRECTORY(swig)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-bindings/swig/mono/CMakeLists.txt 
new/libyui-4.2.14/libyui-bindings/swig/mono/CMakeLists.txt
--- old/libyui-4.2.13/libyui-bindings/swig/mono/CMakeLists.txt  2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-bindings/swig/mono/CMakeLists.txt  2021-06-08 
11:45:04.000000000 +0200
@@ -17,15 +17,20 @@
 
 set( LOCAL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include )
 
+
 # Symlink ../../../libyui/src to build/src/include/yui
 # so the headers there can be included as <yui/YFoo.h>
 file( MAKE_DIRECTORY ${LOCAL_INCLUDE_DIR} )
 file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui SYMBOLIC )
+if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src)
+  file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src 
${LOCAL_INCLUDE_DIR}/yui/mga SYMBOLIC )
+endif()
+
 
 ADD_CUSTOM_COMMAND (
    OUTPUT  ${SWIG_OUTPUT}
    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for CSharp 
..."
-   COMMAND ${SWIG_EXECUTABLE} -c++ -csharp -features autodoc ${SWIG_FLAGS} -o 
${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
+   COMMAND ${SWIG_EXECUTABLE} -c++ -csharp -features autodoc ${SWIG_FLAGS} -o 
${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} ${LIBYUI_INCLUDE_CFLAGS} ${SWIG_INPUT}
    COMMAND ${CMAKE_COMMAND} -E echo "Done."
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
@@ -42,8 +47,24 @@
 
 target_include_directories( ${TARGETLIB} BEFORE PUBLIC ${LOCAL_INCLUDE_DIR} )
 
-# Find yui during a combined build
-target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../../libyui/build/src )
+if ( WITH_MGA)
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/build/src)
+    # Find yui and yui-mga during a combined build
+    target_link_directories( ${TARGETLIB}
+      BEFORE PUBLIC ../../../libyui/build/src
+      BEFORE PUBLIC ../../../libyui-mga/build/src
+    )
+  else()
+    # Using yui and yui-mga from system
+    target_link_directories( ${TARGETLIB}
+      PUBLIC ${YUI_LIBRARY_DIRS}
+      PUBLIC ${YUIMGA_LIBRARY_DIRS}
+    )
+  endif()
+else()
+  # Find yui during a combined build
+  target_link_directories( ${TARGETLIB} BEFORE PUBLIC 
../../../libyui/build/src )
+endif()
 
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${LIBYUI_LIBRARY} )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-bindings/swig/perl/CMakeLists.txt 
new/libyui-4.2.14/libyui-bindings/swig/perl/CMakeLists.txt
--- old/libyui-4.2.13/libyui-bindings/swig/perl/CMakeLists.txt  2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-bindings/swig/perl/CMakeLists.txt  2021-06-08 
11:45:04.000000000 +0200
@@ -30,18 +30,23 @@
 if(COMMAND cmake_policy)
   cmake_policy(SET CMP0003 NEW)
 endif(COMMAND cmake_policy)
-             
+
 set( LOCAL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include )
 
+
 # Symlink ../../../libyui/src to build/src/include/yui
 # so the headers there can be included as <yui/YFoo.h>
 file( MAKE_DIRECTORY ${LOCAL_INCLUDE_DIR} )
 file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui SYMBOLIC )
+if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src)
+  file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src 
${LOCAL_INCLUDE_DIR}/yui/mga SYMBOLIC )
+endif()
+
 
 ADD_CUSTOM_COMMAND (
    OUTPUT  ${SWIG_OUTPUT}
    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Perl ..."
-   COMMAND ${SWIG_EXECUTABLE} -c++ -perl -shadow -features autodoc 
${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} -I${LIBYUI_INCLUDE_DIR} 
${SWIG_INPUT}
+   COMMAND ${SWIG_EXECUTABLE} -c++ -perl -shadow -features autodoc 
${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} ${LIBYUI_INCLUDE_CFLAGS} 
${SWIG_INPUT}
    COMMAND ${CMAKE_COMMAND} -E echo "Done."
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
@@ -58,8 +63,24 @@
 target_include_directories( ${TARGETLIB} BEFORE PUBLIC ${LOCAL_INCLUDE_DIR} )
 INCLUDE_DIRECTORIES( ${PERL_CORE_DIR} ${LIBYUI_INCLUDE_DIR})
 
-# Find yui during a combined build
-target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../../libyui/build/src )
+if ( WITH_MGA)
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/build/src)
+    # Find yui and yui-mga during a combined build
+    target_link_directories( ${TARGETLIB}
+      BEFORE PUBLIC ../../../libyui/build/src
+      BEFORE PUBLIC ../../../libyui-mga/build/src
+    )
+  else()
+    # Using yui and yui-mga from system
+    target_link_directories( ${TARGETLIB}
+      PUBLIC ${YUI_LIBRARY_DIRS}
+      PUBLIC ${YUIMGA_LIBRARY_DIRS}
+    )
+  endif()
+else()
+  # Find yui during a combined build
+  target_link_directories( ${TARGETLIB} BEFORE PUBLIC 
../../../libyui/build/src )
+endif()
 
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${LIBYUI_LIBRARY} )
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${PERL_LIBRARY} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-bindings/swig/python/CMakeLists.txt 
new/libyui-4.2.14/libyui-bindings/swig/python/CMakeLists.txt
--- old/libyui-4.2.13/libyui-bindings/swig/python/CMakeLists.txt        
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-bindings/swig/python/CMakeLists.txt        
2021-06-08 11:45:04.000000000 +0200
@@ -26,15 +26,20 @@
 
 set( LOCAL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include )
 
+
 # Symlink ../../../libyui/src to build/src/include/yui
 # so the headers there can be included as <yui/YFoo.h>
 file( MAKE_DIRECTORY ${LOCAL_INCLUDE_DIR} )
 file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui SYMBOLIC )
+if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src)
+  file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src 
${LOCAL_INCLUDE_DIR}/yui/mga SYMBOLIC )
+endif()
+
 
 ADD_CUSTOM_COMMAND (
    OUTPUT  ${SWIG_OUTPUT}
    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Python 
..."
-   COMMAND ${SWIG_EXECUTABLE} -c++ -python -shadow -features autodoc 
${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} -I${LIBYUI_INCLUDE_DIR} 
${SWIG_INPUT}
+   COMMAND ${SWIG_EXECUTABLE} -c++ -python -shadow -features autodoc 
${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} ${LIBYUI_INCLUDE_CFLAGS} 
${SWIG_INPUT}
    COMMAND ${CMAKE_COMMAND} -E echo "Done."
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
@@ -51,8 +56,24 @@
 target_include_directories( ${TARGETLIB} BEFORE PUBLIC ${LOCAL_INCLUDE_DIR} )
 INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} ${LIBYUI_INCLUDE_DIR} )
 
-# Find yui during a combined build
-target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../../libyui/build/src )
+if ( WITH_MGA)
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/build/src)
+    # Find yui and yui-mga during a combined build
+    target_link_directories( ${TARGETLIB}
+      BEFORE PUBLIC ../../../libyui/build/src
+      BEFORE PUBLIC ../../../libyui-mga/build/src
+    )
+  else()
+    # Using yui and yui-mga from system
+    target_link_directories( ${TARGETLIB}
+      PUBLIC ${YUI_LIBRARY_DIRS}
+      PUBLIC ${YUIMGA_LIBRARY_DIRS}
+    )
+  endif()
+else()
+  # Find yui during a combined build
+  target_link_directories( ${TARGETLIB} BEFORE PUBLIC 
../../../libyui/build/src )
+endif()
 
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${LIBYUI_LIBRARY} )
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${PYTHON_LIBRARIES} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-bindings/swig/ruby/CMakeLists.txt 
new/libyui-4.2.14/libyui-bindings/swig/ruby/CMakeLists.txt
--- old/libyui-4.2.13/libyui-bindings/swig/ruby/CMakeLists.txt  2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-bindings/swig/ruby/CMakeLists.txt  2021-06-08 
11:45:04.000000000 +0200
@@ -27,15 +27,20 @@
 
 set( LOCAL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include )
 
-# Symlink ../../../libyui/src to build/src/include/yui
-# so the headers there can be included as <yui/YFoo.h>
-file( MAKE_DIRECTORY ${LOCAL_INCLUDE_DIR} )
-file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui SYMBOLIC )
+if(NOT WITH_MGA)
+  # Symlink ../../../libyui/src to build/src/include/yui
+  # so the headers there can be included as <yui/YFoo.h>
+  file( MAKE_DIRECTORY ${LOCAL_INCLUDE_DIR} )
+  file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui SYMBOLIC )
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src)
+    file( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/../../../libyui-mga/src 
${LOCAL_INCLUDE_DIR}/yui/mga SYMBOLIC )
+  endif()
+endif()
 
 ADD_CUSTOM_COMMAND (
    OUTPUT  ${SWIG_OUTPUT}
    COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for ruby..."
-   COMMAND ${SWIG_EXECUTABLE} -c++ -ruby -autorename ${SWIG_FLAGS} -o 
${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
+   COMMAND ${SWIG_EXECUTABLE} -c++ -ruby -autorename ${SWIG_FLAGS} -o 
${SWIG_OUTPUT} -I${LOCAL_INCLUDE_DIR} ${LIBYUI_INCLUDE_CFLAGS} ${SWIG_INPUT}
    COMMAND ${CMAKE_COMMAND} -E echo "Done."
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
@@ -50,8 +55,15 @@
 
 SET_TARGET_PROPERTIES( ${TARGETLIB} PROPERTIES PREFIX "" OUTPUT_NAME "_yui")
 
-# Find yui during a combined build
-target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../../libyui/build/src )
+if (NOT WITH_MGA)
+  # Find yui during a combined build
+  target_link_directories( ${TARGETLIB} BEFORE PUBLIC 
../../../libyui/build/src )
+else()
+  target_link_directories( ${TARGETLIB}
+    PUBLIC ${YUI_LIBRARY_DIRS}
+    PUBLIC ${YUIMGA_LIBRARY_DIRS}
+  )
+endif()
 
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${LIBYUI_LIBRARY} )
 TARGET_LINK_LIBRARIES( ${TARGETLIB} ${RUBY_LIBRARY} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/libyui-rest-api/src/CMakeLists.txt 
new/libyui-4.2.14/libyui-rest-api/src/CMakeLists.txt
--- old/libyui-4.2.13/libyui-rest-api/src/CMakeLists.txt        2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/CMakeLists.txt        2021-06-08 
11:45:04.000000000 +0200
@@ -45,6 +45,7 @@
  YJsonSerializer.cc
  YMenuWidgetActionHandler.cc
  YTableActionHandler.cc
+ YWidgetActionHandler.cc
  YWidgetFinder.cc
  )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YDumbTabActionHandler.cc 
new/libyui-4.2.14/libyui-rest-api/src/YDumbTabActionHandler.cc
--- old/libyui-4.2.13/libyui-rest-api/src/YDumbTabActionHandler.cc      
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YDumbTabActionHandler.cc      
2021-06-08 11:45:04.000000000 +0200
@@ -49,12 +49,12 @@
                                  YItemConstIterator    begin,
                                  YItemConstIterator    end ) const
 {
-    std::string item_label_sanitized = boost::erase_all_copy(item_label, 
ShortcutChar);
+    std::string item_label_sanitized = normalize_label(item_label);
     for ( YItemConstIterator it = begin; it != end; ++it )
     {
         YItem * item = *it;
 
-        if ( boost::erase_all_copy(item->label(), ShortcutChar) == 
item_label_sanitized )
+        if ( normalize_label(item->label()) == item_label_sanitized )
         {
             return item;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YMenuWidgetActionHandler.cc 
new/libyui-4.2.14/libyui-rest-api/src/YMenuWidgetActionHandler.cc
--- old/libyui-4.2.13/libyui-rest-api/src/YMenuWidgetActionHandler.cc   
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YMenuWidgetActionHandler.cc   
2021-06-08 11:45:04.000000000 +0200
@@ -34,7 +34,7 @@
         if ( !item )
             return nullptr;
 
-        if ( boost::erase_all_copy( item->label(), ShortcutChar ) == 
*path_begin )
+        if ( normalize_label( item->label() ) == *path_begin )
         {
             if ( std::next( path_begin ) == path_end )
             {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YMenuWidgetActionHandler.h 
new/libyui-4.2.14/libyui-rest-api/src/YMenuWidgetActionHandler.h
--- old/libyui-4.2.13/libyui-rest-api/src/YMenuWidgetActionHandler.h    
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YMenuWidgetActionHandler.h    
2021-06-08 11:45:04.000000000 +0200
@@ -30,7 +30,7 @@
     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 );
+            std::string value_sanitized = normalize_label( value );
             // 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 ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YTableActionHandler.cc 
new/libyui-4.2.14/libyui-rest-api/src/YTableActionHandler.cc
--- old/libyui-4.2.13/libyui-rest-api/src/YTableActionHandler.cc        
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YTableActionHandler.cc        
2021-06-08 11:45:04.000000000 +0200
@@ -90,7 +90,7 @@
         if ( ! item )
             return nullptr;
 
-        if ( item->label(column_id) == *path_begin )
+        if ( normalize_label ( item->label(column_id) ) == *path_begin )
         {
             if ( std::next( path_begin ) == path_end )
                 return item;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YWidgetActionHandler.cc 
new/libyui-4.2.14/libyui-rest-api/src/YWidgetActionHandler.cc
--- old/libyui-4.2.13/libyui-rest-api/src/YWidgetActionHandler.cc       
1970-01-01 01:00:00.000000000 +0100
+++ new/libyui-4.2.14/libyui-rest-api/src/YWidgetActionHandler.cc       
2021-06-08 11:45:04.000000000 +0200
@@ -0,0 +1,49 @@
+/*
+  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 <codecvt>
+#include <boost/range/algorithm/remove_if.hpp>
+
+#include "YWidgetActionHandler.h"
+
+static
+std::string normalize_label_bidi(const std::string& label)
+{
+    static std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
+
+    static wchar_t bidi_controls[] { L'\u202a', L'\u202b', L'\u202c', 
L'\u202d', L'\u202e', L'\u2066', L'\u2067', L'\u2068', L'\u2069' };
+
+    std::wstring wlabel(conv.from_bytes(label));
+    auto new_end = boost::remove_if(wlabel, boost::is_any_of(bidi_controls));
+    // for s == "hello",
+    // remove_if(s, is_consonant) leaves s == "eollo" and returns new_end
+    // pointing at the first 'l', so an additional erase is needed:
+    wlabel.erase(new_end, wlabel.end());
+    std::string cleaned(conv.to_bytes(wlabel));
+
+    return cleaned;
+}
+
+static
+std::string normalize_label_shortcut(const std::string& label)
+{
+    return boost::erase_all_copy(label, ShortcutChar);
+}
+
+std::string YWidgetActionHandler::normalize_label(const std::string & label)
+{
+    return normalize_label_shortcut(normalize_label_bidi(label));
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-4.2.13/libyui-rest-api/src/YWidgetActionHandler.h 
new/libyui-4.2.14/libyui-rest-api/src/YWidgetActionHandler.h
--- old/libyui-4.2.13/libyui-rest-api/src/YWidgetActionHandler.h        
2021-06-02 14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YWidgetActionHandler.h        
2021-06-08 11:45:04.000000000 +0200
@@ -111,6 +111,19 @@
             }
         };
     }
+
+    // Normalize a label before comparing it for equality:
+    // - remove shortcut characters (&)
+    // - remove BiDi control characters (added to certain table cells to 
render pathnames correctly)
+    static std::string normalize_label(const std::string & label);
+
+    // Apply normalize_label to both arguments and compare the result with ==.
+    static bool normalized_labels_equal(const std::string & a, const 
std::string & b)
+    {
+        std::string na = normalize_label(a);
+        std::string nb = normalize_label(b);
+        return na == nb;
+    }
 };
 
 #endif //YWidgetActionHandler_h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/libyui-rest-api/src/YWidgetFinder.cc 
new/libyui-4.2.14/libyui-rest-api/src/YWidgetFinder.cc
--- old/libyui-4.2.13/libyui-rest-api/src/YWidgetFinder.cc      2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YWidgetFinder.cc      2021-06-08 
11:45:04.000000000 +0200
@@ -23,6 +23,7 @@
 #include <yui/YWidgetID.h>
 
 #include "YWidgetFinder.h"
+#include "YWidgetActionHandler.h"
 
 
 // internal helper methods
@@ -94,14 +95,12 @@
 
 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, ShortcutChar );
 
-        if ( widget_label == label_sanitized )
+        if ( YWidgetActionHandler::normalized_labels_equal( widget_label, 
label ) )
             return true;
     }
     return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/libyui-rest-api/src/YWidgetFinder.h 
new/libyui-4.2.14/libyui-rest-api/src/YWidgetFinder.h
--- old/libyui-4.2.13/libyui-rest-api/src/YWidgetFinder.h       2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/libyui-rest-api/src/YWidgetFinder.h       2021-06-08 
11:45:04.000000000 +0200
@@ -20,8 +20,6 @@
 #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.13/package/libyui-bindings.spec 
new/libyui-4.2.14/package/libyui-bindings.spec
--- old/libyui-4.2.13/package/libyui-bindings.spec      2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-bindings.spec      2021-06-08 
11:45:04.000000000 +0200
@@ -20,7 +20,7 @@
 Name:           libyui-bindings
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 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.13/package/libyui-ncurses-pkg.spec 
new/libyui-4.2.14/package/libyui-ncurses-pkg.spec
--- old/libyui-4.2.13/package/libyui-ncurses-pkg.spec   2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-ncurses-pkg.spec   2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-ncurses-rest-api.spec 
new/libyui-4.2.14/package/libyui-ncurses-rest-api.spec
--- old/libyui-4.2.13/package/libyui-ncurses-rest-api.spec      2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-ncurses-rest-api.spec      2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-ncurses.spec 
new/libyui-4.2.14/package/libyui-ncurses.spec
--- old/libyui-4.2.13/package/libyui-ncurses.spec       2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-ncurses.spec       2021-06-08 
11:45:04.000000000 +0200
@@ -19,7 +19,7 @@
 Name:           libyui-ncurses
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-qt-graph.spec 
new/libyui-4.2.14/package/libyui-qt-graph.spec
--- old/libyui-4.2.13/package/libyui-qt-graph.spec      2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-qt-graph.spec      2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-qt-pkg.spec 
new/libyui-4.2.14/package/libyui-qt-pkg.spec
--- old/libyui-4.2.13/package/libyui-qt-pkg.spec        2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-qt-pkg.spec        2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-qt-rest-api.spec 
new/libyui-4.2.14/package/libyui-qt-rest-api.spec
--- old/libyui-4.2.13/package/libyui-qt-rest-api.spec   2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-qt-rest-api.spec   2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-qt.spec 
new/libyui-4.2.14/package/libyui-qt.spec
--- old/libyui-4.2.13/package/libyui-qt.spec    2021-06-02 14:21:22.000000000 
+0200
+++ new/libyui-4.2.14/package/libyui-qt.spec    2021-06-08 11:45:04.000000000 
+0200
@@ -19,7 +19,7 @@
 Name:           libyui-qt
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui-rest-api.spec 
new/libyui-4.2.14/package/libyui-rest-api.spec
--- old/libyui-4.2.13/package/libyui-rest-api.spec      2021-06-02 
14:21:22.000000000 +0200
+++ new/libyui-4.2.14/package/libyui-rest-api.spec      2021-06-08 
11:45:04.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.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui.changes 
new/libyui-4.2.14/package/libyui.changes
--- old/libyui-4.2.13/package/libyui.changes    2021-06-02 14:21:22.000000000 
+0200
+++ new/libyui-4.2.14/package/libyui.changes    2021-06-08 11:45:04.000000000 
+0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Fri Jun  4 08:27:03 UTC 2021 - Martin Vidner <mvid...@suse.com>
+
+- rest-api: When finding table items by cell value,
+  ignore BiDi control chars (bsc#1128091)
+- 4.2.14
+
+-------------------------------------------------------------------
 Wed Jun  2 11:18:42 UTC 2021 - Stefan Hundhammer <shundham...@suse.com>
 
 - Fixed build failure with latest GCC 11.1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-4.2.13/package/libyui.spec 
new/libyui-4.2.14/package/libyui.spec
--- old/libyui-4.2.13/package/libyui.spec       2021-06-02 14:21:22.000000000 
+0200
+++ new/libyui-4.2.14/package/libyui.spec       2021-06-08 11:45:04.000000000 
+0200
@@ -19,7 +19,7 @@
 Name:           libyui
 
 # DO NOT manually bump the version here; instead, use rake version:bump
-Version:        4.2.13
+Version:        4.2.14
 Release:        0
 
 %define         so_version 15

Reply via email to