Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libyui-ncurses for openSUSE:Factory
checked in at 2021-02-26 21:58:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-ncurses (Old)
and /work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libyui-ncurses"
Fri Feb 26 21:58:01 2021 rev:61 rq:871419 version:4.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses-doc.changes
2012-08-09 17:47:09.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378/libyui-ncurses-doc.changes
2021-02-26 21:58:03.347747277 +0100
@@ -1,0 +2,7 @@
+Mon Feb 1 14:59:07 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses.changes
2020-11-02 09:39:49.677577371 +0100
+++ /work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378/libyui-ncurses.changes
2021-02-26 21:58:03.443747361 +0100
@@ -1,0 +2,36 @@
+Thu Feb 11 13:34:20 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Added keyboard shortcuts:
+ Ctrl-D Shift-G - start the debugger
+ Ctrl-D Shift-C - start the configuration console
+ (jsc#PM-1895, jsc#SLE-16263)
+- CMake fix: do not create the include/yui symlink if it already
+ exists
+- 4.0.2
+
+-------------------------------------------------------------------
+Thu Feb 4 10:19:11 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- In tables with nested items, only open/close branches with [Space],
+ don't also send an "Activated" event (bsc#1181789)
+- 4.0.1
+
+-------------------------------------------------------------------
+Mon Feb 1 14:59:06 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
+Mon Feb 1 14:11:33 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Block processing the idle loop after calling the closeUI()
+ method (bsc#1181647)
+
+ The terminal was actually still used by the UI after that
+ call and there was a race condition if the started application
+ after the call also used the terminal.
+- 2.57.3
+
+-------------------------------------------------------------------
Old:
----
libyui-ncurses-2.57.2.tar.bz2
New:
----
libyui-ncurses-4.0.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libyui-ncurses-doc.spec ++++++
--- /var/tmp/diff_new_pack.mtQBH4/_old 2021-02-26 21:58:03.927747786 +0100
+++ /var/tmp/diff_new_pack.mtQBH4/_new 2021-02-26 21:58:03.927747786 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libyui-ncurses-doc
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,65 +17,56 @@
%define parent libyui-ncurses
-%define so_version 14
+%define so_version 15
Name: %{parent}-doc
-Version: 2.57.2
-Release: 0
-Source: %{parent}-%{version}.tar.bz2
+# DO NOT manually bump the version here; instead, use rake version:bump
+Version: 4.0.2
+Release: 0
BuildArch: noarch
-BuildRequires: cmake >= 2.8
+BuildRequires: cmake >= 3.10
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
-BuildRequires: graphviz-gnome
-BuildRequires: texlive-latex
-# YLabel::setAutoWrap()
+BuildRequires: graphviz
BuildRequires: libyui-devel >= 3.10.0
URL: http://github.com/libyui/
Summary: Libyui-ncurses documentation
License: LGPL-2.1-only OR LGPL-3.0-only
-Group: Documentation/HTML
+Source: %{parent}-%{version}.tar.bz2
%description
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
-This package provides the documentation. (HTML & PDF)
+This package provides HTML class documentation.
%prep
-
%setup -n %{parent}-%{version}
%build
-export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-
-./bootstrap.sh %{_prefix}
-
mkdir build
cd build
+
cmake .. \
- -DDOC_DIR=%{_docdir} \
- -DDOCS_ONLY=ON
+ -DBUILD_DOC=on \
+ -DBUILD_SRC=off \
+ -DDOC_DESTDIR=$RPM_BUILD_ROOT
-make %{?jobs:-j%jobs} docs
+# No "make doc" here: This would only duplicate the doxygen call
%install
cd build
-make install DESTDIR="$RPM_BUILD_ROOT"
+make install-doc
+# This implicitly includes "make doc" unconditionally
%fdupes -s $RPM_BUILD_ROOT/%_docdir/%{parent}%{so_version}
-%clean
-rm -rf "$RPM_BUILD_ROOT"
-
%files
%defattr(-,root,root)
%doc %{_docdir}/%{parent}%{so_version}
++++++ libyui-ncurses.spec ++++++
--- /var/tmp/diff_new_pack.mtQBH4/_old 2021-02-26 21:58:03.943747800 +0100
+++ /var/tmp/diff_new_pack.mtQBH4/_new 2021-02-26 21:58:03.943747800 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libyui-ncurses
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,38 +17,33 @@
Name: libyui-ncurses
-Version: 2.57.2
+
+# DO NOT manually bump the version here; instead, use rake version:bump
+Version: 4.0.2
Release: 0
-Source: %{name}-%{version}.tar.bz2
-%define so_version 14
+%define so_version 15
+%define libyui_devel_version libyui-devel >= 4.0.1
%define bin_name %{name}%{so_version}
-%if 0%{?suse_version} > 1325
-BuildRequires: libboost_headers-devel
-%else
+BuildRequires: %{libyui_devel_version}
BuildRequires: boost-devel
-%endif
-BuildRequires: cmake >= 2.8
+BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
-BuildRequires: pkg-config
-
-# YLabel::setAutoWrap()
-%define libyui_devel_version libyui-devel >= 3.10.0
-BuildRequires: %{libyui_devel_version}
BuildRequires: ncurses-devel
URL: http://github.com/libyui/
-Summary: Libyui - Character Based User Interface
+Summary: Libyui - NCurses (text based) user interface
License: LGPL-2.1-only OR LGPL-3.0-only
-Group: System/Libraries
+Source: %{name}-%{version}.tar.bz2
%description
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the NCurses (text based) user interface
+component for libyui.
%package -n %{bin_name}
+Summary: Libyui - NCurses (text based) user interface
Requires: glibc-locale
Requires: libyui%{so_version}
@@ -57,56 +52,43 @@
Obsoletes: yast2-ncurses < 2.42.0
Provides: yui_backend = %{so_version}
-URL: http://github.com/libyui/
-Summary: Libyui - Character Based User Interface
-Group: System/Libraries
-
%description -n %{bin_name}
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
%package devel
+Summary: Libyui - Header fles for the NCurses (text based) user
interface
+Requires: %{bin_name} = %{version}
Requires: %{libyui_devel_version}
-%if 0%{?suse_version} > 1325
-Requires: libboost_headers-devel
-%else
Requires: boost-devel
-%endif
-Requires: %{bin_name} = %{version}
Requires: glibc-devel
Requires: libstdc++-devel
Requires: ncurses-devel
-URL: http://github.com/libyui/
-Summary: Libyui-ncurses header files
-Group: Development/Languages/C and C++
-
%description devel
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the header files for the NCurses
+(text based) user interface component for libyui.
+This package is not needed to develop libyui-based applications,
+only to develop extensions for libyui-ncurses.
-This can be used independently of YaST for generic (C++) applications.
-This package has very few dependencies.
%package tools
-URL: http://github.com/libyui/
-Summary: Libyui-ncurses tools
+Summary: Libyui - tools for the NCurses (text based) user interface
+Requires: screen
# conflict with libyui-ncurses8, /usr/bin/libyui-terminal was originally there
-Group: System/Libraries
Conflicts: %{name}8
-Requires: screen
-
%description tools
-Character based (ncurses) user interface component for libYUI.
+This package contains tools for the NCurses (text based)
+user interface component for libyui:
libyui-terminal - useful for testing on headless machines
+
%prep
%setup -q -n %{name}-%{version}
@@ -115,39 +97,30 @@
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-./bootstrap.sh %{_prefix}
-
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
-cmake .. \
- -DYPREFIX=%{_prefix} \
- -DDOC_DIR=%{_docdir} \
- -DLIB_DIR=%{_lib} \
- -DCMAKE_BUILD_TYPE=RELWITHDEBINFO
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
+%endif
+
cmake .. \
- -DYPREFIX=%{_prefix} \
-DDOC_DIR=%{_docdir} \
-DLIB_DIR=%{_lib} \
- -DCMAKE_BUILD_TYPE=RELEASE
-%endif
+ $CMAKE_OPTS
make %{?jobs:-j%jobs}
%install
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
-install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
install -m0755 -d $RPM_BUILD_ROOT/%{_libdir}/yui
+install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
install -m0644 ../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
-%clean
-rm -rf "$RPM_BUILD_ROOT"
-
%post -n %{bin_name} -p /sbin/ldconfig
-
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
@@ -162,9 +135,6 @@
%dir %{_docdir}/%{bin_name}
%{_libdir}/yui/lib*.so
%{_prefix}/include/yui
-%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/cmake/%{name}
-%{_datadir}/libyui
%files tools
%defattr(-,root,root)
++++++ libyui-ncurses-2.57.2.tar.bz2 -> libyui-ncurses-4.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/CMakeLists.txt
new/libyui-ncurses-4.0.2/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/CMakeLists.txt 1970-01-01 01:00:00.000000000
+0100
+++ new/libyui-ncurses-4.0.2/CMakeLists.txt 2021-02-11 17:11:05.000000000
+0100
@@ -0,0 +1,60 @@
+# CMakeLists.txt for libyui-ncurses
+#
+# Usage:
+#
+# mkdir build
+# cd build
+# cmake ..
+#
+# make
+# sudo make install
+#
+# Restart with a clean build environment:
+# rm -rf build
+#
+# Show the complete compiler commands with all arguments:
+# make VERBOSE=1
+
+cmake_minimum_required( VERSION 3.10 )
+project( libyui-ncurses )
+
+# Options usage:
+#
+# cmake -DBUILD_DOC=on -DBUILD_EXAMPLES=off ..
+
+option( BUILD_SRC "Build in src/ subdirectory" on )
+option( BUILD_DOC "Build class documentation" off )
+option( WERROR "Treat all compiler warnings as errors" on )
+
+# Non-boolean options
+set( DOC_DESTDIR "" CACHE STRING "Destination directory prefix for installing
docs" )
+
+#----------------------------------------------------------------------
+
+
+# As of now, no support for /usr/local instead of /usr. But CMake DESTDIR
works.
+set( CMAKE_INSTALL_PREFIX /usr )
+
+set( CMAKE_INSTALL_MESSAGE LAZY ) # Suppress "up-to-date" messages during
"make install"
+
+
+# Initialize compiler flags for all targets in all subdirectories
+add_compile_options( "-Wall" )
+add_compile_options( "-Os" ) # Optimize for size (overrides CMake's -O3 in
RELEASE builds)
+
+if ( WERROR )
+ add_compile_options( "-Werror" )
+endif()
+
+
+#
+# Descend into subdirectories
+#
+
+if ( BUILD_SRC )
+ add_subdirectory( src )
+endif()
+
+if ( BUILD_DOC )
+ add_subdirectory( doc )
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/MAINTAINER
new/libyui-ncurses-4.0.2/MAINTAINER
--- old/libyui-ncurses-2.57.2/MAINTAINER 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/MAINTAINER 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-Gabriele Mohr <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Makefile.cvs
new/libyui-ncurses-4.0.2/Makefile.cvs
--- old/libyui-ncurses-2.57.2/Makefile.cvs 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/Makefile.cvs 1970-01-01 01:00:00.000000000
+0100
@@ -1,23 +0,0 @@
-#
-# Makefile.cvs
-#
-
-all: configure
-
-configure: clean
- ./bootstrap.sh ; \
- mkdir build ; \
- cd build ; \
- cmake -DCMAKE_BUILD_TYPE=RELEASE ..
-
-install: configure
- cd build ; \
- make && make install
-
-reconf:
- cd build ; \
- cmake rebuild_cache
-
-clean:
- rm -rf build \
- CMakeLists.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Makefile.repo
new/libyui-ncurses-4.0.2/Makefile.repo
--- old/libyui-ncurses-2.57.2/Makefile.repo 1970-01-01 01:00:00.000000000
+0100
+++ new/libyui-ncurses-4.0.2/Makefile.repo 2021-02-11 17:11:05.000000000
+0100
@@ -0,0 +1,63 @@
+#
+# Makefile.repo for libyui-ncurses
+#
+
+# Local Variables:
+# mode: Makefile
+# End:
+
+
+all: clean configure build-hint
+
+build-hint:
+ @echo ""
+ @echo "To build:"
+ @echo ""
+ @echo " cd build"
+ @echo " make"
+ @echo ""
+
+configure:
+ mkdir build; \
+ cd build; \
+ cmake ..
+
+build: clean configure
+ cd build; \
+ make -j $$(nproc)
+
+# This needs root privileges, of course
+install: configure
+ cd build; \
+ make -j $$(nproc) && make install
+
+clean:
+ rm -rf build
+
+package:
+ rake package
+
+doc:
+ test -d build || mkdir build
+ cd build; \
+ cmake -DBUILD_DOC=on .. ; \
+ make doc
+
+install-doc: doc
+ cd build; \
+ make install-doc
+
+version-bump:
+ rake version:bump
+
+# Just an alias
+bump-version: version-bump
+
+
+# Enforce rebuilding some targets unconditionally, even if a file or directory
+# with that name exists; otherwise the timestamp of that file or directory
+# would be checked.
+#
+# We need this because we have a subdirectory doc/, a subdirectory package/
+# and possibly a subdirectory build/ here.
+.PHONY: doc package build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/PROJECTINFO.cmake
new/libyui-ncurses-4.0.2/PROJECTINFO.cmake
--- old/libyui-ncurses-2.57.2/PROJECTINFO.cmake 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/PROJECTINFO.cmake 1970-01-01 01:00:00.000000000
+0100
@@ -1,18 +0,0 @@
-##### PROJECTINFO for CMake
-
-SET( BASELIB "yui" ) # don't change this
-
-##### MAKE ALL NEEDED CHANGES HERE #####
-
-SET( SUBDIRS src )
-SET( PLUGINNAME "ncurses" )
-SET( LIB_DEPS Curses6)
-SET( INTERNAL_DEPS Libyui )
-SET( LIB_LINKER )
-SET( URL "http://github.com/libyui/" )
-SET( SUMMARY "Libyui - Character Based User Interface" )
-SET( DESCRIPTION "This package contains the character based (ncurses)
user interface\ncomponent for libYUI.\n" )
-
-SET( BUILDTOOLS_LIST
- cmake/Modules/FindCurses6.cmake
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/README.md
new/libyui-ncurses-4.0.2/README.md
--- old/libyui-ncurses-2.57.2/README.md 2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/README.md 2021-02-11 17:11:05.000000000 +0100
@@ -8,16 +8,31 @@
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 part contains the text mode front end which displays the UI in a console
+This part contains the text mode front-end which displays the UI in a console
or a terminal emulator.
+
### 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.
+Libyui uses CMake. Most operations are available from the toplevel
+_Makefile.repo_:
+
+```
+make -f Makefile.repo
+cd build
+make
+```
+
+or
+
+```
+make -f Makefile.repo build
+```
+
+
+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):
@@ -31,4 +46,3 @@
```
rake osc:build
```
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Rakefile
new/libyui-ncurses-4.0.2/Rakefile
--- old/libyui-ncurses-2.57.2/Rakefile 2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/Rakefile 2021-02-11 17:11:05.000000000 +0100
@@ -1,8 +1,17 @@
#--
-# Copyright (C) 2015 SUSE LLC
+# Copyright (c) 2015-2019 SUSE LLC
+# Copyright (c) 2020-2021 SUSE LLC
#
# make continuous integration using rubygem-libyui-rake.
#
# MIT license
#++
require "libyui/rake"
+
+Libyui::Tasks.configuration do |conf|
+ include Libyui::Tasks::Helpers
+
+ conf.skip_license_check << /^Makefile\.repo$/
+ conf.skip_license_check << /^src\/.*\.h\.in$/
+ conf.skip_license_check << /CMakeLists\.txt$/
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/SOURCECONF.cmake
new/libyui-ncurses-4.0.2/SOURCECONF.cmake
--- old/libyui-ncurses-2.57.2/SOURCECONF.cmake 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/SOURCECONF.cmake 1970-01-01 01:00:00.000000000
+0100
@@ -1,161 +0,0 @@
-SET( ${TARGETLIB}_SOURCES
- position.cc
- YNCursesUI.cc
- NCtoY2Event.cc
- NCApplication.cc
- NCWidgetFactory.cc
- NCOptionalWidgetFactory.cc
-
- NCPackageSelectorPluginStub.cc
-
- NCtext.cc
- NCstring.cc
- stringutil.cc
- lang2encoding.cc
- ncursesw.cc
- ncursesp.cc
- NCtypes.cc
- NCurses.cc
- NCstyle.cc
- NCStyleDef.cc
- NCTableItem.cc
- NCPad.cc
- NCButtonBox.cc
- NCTablePadBase.cc
- NCTablePad.cc
- NCTableSort.cc
- NCTreePad.cc
- NCTextPad.cc
- NCWidget.cc
- NCDialog.cc
- NCEmpty.cc
- NCSpacing.cc
- NCSquash.cc
- NCAlignment.cc
- NCFrame.cc
- NCCheckBoxFrame.cc
- NCLayoutBox.cc
- NCReplacePoint.cc
- NCRadioButtonGroup.cc
- NCImage.cc
- NCItemSelector.cc
- NCCustomStatusItemSelector.cc
- NCCheckBox.cc
- NCLabel.cc
- NCProgressBar.cc
- NCBusyIndicator.cc
- NCMenuBar.cc
- NCMenuButton.cc
- NCPushButton.cc
- NCDumbTab.cc
- NCRadioButton.cc
- NCInputTextBase.cc
- NCInputField.cc
- NCDateField.cc
- NCTimeField.cc
- NCIntField.cc
- NCComboBox.cc
- NCPadWidget.cc
- NCRichText.cc
- NCSelectionBox.cc
- NCMultiSelectionBox.cc
- NCTable.cc
- NCTree.cc
- NCLogView.cc
- NCMultiLineEdit.cc
- NCFileSelection.cc
- NCWordWrapper.cc
-
- NCPopup.cc
- NCPopupTable.cc
- NCPopupList.cc
- NCPopupMenu.cc
- NCPopupTextEntry.cc
- NCPopupInfo.cc
- NCAskForDirectory.cc
- NCAskForFile.cc
-)
-
-SET( ${TARGETLIB}_HEADERS
- stdutil.h
- NCi18n.h
- tnode.h
- position.h
- CyclicContainer.h
- YNCursesUI.h
- NCtoY2Event.h
- NCApplication.h
- NCWidgetFactory.h
- NCOptionalWidgetFactory.h
-
- NCPackageSelectorPluginStub.h
- NCPackageSelectorPluginIf.h
- NCtext.h
- NCstring.h
- stringutil.h
- ncursesw.h
- ncursesp.h
- NCtypes.h
- NCurses.h
- NCstyle.h
- NCStyleDef.h
- NCTableItem.h
- NCPad.h
- NCButtonBox.h
- NCTablePadBase.h
- NCTablePad.h
- NCTableSort.h
- NCTreePad.h
- NCTextPad.h
- NCWidget.h
- NCDialog.h
- NCEmpty.h
- NCSpacing.h
- NCSquash.h
- NCAlignment.h
- NCFrame.h
- NCCheckBoxFrame.h
- NCLayoutBox.h
- NCReplacePoint.h
- NCRadioButtonGroup.h
- NCImage.h
- NCItemSelector.h
- NCCustomStatusItemSelector.h
- NCCheckBox.h
- NCLabel.h
- NCProgressBar.h
- NCBusyIndicator.h
- NCMenuBar.h
- NCMenuButton.h
- NCPushButton.h
- NCDumbTab.h
- NCRadioButton.h
- NCInputTextBase.h
- NCInputField.h
- NCTimeField.h
- NCDateField.h
- NCIntField.h
- NCComboBox.h
- NCPadWidget.h
- NCRichText.h
- NCSelectionBox.h
- NCMultiSelectionBox.h
- NCTable.h
- NCTree.h
- NCLogView.h
- NCMultiLineEdit.h
- NCFileSelection.h
- NCWordWrapper.h
- NCPopup.h
- NCPopupTable.h
- NCPopupList.h
- NCPopupMenu.h
- NCPopupTextEntry.h
- NCPopupInfo.h
- NCAskForDirectory.h
- NCAskForFile.h
- NCstyle.braille.h NCstyle.mono.h
- NCstyle.linux.h NCstyle.xterm.h
- NCstyle.rxvt.h NCstyle.highcontrast.h
- NCstyle.inverted.h
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/VERSION.cmake
new/libyui-ncurses-4.0.2/VERSION.cmake
--- old/libyui-ncurses-2.57.2/VERSION.cmake 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/VERSION.cmake 2021-02-11 17:11:05.000000000
+0100
@@ -1,11 +1,9 @@
-SET( VERSION_MAJOR "2" )
-SET( VERSION_MINOR "57" )
+SET( VERSION_MAJOR "4")
+SET( VERSION_MINOR "0" )
SET( VERSION_PATCH "2" )
-SET( VERSION
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
+SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
-##### This is needed for the libyui core ONLY.
-##### These will be overridden from exports in LibyuiConfig.cmake
-SET( SONAME_MAJOR "14" )
+SET( SONAME_MAJOR "15" )
SET( SONAME_MINOR "0" )
SET( SONAME_PATCH "0" )
SET( SONAME "${SONAME_MAJOR}.${SONAME_MINOR}.${SONAME_PATCH}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/bootstrap.sh
new/libyui-ncurses-4.0.2/bootstrap.sh
--- old/libyui-ncurses-2.57.2/bootstrap.sh 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/bootstrap.sh 1970-01-01 01:00:00.000000000
+0100
@@ -1,26 +0,0 @@
-#!/bin/sh
-set -e
-
-prefix="/usr"
-
-if [ ! -z $1 ]
-then
- prefix="$1"
-fi
-
-cmake_common="$prefix/share/libyui/buildtools/CMakeLists.common"
-cmake_target="./CMakeLists.txt"
-
-echo "checking for $cmake_common..."
-
-if [ -f "$cmake_common" ]
-then
- ln -fs "$cmake_common" "$cmake_target"
- echo "OK: linked to `pwd`/$cmake_target."
-else
- echo " Use must have libyui(-devel) >= 3.0.4 installed"
- echo " in \"$prefix\" first !!!"
- exit 1
-fi
-
-exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libyui-ncurses-2.57.2/cmake/Modules/FindCurses6.cmake
new/libyui-ncurses-4.0.2/cmake/Modules/FindCurses6.cmake
--- old/libyui-ncurses-2.57.2/cmake/Modules/FindCurses6.cmake 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/cmake/Modules/FindCurses6.cmake 1970-01-01
01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-# - Try to find curses6
-# Once done this will define
-# CURSES_FOUND - System has Curses6
-# CURSES6_INCLUDE_DIR - The Curses6 include directory
-# CURSES6_LIBRARIES - The libraries needed to use Curses6
-# CURSES6_DEFINITIONS - Compiler switches required for using Curses6
-
-FOREACH(path ${CMAKE_LIBRARY_PATH} /usr/${LIB_DIR})
- FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATHS ${path}/ncurses6
${path} NO_DEFAULT_PATH)
- FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATHS ${path}/ncurses6
${path} NO_DEFAULT_PATH)
- FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATHS ${path}/ncurses6
${path} NO_DEFAULT_PATH)
-ENDFOREACH()
-
-SET(CURSES6_LIBRARIES ${CURSES6_NCURSESW_LIBRARY} ${CURSES6_PANELW_LIBRARY})
-# tinfo is optional (in 12.1 is not there)
-IF(${CURSES6_TINFO_LIBRARY})
- SET(CURSES6_LIBRARIES "${CURSES6_LIBRARIES} ${CURSES6_TINFO_LIBRARY}")
-ENDIF(${CURSES6_TINFO_LIBRARY})
-
-FIND_PATH(CURSES6_INCLUDE_DIR ncurses.h PATH_SUFFIXES ncurses6)
-
-SET( CURSES6_DEFINITIONS "-DNCURSES_INTERNALS=1" )
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses6 DEFAULT_MSG
- CURSES6_LIBRARIES CURSES6_INCLUDE_DIR)
-
-MARK_AS_ADVANCED(CURSES6_INCLUDE_DIR CURSES6_LIBRARIES CURSES6_DEFINITIONS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/doc/CMakeLists.txt
new/libyui-ncurses-4.0.2/doc/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/doc/CMakeLists.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/libyui-ncurses-4.0.2/doc/CMakeLists.txt 2021-02-11 17:11:05.000000000
+0100
@@ -0,0 +1,52 @@
+# CMakeLists.txt for libyui-ncurses/doc
+
+include( ../VERSION.cmake )
+
+find_package( Doxygen REQUIRED dot )
+
+
+set( PKG_NAME libyui-ncurses${SONAME_MAJOR} )
+set( DOC_INSTALL_DIR ${DOC_DESTDIR}/usr/share/doc/packages/${PKG_NAME} )
+
+
+#
+# Doxygen-generated autodocs
+#
+
+if ( DOXYGEN_FOUND )
+
+ set( DOXYGEN_GENERATE_TREEVIEW yes ) # Enable views tree HTML frame
+ set( DOXYGEN_QUIET yes ) # Less verbose output
+ set( DOXYGEN_WARN_LOGFILE doxygen-warnings.log )
+ # See build/CMakeDoxyfile.in for more supported variables
+
+ doxygen_add_docs( doc ../src )
+
+else()
+ message( WARNING "Missing doxygen package" )
+endif()
+
+
+#
+# Other (manually written) docs
+#
+
+file( GLOB DOC_FILES *.md ) # Collect all *.md files by wildcard
+# Don't glob *.txt (CMakeLists.txt!)
+# The license files (../COPYING*) are handled in the .spec file
+
+
+# Define a new custom make target "install-doc".
+# Notice that we can't use DESTDIR here since CMake only sets that
+# for "make install", not for this custom "make install-doc".
+# https://gist.github.com/shundhammer/12b6343309544a5920f51cd0063eeecf
+
+add_custom_target( install-doc
+ DEPENDS doc
+
+ COMMAND mkdir -m 755 -p ${DOC_INSTALL_DIR}/html
+ COMMAND install -m 644 ${DOC_FILES} ${DOC_INSTALL_DIR}
+ COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/html ${DOC_INSTALL_DIR}
+
+ COMMENT "Installing documentation to ${DOC_INSTALL_DIR}" )
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/doc/keyboard_shortcuts.md
new/libyui-ncurses-4.0.2/doc/keyboard_shortcuts.md
--- old/libyui-ncurses-2.57.2/doc/keyboard_shortcuts.md 1970-01-01
01:00:00.000000000 +0100
+++ new/libyui-ncurses-4.0.2/doc/keyboard_shortcuts.md 2021-02-11
17:11:05.000000000 +0100
@@ -0,0 +1,45 @@
+# Libyui-ncurses Keyboard Shortcuts
+
+The libyui-ncurses interface implements several keyboard shortcuts.
+
+## Widget Shortcuts
+
+Some widgets use special keyboard shortcuts. Make sure that the respective
+widget is active (the cursor is placed there).
+
+### Table
+
+- `Ctrl+O` - Change the ordering. After pressing it a list with the column
+ names is displayed. Select which column should be used for ordering, to
+ change the direction (ascending/descending) select the same column again.
+
+## Global Shortcuts
+
+These shortcuts can be used anytime, it does not matter which widget is active
+(or if any widget is active at all).
+
+- `Shift+F1` - Display a hot key help.
+
+- `Ctrl+L` - Redraw the current screen. If for whatever reason the screen
+ content it not displayed properly you can force redrawing the whole screen.
+
+- `Shift+F4` - Change the color style. This cycles over the built-in color
styles.
+
+- `Shift+F6` - Ask for widget ID. Enter the ID of the button which should be
+ activated. This is intended for automated tests.
+
+- `Ctrl+D Shift+D` - Dump the current dialog into the log. It dumps the
screenshot
+ and also the logical structure of the dialog (the widget tree).
+
+- `Ctrl+D Shift+Y` - Start the widget inspector. Displays a special dialog
which
+ can navigate in the widget tree and display detailed widget properties. It
can
+ also change some widget properties and even delete or add new widgets.
+
+- `Ctrl+D Shift+G` - Send a debug event. This should start the debugger in the
+ running application.
+
+- `Ctrl+D Shift+C` - Send a configuration event. This should display a special
+ dialog for configuring the application.
+
+- `Ctrl+D Shift+S` (only when `Y2NCDBG` environment variable is set) - Display
+ a special style testing dialog.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.changes
new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.changes
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.changes
2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.changes 2021-02-11
17:11:05.000000000 +0100
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Mon Feb 1 14:59:07 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
Thu Jun 12 14:45:00 CEST 2012 - [email protected]
- initial package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.spec
new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.spec
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.spec 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.spec 2021-02-11
17:11:05.000000000 +0100
@@ -1,7 +1,8 @@
#
# spec file for package libyui-ncurses-doc
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2014-2019 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,65 +16,59 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-%define parent libyui-ncurses
-%define so_version 14
+%define parent libyui-ncurses
+%define so_version 15
Name: %{parent}-doc
-Version: 2.57.2
-Release: 0
-Source: %{parent}-%{version}.tar.bz2
+# DO NOT manually bump the version here; instead, use rake version:bump
+Version: 4.0.2
+Release: 0
BuildArch: noarch
-BuildRequires: cmake >= 2.8
+BuildRequires: cmake >= 3.10
BuildRequires: doxygen
+BuildRequires: graphviz
BuildRequires: fdupes
BuildRequires: gcc-c++
-BuildRequires: graphviz-gnome
-BuildRequires: texlive-latex
-# YLabel::setAutoWrap()
BuildRequires: libyui-devel >= 3.10.0
Url: http://github.com/libyui/
Summary: Libyui-ncurses documentation
License: LGPL-2.1 or LGPL-3.0
-Group: Documentation/HTML
+Source: %{parent}-%{version}.tar.bz2
%description
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
-This package provides the documentation. (HTML & PDF)
+This package provides HTML class documentation.
%prep
-
%setup -n %{parent}-%{version}
-%build
-
-export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-./bootstrap.sh %{_prefix}
+%build
mkdir build
cd build
+
cmake .. \
- -DDOC_DIR=%{_docdir} \
- -DDOCS_ONLY=ON
+ -DBUILD_DOC=on \
+ -DBUILD_SRC=off \
+ -DDOC_DESTDIR=$RPM_BUILD_ROOT
+
+# No "make doc" here: This would only duplicate the doxygen call
-make %{?jobs:-j%jobs} docs
%install
cd build
-make install DESTDIR="$RPM_BUILD_ROOT"
+make install-doc
+# This implicitly includes "make doc" unconditionally
%fdupes -s $RPM_BUILD_ROOT/%_docdir/%{parent}%{so_version}
-%clean
-rm -rf "$RPM_BUILD_ROOT"
%files
%defattr(-,root,root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/package/libyui-ncurses.changes
new/libyui-ncurses-4.0.2/package/libyui-ncurses.changes
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses.changes 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses.changes 2021-02-11
17:11:05.000000000 +0100
@@ -1,4 +1,40 @@
-------------------------------------------------------------------
+Thu Feb 11 13:34:20 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Added keyboard shortcuts:
+ Ctrl-D Shift-G - start the debugger
+ Ctrl-D Shift-C - start the configuration console
+ (jsc#PM-1895, jsc#SLE-16263)
+- CMake fix: do not create the include/yui symlink if it already
+ exists
+- 4.0.2
+
+-------------------------------------------------------------------
+Thu Feb 4 10:19:11 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- In tables with nested items, only open/close branches with [Space],
+ don't also send an "Activated" event (bsc#1181789)
+- 4.0.1
+
+-------------------------------------------------------------------
+Mon Feb 1 14:59:06 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
+Mon Feb 1 14:11:33 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Block processing the idle loop after calling the closeUI()
+ method (bsc#1181647)
+
+ The terminal was actually still used by the UI after that
+ call and there was a race condition if the started application
+ after the call also used the terminal.
+- 2.57.3
+
+-------------------------------------------------------------------
Wed Oct 28 16:23:14 UTC 2020 - Stefan Hundhammer <[email protected]>
- Explicitly set item and line index in NCMultiSelectionBox and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/package/libyui-ncurses.spec
new/libyui-ncurses-4.0.2/package/libyui-ncurses.spec
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses.spec 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses.spec 2021-02-11
17:11:05.000000000 +0100
@@ -1,7 +1,8 @@
#
# spec file for package libyui-ncurses
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2015-2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020-2021 SUSE LLC, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,38 +18,33 @@
Name: libyui-ncurses
-Version: 2.57.2
+
+# DO NOT manually bump the version here; instead, use rake version:bump
+Version: 4.0.2
Release: 0
-Source: %{name}-%{version}.tar.bz2
-%define so_version 14
-%define bin_name %{name}%{so_version}
+%define so_version 15
+%define libyui_devel_version libyui-devel >= 4.0.1
+%define bin_name %{name}%{so_version}
-%if 0%{?suse_version} > 1325
-BuildRequires: libboost_headers-devel
-%else
-BuildRequires: boost-devel
-%endif
-BuildRequires: cmake >= 2.8
+BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
-BuildRequires: pkg-config
-
-# YLabel::setAutoWrap()
-%define libyui_devel_version libyui-devel >= 3.10.0
-BuildRequires: %{libyui_devel_version}
+BuildRequires: boost-devel
BuildRequires: ncurses-devel
+BuildRequires: %{libyui_devel_version}
Url: http://github.com/libyui/
-Summary: Libyui - Character Based User Interface
+Summary: Libyui - NCurses (text based) user interface
License: LGPL-2.1 or LGPL-3.0
-Group: System/Libraries
+Source: %{name}-%{version}.tar.bz2
%description
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the NCurses (text based) user interface
+component for libyui.
%package -n %{bin_name}
+Summary: Libyui - NCurses (text based) user interface
Requires: glibc-locale
Requires: libyui%{so_version}
@@ -57,56 +53,43 @@
Obsoletes: yast2-ncurses < 2.42.0
Provides: yui_backend = %{so_version}
-Url: http://github.com/libyui/
-Summary: Libyui - Character Based User Interface
-Group: System/Libraries
-
%description -n %{bin_name}
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
%package devel
+Summary: Libyui - Header fles for the NCurses (text based) user
interface
-Requires: %{libyui_devel_version}
-%if 0%{?suse_version} > 1325
-Requires: libboost_headers-devel
-%else
-Requires: boost-devel
-%endif
Requires: glibc-devel
Requires: libstdc++-devel
-Requires: %{bin_name} = %{version}
+Requires: boost-devel
Requires: ncurses-devel
-
-Url: http://github.com/libyui/
-Summary: Libyui-ncurses header files
-Group: Development/Languages/C and C++
+Requires: %{libyui_devel_version}
+Requires: %{bin_name} = %{version}
%description devel
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the header files for the NCurses
+(text based) user interface component for libyui.
+This package is not needed to develop libyui-based applications,
+only to develop extensions for libyui-ncurses.
-This can be used independently of YaST for generic (C++) applications.
-This package has very few dependencies.
%package tools
-Url: http://github.com/libyui/
-Summary: Libyui-ncurses tools
-Group: System/Libraries
+Summary: Libyui - tools for the NCurses (text based) user interface
+Requires: screen
# conflict with libyui-ncurses8, /usr/bin/libyui-terminal was originally there
Conflicts: %{name}8
-Requires: screen
-
%description tools
-Character based (ncurses) user interface component for libYUI.
+This package contains tools for the NCurses (text based)
+user interface component for libyui:
libyui-terminal - useful for testing on headless machines
+
%prep
%setup -q -n %{name}-%{version}
@@ -115,41 +98,35 @@
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-./bootstrap.sh %{_prefix}
-
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
-cmake .. \
- -DYPREFIX=%{_prefix} \
- -DDOC_DIR=%{_docdir} \
- -DLIB_DIR=%{_lib} \
- -DCMAKE_BUILD_TYPE=RELWITHDEBINFO
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
-cmake .. \
- -DYPREFIX=%{_prefix} \
- -DDOC_DIR=%{_docdir} \
- -DLIB_DIR=%{_lib} \
- -DCMAKE_BUILD_TYPE=RELEASE
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
+cmake .. \
+ -DDOC_DIR=%{_docdir} \
+ -DLIB_DIR=%{_lib} \
+ $CMAKE_OPTS
+
make %{?jobs:-j%jobs}
+
%install
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
-install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
install -m0755 -d $RPM_BUILD_ROOT/%{_libdir}/yui
+install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
install -m0644 ../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
-%clean
-rm -rf "$RPM_BUILD_ROOT"
%post -n %{bin_name} -p /sbin/ldconfig
-
%postun -n %{bin_name} -p /sbin/ldconfig
+
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
@@ -157,14 +134,13 @@
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
+
%files devel
%defattr(-,root,root)
%dir %{_docdir}/%{bin_name}
%{_libdir}/yui/lib*.so
%{_prefix}/include/yui
-%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/cmake/%{name}
-%{_datadir}/libyui
+
%files tools
%defattr(-,root,root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/CMakeLists.txt
new/libyui-ncurses-4.0.2/src/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/src/CMakeLists.txt 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/CMakeLists.txt 2021-02-11 17:11:05.000000000
+0100
@@ -1,3 +1,283 @@
-PROCESS_SOURCES()
+# CMakeLists.txt for libyui-ncurses/src
-INSTALL(PROGRAMS libyui-terminal DESTINATION "${YPREFIX}/bin")
+include( ../VERSION.cmake )
+include( GNUInstallDirs ) # set CMAKE_INSTALL_INCLUDEDIR, ..._LIBDIR
+
+
+# Check if the libs we link against are available.
+# They are all part of package ncurses-devel.
+
+find_library( NCURSESW_LIB NAMES ncursesw REQUIRED )
+find_library( PANELW_LIB NAMES panelw REQUIRED )
+find_library( TINFO_LIB NAMES tinfo REQUIRED )
+
+set( NCURSES_LIBS ${NCURSESW_LIB} ${PANELW_LIB} ${TINFO_LIB} )
+
+
+#
+# libyui plugin specific
+#
+
+set( TARGETLIB libyui-ncurses )
+set( TARGETLIB_BASE yui-ncurses )
+
+set( HEADERS_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/yui/ncurses )
+set( PLUGIN_DIR ${CMAKE_INSTALL_LIBDIR}/yui ) # /usr/lib64/yui
+
+# if DESTDIR is set, CMAKE_INSTALL_INCLUDEDIR already contains it
+# during "make install" (but not for other make targets!):
+#
+# sudo make install DESTDIR=/work/foo
+# or
+# DESTDIR=/work/foo sudo make install
+#
+# -> the include files are installed to /work/foo/usr/include/...
+# We need that for RPM builds to install everything to $RPM_BUILD_ROOT.
+
+
+set( SOURCES
+ YNCursesUI.cc
+ NCApplication.cc
+ NCWidgetFactory.cc
+ NCOptionalWidgetFactory.cc
+
+ NCurses.cc
+ NCStyleDef.cc
+ NCstring.cc
+ NCstyle.cc
+ NCtext.cc
+ NCtoY2Event.cc
+ NCtypes.cc
+ lang2encoding.cc
+ ncursesp.cc
+ ncursesw.cc
+ position.cc
+ stringutil.cc
+
+ NCAlignment.cc
+ NCAskForDirectory.cc
+ NCAskForFile.cc
+ NCBusyIndicator.cc
+ NCButtonBox.cc
+ NCCheckBox.cc
+ NCCheckBoxFrame.cc
+ NCComboBox.cc
+ NCCustomStatusItemSelector.cc
+ NCDateField.cc
+ NCDialog.cc
+ NCDumbTab.cc
+ NCEmpty.cc
+ NCFileSelection.cc
+ NCFrame.cc
+ NCImage.cc
+ NCInputField.cc
+ NCInputTextBase.cc
+ NCIntField.cc
+ NCItemSelector.cc
+ NCLabel.cc
+ NCLayoutBox.cc
+ NCLogView.cc
+ NCMenuBar.cc
+ NCMenuButton.cc
+ NCMultiLineEdit.cc
+ NCMultiSelectionBox.cc
+ NCPackageSelectorPluginStub.cc
+ NCPad.cc
+ NCPadWidget.cc
+ NCPopup.cc
+ NCPopupInfo.cc
+ NCPopupList.cc
+ NCPopupMenu.cc
+ NCPopupTable.cc
+ NCPopupTextEntry.cc
+ NCProgressBar.cc
+ NCPushButton.cc
+ NCRadioButton.cc
+ NCRadioButtonGroup.cc
+ NCReplacePoint.cc
+ NCRichText.cc
+ NCSelectionBox.cc
+ NCSpacing.cc
+ NCSquash.cc
+ NCTable.cc
+ NCTableItem.cc
+ NCTablePad.cc
+ NCTablePadBase.cc
+ NCTableSort.cc
+ NCTextPad.cc
+ NCTimeField.cc
+ NCTree.cc
+ NCTreePad.cc
+ NCWidget.cc
+ NCWordWrapper.cc
+ )
+
+
+set( HEADERS
+ YNCursesUI.h
+ NCApplication.h
+ NCWidgetFactory.h
+ NCOptionalWidgetFactory.h
+
+ NCurses.h
+ NCi18n.h
+ NCstring.h
+ NCstyle.h
+ NCtext.h
+ NCtoY2Event.h
+ NCtypes.h
+ CyclicContainer.h
+ ncursesp.h
+ ncursesw.h
+ position.h
+ stdutil.h
+ stringutil.h
+ tnode.h
+
+ NCAlignment.h
+ NCAskForDirectory.h
+ NCAskForFile.h
+ NCBusyIndicator.h
+ NCButtonBox.h
+ NCCheckBox.h
+ NCCheckBoxFrame.h
+ NCComboBox.h
+ NCCustomStatusItemSelector.h
+ NCDateField.h
+ NCDialog.h
+ NCDumbTab.h
+ NCEmpty.h
+ NCFileSelection.h
+ NCFrame.h
+ NCImage.h
+ NCInputField.h
+ NCInputTextBase.h
+ NCIntField.h
+ NCItemSelector.h
+ NCLabel.h
+ NCLayoutBox.h
+ NCLogView.h
+ NCMenuBar.h
+ NCMenuButton.h
+ NCMultiLineEdit.h
+ NCMultiSelectionBox.h
+ NCPackageSelectorPluginIf.h
+ NCPackageSelectorPluginStub.h
+ NCPad.h
+ NCPadWidget.h
+ NCPopup.h
+ NCPopupInfo.h
+ NCPopupList.h
+ NCPopupMenu.h
+ NCPopupTable.h
+ NCPopupTextEntry.h
+ NCProgressBar.h
+ NCPushButton.h
+ NCRadioButton.h
+ NCRadioButtonGroup.h
+ NCReplacePoint.h
+ NCRichText.h
+ NCSelectionBox.h
+ NCSpacing.h
+ NCSquash.h
+ NCStyleDef.h
+ NCTable.h
+ NCTableItem.h
+ NCTablePad.h
+ NCTablePadBase.h
+ NCTableSort.h
+ NCTextPad.h
+ NCTimeField.h
+ NCTree.h
+ NCTreePad.h
+ NCWidget.h
+ NCWordWrapper.h
+
+ NCstyle.braille.h
+ NCstyle.highcontrast.h
+ NCstyle.inverted.h
+ NCstyle.linux.h
+ NCstyle.mono.h
+ NCstyle.rxvt.h
+ NCstyle.xterm.h
+ )
+
+
+
+# Add shared lib to be built
+add_library( ${TARGETLIB} SHARED ${SOURCES} ${HEADERS} )
+
+
+#
+# Include directories and compile options
+#
+
+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>
+add_custom_target( local-include-dir
+ # check if the symlink already exists
+ COMMAND if [ ! -L "${LOCAL_INCLUDE_DIR}/yui" ]\; then
+ rm -rf ${LOCAL_INCLUDE_DIR}\;
+ mkdir ${LOCAL_INCLUDE_DIR}\;
+ ln -s ${CMAKE_CURRENT_SOURCE_DIR}/../../libyui/src
${LOCAL_INCLUDE_DIR}/yui\;
+ fi
+ )
+
+add_dependencies( ${TARGETLIB} local-include-dir )
+target_include_directories( ${TARGETLIB} BEFORE PUBLIC ${LOCAL_INCLUDE_DIR} )
+
+# Allow operator<<() to output internal values of NCurses WINDOW etc.
+target_compile_definitions( ${TARGETLIB} PUBLIC NCURSES_INTERNALS=1 )
+
+
+# Add more compile options to this target in addition to those
+# added in the toplevel CMakeLists.txt and target_compile_definitions().
+#
+# Notice that CMake will automatically add -fPIC etc. where needed,
+# like for this shared lib.
+### target_compile_options( ${TARGETLIB} PUBLIC "-Dfoo" )
+
+# Show the complete compiler commands with all arguments:
+# make VERBOSE=1
+
+# Add more compile options to an individual source file:
+### set_source_files_properties( YUI.cc PROPERTIES COMPILE_OPTIONS "-Dfoo" )
+
+
+#
+# Linking
+#
+
+# Find yui during a combined build
+target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../libyui/build/src )
+
+
+# Libraries that are needed to build this shared lib
+#
+# If in doubt what is really needed, check with "ldd -u" which libs are unused.
+target_link_libraries( ${TARGETLIB}
+ yui
+ ${NCURSES_LIBS}
+ )
+
+
+#
https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html#target-properties
+set_target_properties( ${TARGETLIB} PROPERTIES
+ VERSION ${SONAME} # From ../VERSION.cmake
+ SOVERSION ${SONAME_MAJOR} # From ../VERSION.cmake
+ OUTPUT_NAME ${TARGETLIB_BASE}
+ )
+
+
+#
+# Install
+#
+
+# Install the headers first so the message about the lib does not scroll away
+install( FILES ${HEADERS} DESTINATION ${HEADERS_INSTALL_DIR} )
+install( TARGETS ${TARGETLIB} LIBRARY DESTINATION ${PLUGIN_DIR} )
+
+# This script is collected in the .spec file as the contents of the -tools
subpackage
+install( PROGRAMS libyui-terminal DESTINATION bin )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCApplication.cc
new/libyui-ncurses-4.0.2/src/NCApplication.cc
--- old/libyui-ncurses-2.57.2/src/NCApplication.cc 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCApplication.cc 2021-02-11
17:11:05.000000000 +0100
@@ -179,10 +179,18 @@
// via system() can use them and draw something to the terminal
dup2( YNCursesUI::ui()->stdout_save, 1 );
dup2( YNCursesUI::ui()->stderr_save, 2 );
+
+ // stop processing the idle loop to avoid potential collisions
+ // with the other process running on the terminal, the idle loop might
redraw
+ // the UI and reading the user input would eat some user entered characters
+ YNCursesUI::ui()->idleLoopSetEnabled(false);
}
void
NCApplication::openUI() {
+ // enable the idle loop back
+ YNCursesUI::ui()->idleLoopSetEnabled(true);
+
// Redirect stdout and stderr to y2log again
YNCursesUI::ui()->RedirectToLog();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCDialog.cc
new/libyui-ncurses-4.0.2/src/NCDialog.cc
--- old/libyui-ncurses-2.57.2/src/NCDialog.cc 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCDialog.cc 2021-02-11 17:11:05.000000000
+0100
@@ -1160,6 +1160,13 @@
YDialogSpy::showDialogSpy();
break;
+ case 'C':
+ pendingEvent = NCursesEvent::special_key_config;
+ break;
+
+ case 'G':
+ pendingEvent = NCursesEvent::debug;
+ break;
}
break;
@@ -1386,10 +1393,13 @@
"<p><b>Shift-F4</b> Change color schema.</p>"
"<p><b>Ctrl-\\</b> Quit the application.</p>"
"<p><b>Ctrl-L</b> Refresh screen.</p>"
+ "<p><b>Ctrl-O</b> Change table ordering, selecting the same column
again changes the direction.</p>"
"<p><b>Ctrl-D F1</b> Show a list of advanced hotkeys.</p>"
"<p><b>Ctrl-D Shift-D</b> Dump dialog to the log file as a screen
shot.</p>"
"<p><b>Ctrl-D Shift-Y</b> Open YDialogSpy to see the widget
hierarchy.</p>"
- "<p>Depending on your desktop environment some of these key
combinations <br/>might not work.</p>" ),
+ "<p><b>Ctrl-D Shift-G</b> Send a debug event, start the
debugger.</p>"
+ "<p><b>Ctrl-D Shift-C</b> Send a config event, display special
configuration options.</p>"
+ "<p>Depending on your desktop environment some of these key
combinations might not work.</p>" ),
true );
// restore former text domain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCOptionalWidgetFactory.cc
new/libyui-ncurses-4.0.2/src/NCOptionalWidgetFactory.cc
--- old/libyui-ncurses-2.57.2/src/NCOptionalWidgetFactory.cc 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCOptionalWidgetFactory.cc 2021-02-11
17:11:05.000000000 +0100
@@ -24,8 +24,8 @@
#include "NCOptionalWidgetFactory.h"
#include <yui/YUIException.h>
-#include <NCTimeField.h>
-#include <NCDateField.h>
+#include "NCTimeField.h"
+#include "NCDateField.h"
#define THROW_UNSUPPORTED( WIDGET_TYPE ) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCTable.cc
new/libyui-ncurses-4.0.2/src/NCTable.cc
--- old/libyui-ncurses-2.57.2/src/NCTable.cc 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCTable.cc 2021-02-11 17:11:05.000000000
+0100
@@ -556,7 +556,6 @@
NCursesEvent NCTable::wHandleInput( wint_t key )
{
NCursesEvent ret = NCursesEvent::none;
- bool sendEvent = false;
int currentIndex = getCurrentItem();
// Call the pad's input handler via NCPadWidget::handleInput()
@@ -586,27 +585,33 @@
break;
+ case KEY_SPACE:
+
+ if ( ! handled ) // NCTableLine::handleInput() handles
opening/closing branches
+ {
+ if ( _multiSelect )
+ {
+ toggleCurrentItem();
+
+ if ( notify() )
+ return NCursesEvent::ValueChanged;
+ }
+ }
+ break;
+
// Even if the event was already handled:
// Take care about sending UI events to the caller.
case KEY_RETURN:
- sendEvent = true;
-
- if ( _multiSelect)
+ if ( _multiSelect )
{
toggleCurrentItem();
- // Send ValueChanged on Return (like done for NCTree
multiSelection)
-
- if ( notify() && sendEvent )
+ if ( notify() )
return NCursesEvent::ValueChanged;
}
- // FALLTHRU
-
- case KEY_SPACE:
-
- if ( !_multiSelect )
+ else // !_multiSelect
{
if ( notify() && currentIndex != -1 )
return NCursesEvent::Activated;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCi18n.h
new/libyui-ncurses-4.0.2/src/NCi18n.h
--- old/libyui-ncurses-2.57.2/src/NCi18n.h 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCi18n.h 2021-02-11 17:11:05.000000000
+0100
@@ -26,9 +26,7 @@
#define NCi18n_h
#include <libintl.h>
-
#include <yui/YSettings.h>
-#include <yui/Libyui_config.h>
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCtoY2Event.cc
new/libyui-ncurses-4.0.2/src/NCtoY2Event.cc
--- old/libyui-ncurses-2.57.2/src/NCtoY2Event.cc 2020-10-28
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCtoY2Event.cc 2021-02-11 17:11:05.000000000
+0100
@@ -76,6 +76,12 @@
case cancel:
return new YCancelEvent();
+ case debug:
+ return new YDebugEvent();
+
+ case special_key_config:
+ return new YSpecialKeyEvent("config");
+
case timeout:
return new YTimeoutEvent();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCtoY2Event.h
new/libyui-ncurses-4.0.2/src/NCtoY2Event.h
--- old/libyui-ncurses-2.57.2/src/NCtoY2Event.h 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCtoY2Event.h 2021-02-11 17:11:05.000000000
+0100
@@ -26,7 +26,7 @@
#ifndef NCtoY2Event_h
#define NCtoY2Event_h
-#include <NCurses.h> // NCursesEvent, iostream
+#include "NCurses.h" // NCursesEvent, iostream
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCurses.cc
new/libyui-ncurses-4.0.2/src/NCurses.cc
--- old/libyui-ncurses-2.57.2/src/NCurses.cc 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCurses.cc 2021-02-11 17:11:05.000000000
+0100
@@ -30,8 +30,6 @@
#include <list>
#include <set>
-#include <yui/Libyui_config.h>
-
#define YUILogComponent "ncurses"
#include <yui/YUILog.h>
#include "NCurses.h"
@@ -117,6 +115,8 @@
ENUM_OUT( menu );
ENUM_OUT( timeout );
ENUM_OUT( key );
+ ENUM_OUT( debug );
+ ENUM_OUT( special_key_config );
}
#undef ENUM_OUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCurses.h
new/libyui-ncurses-4.0.2/src/NCurses.h
--- old/libyui-ncurses-2.57.2/src/NCurses.h 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/NCurses.h 2021-02-11 17:11:05.000000000
+0100
@@ -82,7 +82,9 @@
timeout,
button,
menu,
- key
+ key,
+ debug,
+ special_key_config
};
enum DETAIL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/YNCursesUI.cc
new/libyui-ncurses-4.0.2/src/YNCursesUI.cc
--- old/libyui-ncurses-2.57.2/src/YNCursesUI.cc 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/YNCursesUI.cc 2021-02-11 17:11:05.000000000
+0100
@@ -62,7 +62,7 @@
}
YNCursesUI::YNCursesUI( bool withThreads, bool topmostConstructor )
- : YUI( withThreads )
+ : YUI( withThreads ), idle_loop_enabled(true)
{
yuiMilestone() << "Start YNCursesUI" << std::endl;
_ui = this;
@@ -151,6 +151,10 @@
return app;
}
+void YNCursesUI::idleLoopSetEnabled( bool enabled )
+{
+ idle_loop_enabled = enabled;
+}
void YNCursesUI::idleLoop( int fd_ycp )
{
@@ -177,7 +181,7 @@
if ( errno != EINTR )
yuiError() << "idleLoop error in select() (" << errno << ')' <<
std::endl;
}
- else if ( retval != 0 )
+ else if ( retval != 0 && idle_loop_enabled )
{
//do not throw here, as current dialog may not necessarily exist yet
//if we have threads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/YNCursesUI.h
new/libyui-ncurses-4.0.2/src/YNCursesUI.h
--- old/libyui-ncurses-2.57.2/src/YNCursesUI.h 2020-10-28 19:29:41.000000000
+0100
+++ new/libyui-ncurses-4.0.2/src/YNCursesUI.h 2021-02-11 17:11:05.000000000
+0100
@@ -85,6 +85,11 @@
**/
static YNCursesUI * _ui;
+ /**
+ * Enable or disable the idle loop (processing the user input)
+ **/
+ bool idle_loop_enabled;
+
public:
/**
@@ -132,6 +137,11 @@
* the user actions.
**/
void sendEvent( NCursesEvent event );
+
+ /**
+ * Enable or disable the idle loop processing.
+ **/
+ void idleLoopSetEnabled( bool enabled = true );
};