Sync from SUSE:ALP:Source:Standard:1.0 libyui revision 21619546fae66ffa32120afb9d3195be

This commit is contained in:
Adrian Schröter 2023-06-07 08:09:19 +02:00
commit 50c687fc81
14 changed files with 13872 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

11
_multibuild Normal file
View File

@ -0,0 +1,11 @@
<multibuild>
<flavor>libyui-qt</flavor>
<flavor>libyui-qt-graph</flavor>
<flavor>libyui-qt-pkg</flavor>
<flavor>libyui-ncurses</flavor>
<flavor>libyui-ncurses-pkg</flavor>
<flavor>libyui-rest-api</flavor>
<flavor>libyui-qt-rest-api</flavor>
<flavor>libyui-ncurses-rest-api</flavor>
<flavor>libyui-bindings</flavor>
</multibuild>

BIN
libyui-4.5.2.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

148
libyui-bindings.spec Normal file
View File

@ -0,0 +1,148 @@
#
# spec file for package libyui-bindings
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# nodebuginfo
Name: libyui-bindings
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
Summary: Bindings for libyui
License: LGPL-2.1-only OR LGPL-3.0-only
Group: Development/Sources
URL: https://github.com/libyui/libyui-bindings
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: gcc-c++
# New cmake build environment
BuildRequires: libyui-devel >= %{version}
BuildRequires: perl
BuildRequires: python3-devel
BuildRequires: ruby-devel
BuildRequires: swig
Source: libyui-%{version}.tar.bz2
Prefix: /usr
%description
This package provides Ruby language bindings to access functions of
libyui - An User Interface engine that provides the
abstraction from graphical user interfaces (Qt, Gtk) and text based
user interfaces (ncurses).
Authors:
---------
- kkaempf@suse.de
- dmacvicar@suse.de
%prep
%setup -q -n libyui-%{version}
%build
pushd %{name}
mkdir build
cd build
cmake -DYPREFIX=%{prefix} \
-DCMAKE_INSTALL_PREFIX=%{prefix} \
-DLIB=%{_lib} \
-DPYTHON_SITEDIR=%{python3_sitelib} \
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags}" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="%{optflags}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=1 \
-DBUILD_RUBY_GEM=no \
..
make %{?jobs:-j %jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR=$RPM_BUILD_ROOT
popd
%clean
%{__rm} -rf %{buildroot}
%package -n ruby-yui
Summary: Ruby bindings for libyui
Group: Development/Languages/Ruby
%description -n ruby-yui
This package provides Ruby language bindings to access functions of
libyui - An User Interface engine that provides the
abstraction from graphical user interfaces (Qt, Gtk) and text based
user interfaces (ncurses).
Authors:
---------
- kkaempf@suse.de
- dmacvicar@suse.de
%package -n python3-yui
Summary: Python 3 bindings for libyui
Group: Development/Languages/Python
%description -n python3-yui
This package provides Python 3 language bindings to access functions of
libyui - An User Interface engine that provides the
abstraction from graphical user interfaces (Qt, Gtk) and text based
user interfaces (ncurses).
Authors:
---------
- kkaempf@suse.de
- dmacvicar@suse.de
%package -n perl-yui
%{perl_requires}
Summary: Perl bindings for libyui
Group: Development/Languages/Perl
%description -n perl-yui
This package provides Perl language bindings to access functions of
yast2-libyui - An User Interface engine that provides the
abstraction from graphical user interfaces (Qt, Gtk) and text based
user interfaces (ncurses).
Authors:
---------
- kkaempf@suse.de
- dmacvicar@suse.de
%files -n ruby-yui
%defattr(-,root,root,-)
%doc %{name}/swig/ruby/examples/*.rb
%{_libdir}/ruby/vendor_ruby/%{rb_ver}/yui.rb
%{_libdir}/ruby/vendor_ruby/%{rb_ver}/yui
%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/_yui.so
%files -n python3-yui
%defattr(-,root,root,-)
%doc %{name}/swig/python/examples/*.py
%{python3_sitelib}/_yui.so
%{python3_sitelib}/yui.py
%files -n perl-yui
%defattr(-,root,root,-)
%doc %{name}/swig/perl/examples/*.pl
%{perl_vendorarch}/yui.so
%{perl_vendorlib}/yui.pm
%changelog

135
libyui-ncurses-pkg.spec Normal file
View File

@ -0,0 +1,135 @@
#
# spec file for package libyui-ncurses-pkg
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-ncurses-pkg
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define libzypp_devel_version libzypp-devel >= 17.21.0
%define bin_name %{name}%{so_version}
BuildRequires: %{libzypp_devel_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: libyui-devel >= %{version}
BuildRequires: libyui-ncurses-devel >= %{version}
BuildRequires: pkg-config
Summary: Libyui - yast2 package selector widget for the NCurses UI
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package contains the package selector for the text based (NCurses) user
interface component for libyui.
%package -n %{bin_name}
Summary: Libyui - yast2 package selector widget for the NCurses UI
Requires: libyui%{so_version}
Requires: libyui-ncurses%{so_version}
Provides: %{name} = %{version}
Provides: yast2-ncurses-pkg = 2.50.0
Obsoletes: yast2-ncurses-pkg < 2.50.0
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
# force removal of all previous library versions (bsc#1148622),
# expands to: libyui-ncurses-pkg1 libyui-ncurses-pkg2 ... libyui-ncurses-pkg{so_version - 1}
Obsoletes: %(echo `seq -s " " -f "libyui-ncurses-pkg%.f" $(expr %{so_version} - 1)`)
Provides: libyui_pkg
Supplements: packageand(libyui-ncurses:yast2-packager)
# Selectable::hasRetracted()
Requires: libzypp >= 17.21.0
%description -n %{bin_name}
This package contains the NCurses (text based) package selector
component for libyui.
%package devel
Summary: Libyui-ncurses-pkg header files
Requires: %{bin_name} = %{version}
Requires: %{libzypp_devel_version}
Requires: boost-devel
Requires: glibc-devel
Requires: libstdc++-devel
Requires: libyui-ncurses-devel >= %{version}
%description devel
This package contains the header files for the NCurses (text based)
package selector component for libyui.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
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 -m0644 ../../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%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
%changelog

View File

@ -0,0 +1,125 @@
#
# spec file for package libyui-ncurses-rest-api
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-ncurses-rest-api
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: libyui-devel >= %{version}
BuildRequires: libyui-ncurses-devel >= %{version}
BuildRequires: libyui-rest-api-devel
Summary: Libyui - REST API plugin for the Ncurses frontend
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package provides a libyui REST API plugin for the
Ncurses frontend.
It allows inspecting and controlling the UI remotely via
an HTTP REST API. This is designed for automated tests.
%package -n %{bin_name}
Summary: Libyui - REST API plugin for the Ncurses frontend
Requires: libyui%{so_version}
Requires: libyui-ncurses%{so_version}
Requires: libyui-rest-api%{so_version}
Requires: yui_backend = %{so_version}
Provides: %{name} = %{version}
Supplements: (libyui-rest-api and libyui-ncurses)
%description -n %{bin_name}
This package provides a libyui REST API plugin for the
Ncurses frontend.
It allows inspecting and controlling the UI remotely via
an HTTP REST API. This is designed for automated tests.
%package devel
Summary: Libyui - Header files for the NCurses REST API plugin
Requires: %{bin_name} = %{version}
Requires: glibc-devel
Requires: libstdc++-devel
Requires: libyui-ncurses-devel >= %{version}
Requires: libyui-rest-api-devel >= %{version}
%description devel
This provides a libyui REST API plugin for the Ncurses frontend.
This package contains the header files for the plugin.
This is not needed for using the REST API, only for developing
extensions for it.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
install -m0755 -d %{buildroot}/%{_libdir}/yui
install -m0755 -d %{buildroot}/%{_docdir}/%{bin_name}/
install -m0644 ../../COPYING* %{buildroot}/%{_docdir}/%{bin_name}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%{_libdir}/yui/lib*.so
%{_includedir}/yui/ncurses-rest-api
%changelog

149
libyui-ncurses.spec Normal file
View File

@ -0,0 +1,149 @@
#
# spec file for package libyui-ncurses
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-ncurses
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: libboost_test-devel
BuildRequires: libyui-devel >= %{version}
BuildRequires: ncurses-devel
URL: http://github.com/libyui/
Summary: Libyui - NCurses (text based) user interface
License: LGPL-2.1-only OR LGPL-3.0-only
Source: libyui-%{version}.tar.bz2
%description
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-base
Requires: libyui%{so_version}
Provides: %{name} = %{version}
Provides: yast2-ncurses = 2.42.0
Obsoletes: yast2-ncurses < 2.42.0
Provides: yui_backend = %{so_version}
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
%description -n %{bin_name}
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: boost-devel
Requires: glibc-devel
Requires: libstdc++-devel
Requires: libyui-devel >= %{version}
Requires: ncurses-devel
%description devel
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.
%package tools
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
%description tools
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 libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
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}/
popd
%check
pushd %{name}
cd build
make test ARGS=-V
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%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
%files tools
%defattr(-,root,root)
%{_bindir}/libyui-terminal
%changelog

129
libyui-qt-graph.spec Normal file
View File

@ -0,0 +1,129 @@
#
# spec file for package libyui-qt-graph
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-qt-graph
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: graphviz-devel >= 2.26.0
# Used here and in src/CMakeLists.txt
BuildRequires: libyui-devel >= %{version}
BuildRequires: libyui-qt-devel >= %{version}
BuildRequires: pkg-config
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
Summary: Libyui - Qt Graph Widget
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package contains the Qt graph component for libyui.
%package -n %{bin_name}
Summary: Libyui - Qt graph widget
Requires: libyui%{so_version}
Requires: libyui-qt%{so_version}
Supplements: libyui-qt%{so_version}
Provides: %{name} = %{version}
Provides: yast2-qt-graph = 2.46.0
Obsoletes: yast2-qt-graph < 2.46.0
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
%description -n %{bin_name}
This package contains the Qt graph component for libyui.
This is a special widget to visualize graphs such as the
storage device hierarchy (disks, partitions, subvolumes
etc.). and similar graphviz-generated graphs.
%package devel
Summary: Libyui - Header files for the Qt graph widget
Requires: %{bin_name} = %{version}
Requires: libyui-qt-devel >= %{version}
%description devel
This package contains the header files for the Qt graph component
for libyui.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
-DBUILD_EXAMPLES=on \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
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}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%defattr(-,root,root)
%{_libdir}/yui/lib*.so
%{_includedir}/yui/qt-graph
%dir %{_docdir}/%{bin_name}
%doc %{_docdir}/%{bin_name}/examples
%changelog

140
libyui-qt-pkg.spec Normal file
View File

@ -0,0 +1,140 @@
#
# spec file for package libyui-qt-pkg
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-qt-pkg
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define libzypp_devel_version libzypp-devel >= 17.21.0
%define bin_name %{name}%{so_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: %{libzypp_devel_version}
BuildRequires: libyui-devel >= %{version}
BuildRequires: libyui-qt-devel >= %{version}
Summary: Libyui - Qt Package Selector
License: LGPL-2.1-only OR LGPL-3.0-only
URL: https://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package contains the Qt package selector component for libyui.
%package -n %{bin_name}
Summary: Libyui - Qt package selector
# bsc#1114654: Need Qt SVG support for icons (built-in and from theme)
Requires: libQt5Svg5
# Selectable::hasRetracted()
Requires: libzypp >= 17.21.0
# YPackageSelector#onlineSearchEnabled()
Requires: libyui%{so_version} >= 3.9.2
Requires: libyui-qt%{so_version}
Supplements: (libyui-qt and yast2-packager)
Conflicts: libqdialogsolver1 < 1.4.0
Provides: %{name} = %{version}
Provides: yast2-qt-pkg = 2.47.0
Obsoletes: yast2-qt-pkg < 2.47.0
# force removal of all previous library versions (bsc#1148622),
# expands to: libyui-qt-pkg1 libyui-qt-pkg2 ... libyui-qt-pkg{so_version - 1}
Obsoletes: %(echo `seq -s " " -f "libyui-qt-pkg%.f" $(expr %{so_version} - 1)`)
Provides: libyui_pkg
# new packager is in qt5 and crashes if qt3 diagsolver is used (bnc#870683)
Obsoletes: libqdialogsolver1 < 1.4.0
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
%description -n %{bin_name}
This package contains the Qt package selector component for libyui.
%package devel
Summary: Libyui-qt-pkg header files
Requires: %{bin_name} = %{version}
Requires: %{libzypp_devel_version}
Requires: libyui-qt-devel >= %{version}
%description devel
This package contains the Qt package selector component for libyui.
This can be used independently of YaST for generic (C++) applications.
This package has very few dependencies.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
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}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%defattr(-,root,root)
%{_libdir}/yui/lib*.so
%{_includedir}/yui/qt-pkg
%changelog

131
libyui-qt-rest-api.spec Normal file
View File

@ -0,0 +1,131 @@
#
# spec file for package libyui-qt-rest-api
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-qt-rest-api
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: libyui-devel >= %{version}
BuildRequires: libyui-qt-devel >= %{version}
BuildRequires: libyui-rest-api-devel >= %{version}
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
Summary: Libyui - The REST API plugin for the Qt frontend
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package provides a libyui REST API plugin for the Qt frontend.
It allows inspecting and controlling the UI remotely via
an HTTP REST API. This is designed for automated tests.
%package -n %{bin_name}
Summary: Libyui - The REST API plugin for the Qt frontend
Requires: libyui%{so_version}
Requires: libyui-qt%{so_version}
Requires: libyui-rest-api%{so_version}
Requires: yui_backend = %{so_version}
Provides: %{name} = %{version}
Supplements: (libyui-rest-api and libyui-qt)
%description -n %{bin_name}
This package provides a libyui REST API plugin for the Qt frontend.
It allows inspecting and controlling the UI remotely via
an HTTP REST API. This is designed for automated tests.
%package devel
Summary: Libyui - Header files for the Qt REST API plugin
Requires: %{bin_name} = %{version}
Requires: glibc-devel
Requires: libstdc++-devel
Requires: libyui-qt-devel >= %{version}
Requires: libyui-rest-api-devel >= %{version}
%description devel
This provides a libyui REST API plugin for the Qt frontend.
This package contains the header files for the plugin.
This is not needed for using the REST API, only for developing
extensions for it.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
install -m0755 -d %{buildroot}/%{_libdir}/yui
install -m0755 -d %{buildroot}/%{_docdir}/%{bin_name}/
install -m0644 ../../COPYING* %{buildroot}/%{_docdir}/%{bin_name}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%{_libdir}/yui/lib*.so
%{_includedir}/yui/qt-rest-api
%changelog

128
libyui-qt.spec Normal file
View File

@ -0,0 +1,128 @@
#
# spec file for package libyui-qt
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-qt
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: cmake >= 3.10
BuildRequires: fontconfig-devel
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: libyui-devel >= %{version}
Provides: yui_backend = %{so_version}
Summary: Libyui - Qt (graphical) user interface
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: libyui-%{version}.tar.bz2
%description
This package contains the Qt (graphical) user interface component
for libyui.
%package -n %{bin_name}
Summary: Libyui - Qt (graphical) user interface
Requires: libyui%{so_version}
Provides: %{name} = %{version}
Provides: yast2-qt = %{version}
Obsoletes: yast2-qt < 2.51.0
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
%description -n %{bin_name}
This package contains the Qt (graphical) user interface component
for libyui.
%package devel
Summary: Libyui - Header files for the Qt (graphical) user interface
Requires: %{bin_name} = %{version}
Requires: fontconfig-devel
Requires: libyui-devel >= %{version}
%description devel
This package contains the header files for the Qt based
user interface component for libyui.
This package is not needed to develop libyui-based applications,
only to develop extensions for libyui-qt.
%prep
%setup -q -n libyui-%{version}
%build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
pushd %{name}
mkdir build
cd build
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
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}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%defattr(-,root,root)
%{_libdir}/yui/lib*.so
%{_includedir}/yui/qt
%{_libdir}/pkgconfig/%{name}.pc
%changelog

120
libyui-rest-api.spec Normal file
View File

@ -0,0 +1,120 @@
#
# spec file for package libyui-rest-api
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui-rest-api
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.10
BuildRequires: gcc-c++
BuildRequires: jsoncpp-devel
BuildRequires: libmicrohttpd-devel
BuildRequires: libyui-devel >= %{version}
Summary: Libyui - REST API plugin, the shared part
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui
Source: libyui-%{version}.tar.bz2
%description
This package provides a libyui REST API plugin.
It allows inspecting and controlling the UI remotely via
an HTTP REST API, it is designed for automated tests.
%package -n %{bin_name}
Summary: Libyui - REST API plugin, the shared part
Requires: libyui%{so_version}
Requires: yui_backend = %{so_version}
Provides: %{name} = %{version}
%description -n %{bin_name}
This package provides a libyui REST API plugin.
It allows inspecting and controlling the UI remotely via
an HTTP REST API, it is designed for automated tests.
%package devel
Summary: Libyui - REST API header files
Requires: %{bin_name} = %{version}
Requires: boost-devel
Requires: glibc-devel
Requires: jsoncpp-devel
Requires: libmicrohttpd-devel
Requires: libstdc++-devel
Requires: libyui-devel >= %{version}
%description devel
This package provides a libyui REST API plugin.
This is a development subpackage.
%prep
%setup -q -n libyui-%{version}
%build
pushd %{name}
mkdir build
cd build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG $(getconf LFS_CFLAGS)"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG $(getconf LFS_CFLAGS)"
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
cd build
make install DESTDIR="$RPM_BUILD_ROOT"
install -m0755 -d %{buildroot}/%{_libdir}/yui
install -m0755 -d %{buildroot}/%{_docdir}/%{bin_name}/
install -m0644 ../../COPYING* %{buildroot}/%{_docdir}/%{bin_name}/
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%dir %{_libdir}/yui
%{_libdir}/yui/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%dir %{_docdir}/%{bin_name}
%{_libdir}/yui/lib*.so
%{_includedir}/yui
%changelog

12490
libyui.changes Normal file

File diff suppressed because it is too large Load Diff

140
libyui.spec Normal file
View File

@ -0,0 +1,140 @@
#
# spec file for package libyui
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libyui
# DO NOT manually bump the version here; instead, use rake version:bump
Version: 4.5.2
Release: 0
%define so_version 16
%define bin_name %{name}%{so_version}
BuildRequires: boost-devel
BuildRequires: cmake >= 3.17
BuildRequires: gcc-c++
BuildRequires: libboost_test-devel
BuildRequires: pkg-config
Summary: GUI abstraction library
License: LGPL-2.1-only OR LGPL-3.0-only
URL: http://github.com/libyui/
Source: %{name}-%{version}.tar.bz2
%description
This is the user interface engine that provides the abstraction from
graphical user interfaces (Qt, Gtk) and text based user interfaces
(ncurses).
Originally developed for YaST, it can also be used independently of
YaST for generic (C++) applications. This package has very few
dependencies.
%package -n %{bin_name}
Summary: Libyui - GUI abstraction library
Provides: yast2-libyui = 2.42.0
Obsoletes: yast2-libyui < 2.42.0
Requires: yui_backend = %{so_version}
# Force removal of old -doc packages (bsc#1184363)
Obsoletes: %{name}-doc < %{version}
Provides: %{name}-doc = %{version}
%description -n %{bin_name}
This is the user interface engine that provides the abstraction from
graphical user interfaces (Qt, Gtk) and text based user interfaces
(ncurses).
Originally developed for YaST, it can also be used independently of
YaST for generic (C++) applications. This package has very few
dependencies.
%package devel
Summary: Libyui header files and examples
Requires: %{bin_name} = %{version}
Requires: boost-devel
Requires: glibc-devel
Requires: libstdc++-devel
%description devel
This package contains header files and examples for developing C++
applications based on libyui, the user interface engine that provides
the abstraction from graphical user interfaces (Qt, Gtk) and text
based user interfaces (ncurses).
%prep
%setup -q -n %{name}-%{version}
%build
pushd %{name}
mkdir build
cd build
export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG $(getconf LFS_CFLAGS)"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG $(getconf LFS_CFLAGS)"
%if %{?_with_debug:1}%{!?_with_debug:0}
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
%else
CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
%endif
cmake .. \
$CMAKE_OPTS
make %{?jobs:-j%jobs}
popd
%install
pushd %{name}
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 -m0644 ../../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
popd
%check
pushd %{name}
cd build
make test ARGS=-V
popd
%post -n %{bin_name} -p /sbin/ldconfig
%postun -n %{bin_name} -p /sbin/ldconfig
%files -n %{bin_name}
%defattr(-,root,root)
%{_libdir}/lib*.so.*
%doc %dir %{_docdir}/%{bin_name}
%license %{_docdir}/%{bin_name}/COPYING*
%files devel
%defattr(-,root,root)
%dir %{_docdir}/%{bin_name}
%{_libdir}/lib*.so
%{_includedir}/yui
%dir %{_datadir}/libyui
%{_datadir}/libyui/buildtools
%doc %{_docdir}/%{bin_name}/examples
%{_libdir}/pkgconfig/%{name}.pc
# %{_libdir}/cmake/%{name}
%changelog