Compare commits

..

No commits in common. "main" and "master" have entirely different histories.
main ... master

3 changed files with 140 additions and 369 deletions

20
fix_gcc8.patch Normal file
View File

@ -0,0 +1,20 @@
--- a/src/YDialog.cc
+++ b/src/YDialog.cc
@@ -687,7 +687,7 @@ YDialog::showText( const std::string & text, bool useRichText )
dialog->waitForEvent();
dialog->destroy();
}
- catch ( YUIException exception )
+ catch ( const YUIException & exception )
{
// Don't let the application die just because help couldn't be displayed.
@@ -811,7 +811,7 @@ YDialog::showRelNotesText()
}
dialog->destroy();
}
- catch ( YUIException exception )
+ catch ( const YUIException & exception )
{
// Don't let the application die just because RN couldn't be displayed.

View File

@ -1,68 +1,32 @@
%define __cmake_builddir build
%global major_so_ver 8
%global major_so_ver 15
# Place rpm-macros into proper location.
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%define libname libyui
%define develname libyui-devel
# Setup _pkgdocdir if not defined already.
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
# Define libsuffix.
%global libsuffix yui
#--------------------------------------------------------
# Package libyui-ncurses
%define yui_ncurses_name libyui-ncurses
%define libncurses libyui-ncurses
%define devncurses libyui-ncurses-devel
#--------------------------------------------------------
# Package libyui-qt
%define yui_qt_name libyui-qt
%define libqt libyui-qt
%define devqt libyui-qt-devel
#--------------------------------------------------------
# Package libyui-qt-graph
%define yui_qt_graph_name libyui-qt-graph
%define libqtgraph libyui-qt-graph
%define devqtgraph libyui-qt-graph-devel
# CMake-builds go out-of-tree.
%global _cmake_build_subdir build-%{_target_platform}
Name: lib%{libsuffix}
Version: 3.3.3
Release: 6%{?dist}
Summary: GUI-abstraction library
Name: %{libname}
Version: 4.2.16
Release: 9%{?dist}
Summary: GUI-abstraction library
License: (LGPLv2 or LGPLv3) and MIT
URL: https://github.com/%{name}/%{name}
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
License: (LGPLv2 or LGPLv3) and MIT
URL: https://github.com/%{name}/%{name}
Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
# Based on https://github.com/libyui/libyui/commit/b1f593cd99fd33cc3f0cf9b4f5151f672b68d96e
Patch0: fix_gcc8.patch
BuildRequires: gcc-c++
BuildRequires: boost-devel
BuildRequires: libtool
BuildRequires: perl-devel
BuildRequires: rubygems
BuildRequires: swig
BuildRequires: fontconfig-devel
BuildRequires: perl-generators
BuildRequires: pkgconfig(ruby)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(ncursesw)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(libyui-mga)
BuildRequires: boost-devel
BuildRequires: cmake
%description
This is the user interface engine that provides the abstraction
@ -74,330 +38,117 @@ independently of YaST for generic (C++) applications.
%{name} has very few dependencies.
#----------------------------------------------------------
# libyui
%package devel
Summary: Files needed for developing with %{name}
Requires: boost-devel%{?_isa}
Requires: %{name}%{?_isa} == %{version}-%{release}
%description devel
%{name} can be used independently of YaST for generic (C++)
applications and has very few dependencies.
%package doc
Summary: Documentation files for %{name}
BuildArch: noarch
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: hardlink
%description doc
This package includes the developer's documentation and some
brief examples how to build a UI using %{name}.
%prep
%autosetup -p 1
./bootstrap.sh
%build
%{__mkdir} -p %{_cmake_build_subdir}
pushd %{_cmake_build_subdir}
%cmake \
-DYPREFIX=%{_prefix} \
-DLIB_DIR=%{_libdir} \
-DCMAKE_BUILD_TYPE=RELEASE \
-DRESPECT_FLAGS=ON \
-DSKIP_LATEX=ON \
..
%make_build
%make_build docs
popd
%install
pushd %{_cmake_build_subdir}
%{__mkdir} -p %{buildroot}%{_libdir}/%{libsuffix} \
%{buildroot}%{_datadir}/%{name}/theme
%make_install
# Create a macro for use in other spec-files.
%{__mkdir} -p %{buildroot}/%{macrosdir}
%{__cat} << EOF > %{buildroot}/%{macrosdir}/macros.%{name}
%_%{name}_major_so_ver %{major_so_ver}
%_%{name}_datadir %%{_datadir}/%{name}
%_%{name}_includedir %%{_includedir}/%{libsuffix}
%_%{name}_plugindir %%{_libdir}/%{libsuffix}
%_%{name}_themedir %%{_datadir}/%{name}/theme
EOF
# Delete obsolete files.
%{__rm} -rf %{buildroot}%{_defaultdocdir} \
../examples/{CMake*,.gitignore} \
doc/html/*.m*
# Install documentation.
%{__mkdir} -p %{buildroot}%{?_pkgdocdir}
%{__cp} -a ../README.md ../package/libyui.changes \
../examples/ doc/html/ \
%{buildroot}%{?_pkgdocdir}
# Hard-link documentation.
%{_sbindir}/hardlink -cv %{buildroot}%{?_pkgdocdir}/html
popd
%ldconfig_scriptlets
%files
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/theme
%dir %{_libdir}/%{libsuffix}
%doc %dir %{?_pkgdocdir}
%doc %{?_pkgdocdir}/README.md
%license COPYING*
%{_libdir}/%{name}.so.%{major_so_ver}*
#----------------------------------------------------------
# libyui-devel
%package -n %develname
Summary: libYUI, YaST2 User Interface Engine - header files
Group: Development/C++
Requires: %{libname} >= %{version}
Requires: boost-devel
Provides: %{name}-devel = %{version}-%{release}
Provides: yui-devel = %{version}-%{release}
%description -n %develname
This is the development package for libyui user interface engine that provides
the abstraction from graphical user interfaces (Qt, Gtk) and text based user
interfaces (ncurses).
%files -n %develname
%{_libdir}/libyui.so
%{_libdir}/pkgconfig/libyui.pc
%{_includedir}/yui/*.h
%{_datadir}/libyui/buildtools
#-----------------------------------------------------------------------
# libyui-qt
%package -n %libqt
Summary: Libyui - Qt (graphical) user interface
Group: System/Libraries
Requires: qt5-qtx11extras
Provides: %{yui_qt_name} = %{version}-%{release}
%description -n %libqt
This package contains the Qt (graphical) user interface component for libyui.
%files -n %libqt
%doc COPYING*
%{_libdir}/yui/libyui-qt.so.%{major_so_ver}*
#-----------------------------------------------------------------------
# libyui-qt-devel
%package -n %devqt
Summary: Libyui - Qt (graphical) user interface header files
Group: Development/KDE and Qt
Requires: libyui-devel
Requires: %{yui_qt_name} = %{version}-%{release}
Provides: yui-qt-devel = %{version}-%{release}
%description -n %devqt
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.
%files -n %devqt
%{_includedir}/yui/qt
%{_libdir}/yui/libyui-qt*.so
%{_libdir}/pkgconfig/libyui-qt.pc
#-----------------------------------------------------------------------
# libyui-qt-graph
%package -n %libqtgraph
Summary: Libyui - Qt graph component for libyui.
Group: System/Libraries
BuildRequires: graphviz-devel
Requires: qt5-qtx11extras
Provides: %{yui_qt_graph_name} = %{version}-%{release}
%description -n %libqtgraph
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.
%files -n %libqtgraph
%doc COPYING*
%dir %{_libdir}/yui
%{_libdir}/yui/%libqtgraph.so.*
#-----------------------------------------------------------------------
# libyui-qt-graph-devel
%package -n %devqtgraph
Summary: Libyui - Qt (graphical) user interface header files
Group: Development/KDE and Qt
Requires: libyui-devel
Requires: %{yui_qt_graph_name} = %{version}-%{release}
Provides: yui-qt-devel = %{version}-%{release}
%description -n %devqtgraph
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.
%files -n %devqtgraph
%{_includedir}/yui/qt-graph/*
#-----------------------------------------------------------------------
# libyui-ncurses
%package -n %libncurses
Summary: Libyui - NCurses (text based) user interface
Group: System/Libraries
Provides: %{yui_ncurses_name} = %{version}-%{release}
%description -n %libncurses
This package contains the NCurses (text based) user interface component for
libyui.
%files -n %libncurses
%doc COPYING*
%{_libdir}/yui/libyui-ncurses.so.%{major_so_ver}*
#-----------------------------------------------------------------------
# libyui-ncurses-devel
%package -n %devncurses
Summary: Libyui - Header fles for the NCurses (text based) user interface
Group: Development/Other
Requires: libyui-devel
Requires: %{yui_ncurses_name} = %{version}-%{release}
Provides: yui-ncurses-devel = %{version}-%{release}
%description -n %devncurses
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.
%files -n %devncurses
%{_libdir}/yui/libyui-ncurses*.so
%{_includedir}/yui/ncurses
%{_libdir}/pkgconfig/libyui-ncurses.pc
#----------------------------------------------------------
# libyui-ncurses-tools
%package -n %{yui_ncurses_name}-tools
Summary: Libyui - tools for the NCurses (text based) user interface
Group: System/Libraries
Requires: screen
%description -n %{yui_ncurses_name}-tools
This package contains tools for the NCurses (text based) user interface
component for libyui:
libyui-terminal - useful for testing on headless machines
%files -n %{yui_ncurses_name}-tools
%{_bindir}/libyui-terminal
#----------------------------------------------------------
# ruby-yui
%package -n ruby-yui
License: GPLv2+
Summary: Ruby bindings for libyui
Group: Development/Ruby
%description -n ruby-yui
This package provides Ruby language bindings to access functions of libyui, the
YaST User Interface engine that provides the abstraction from graphical user
interfaces (Qt, Gtk) and text based user interfaces (ncurses).
%files -n ruby-yui
%doc libyui-bindings/swig/ruby/examples/*.rb
%{ruby_vendorarchdir}/_yui.so
#----------------------------------------------------------
# python3-yui
%package -n python3-yui
License: GPLv2+
Summary: Python 3 bindings for libyui
Group: Development/Python
%description -n python3-yui
This package provides Python 3 language bindings to access functions of libyui,
the YaST User Interface engine that provides the abstraction from graphical
user interfaces (Qt, Gtk) and text based user interfaces (ncurses).
%files -n python3-yui
%doc libyui-bindings/swig/python/examples/*.py
%{python3_sitearch}/_yui.so
%{python3_sitearch}/yui.*
%{python3_sitearch}/__pycache__/*
#----------------------------------------------------------
# perl-yui
%package -n perl-yui
License: GPLv2+
Summary: Perl bindings for libyui
Group: Development/Perl
%description -n perl-yui
This package provides Perl language bindings to access functions of libyui, the
YaST User Interface engine that provides the abstraction from graphical user
interfaces (Qt, Gtk) and text based user interfaces (ncurses).
%files -n perl-yui
%doc libyui-bindings/swig/perl/examples/*.pl
%{perl_vendorarch}/yui.so
%{perl_vendorlib}/yui.pm
#----------------------------------------------------------
%prep
%autosetup -p1
%build
for pkgname in libyui libyui-qt libyui-qt-graph libyui-ncurses libyui-bindings ;do
pushd $pkgname
%cmake \
-DWERROR=FALSE \
-DBUILD_EXAMPLES=OFF \
-DWITH_MGA=ON \
-DWITH_MONO=OFF \
-DPYTHON_EXECUTABLE=%{python3} \
-DPYTHON_INCLUDE_DIR=%{_includedir}/python%{python3_version} \
-DPYTHON_SITEDIR=%{python3_sitearch} \
-DPYTHON_LIB_DIR=%{python3_sitelib}
%cmake_build
popd
done
%install
for pkgname in libyui libyui-qt libyui-qt-graph libyui-ncurses libyui-bindings ;do
pushd $pkgname
%cmake_install
popd
done
install -m0755 -d %{buildroot}%{_libdir}/yui
%files devel
%doc %dir %{?_pkgdocdir}
%doc %{?_pkgdocdir}/%{name}.changes
%{_datadir}/%{name}/buildtools
%{_includedir}/%{libsuffix}
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/cmake/%{name}
%{macrosdir}/macros.%{name}
%files doc
# Pickup license-files from main-pkg's license-dir
# If there's no license-dir they are picked up by %%doc previously
%{?_licensedir:%license %{_datadir}/licenses/%{name}*}
%doc %{?_pkgdocdir}
%changelog
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.16-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 04 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 4.2.16-8
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2
* Mon Dec 12 2022 Jitka Plesnikova <jplesnik@redhat.com> - 4.2.16-7
- Add BR perl-generators to automatically generates run-time dependencies
for installed Perl files
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.16-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.2.16-5
- Rebuilt for Python 3.11
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 4.2.16-4
- Perl 5.36 rebuild
* Tue Mar 08 2022 Onuralp Sezer <thunderbirdtr@fedoraproject.org> - 4.2.16-3
- Cmake with-mga enabled.
* Tue Feb 22 2022 Onuralp Sezer <thunderbirdtr@fedoraproject.org> - 4.2.16-2
- Adding libyui-qt-graph and spec file clean up
* Tue Feb 22 2022 Onuralp Sezer <thunderbirdtr@fedoraproject.org> - 4.2.16-1
- Version 4.2.16
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Sep 14 2020 Jeff Law <law@redhat.com> - 3.10.0-2
- Fix dynamic casts to avoid gcc-11 diagnostics
* Sat Aug 01 2020 Neal Gompa <ngompa13@gmail.com> - 3.10.0-1
- Rebase to 3.10.0 (#1669818)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Aug 14 2019 Jitka Plesnikova <jplesnik@redhat.com> - 3.3.3-7
- Fix FTBFS - updated path of hardlink
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (libyui-4.2.16.tar.gz) = 22e8e91ffb9326a78b4312c147b3f8bb2394c46f14583b9c644bc820dbc7843b776f919863a1a5d054dcc3ca61c629e125f764290334fdb1441a40a887e95a6e
SHA512 (libyui-3.3.3.tar.gz) = 1db31218703c90e7b8b877b613997e0984275a0923c7837c6e813626c0037d56d524168e0f56e8ca36561c1af5480a0f379e8f87fbc4a380570a6d9ab336977f