Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package LuminanceHDR for openSUSE:Factory checked in at 2026-08-04 21:33:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/LuminanceHDR (Old) and /work/SRC/openSUSE:Factory/.LuminanceHDR.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "LuminanceHDR" Tue Aug 4 21:33:34 2026 rev:6 rq:1369255 version:2.6.0+git313.634b489 Changes: -------- --- /work/SRC/openSUSE:Factory/LuminanceHDR/LuminanceHDR.changes 2026-02-04 21:08:35.654874162 +0100 +++ /work/SRC/openSUSE:Factory/.LuminanceHDR.new.16738/LuminanceHDR.changes 2026-08-04 21:34:08.091554985 +0200 @@ -1,0 +2,10 @@ +Mon Aug 3 08:36:09 UTC 2026 - Paolo Stivanin <[email protected]> + +- Add drop-qtwebengine.patch: make the built-in help browser (and + with it Qt5WebEngine and Qt5PrintSupport) optional, and build with + -DWITH_HELPBROWSER=OFF. libqt5-qtwebengine is EOL, no longer gets + security fixes and is being dropped from openSUSE (boo#1273168). + Based on Gentoo's patch, see https://bugs.gentoo.org/926664 +- Drop no longer needed BuildRequires: cmake(Qt5WebEngine). + +------------------------------------------------------------------- New: ---- drop-qtwebengine.patch ----------(New B)---------- New: - Add drop-qtwebengine.patch: make the built-in help browser (and with it Qt5WebEngine and Qt5PrintSupport) optional, and build with ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ LuminanceHDR.spec ++++++ --- /var/tmp/diff_new_pack.bbO4fh/_old 2026-08-04 21:34:09.191593405 +0200 +++ /var/tmp/diff_new_pack.bbO4fh/_new 2026-08-04 21:34:09.199593685 +0200 @@ -40,6 +40,8 @@ Patch3: fix-version.patch Patch4: fix-boost-1.87.0.patch Patch5: eigen-cmake.patch +# PATCH-FIX-OPENSUSE drop-qtwebengine.patch boo#1273168 -- make the help browser (and Qt5WebEngine) optional +Patch6: drop-qtwebengine.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: fftw3-devel @@ -65,7 +67,6 @@ BuildRequires: cmake(Qt5Network) BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5Svg) -BuildRequires: cmake(Qt5WebEngine) BuildRequires: cmake(Qt5Xml) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(cfitsio) @@ -114,7 +115,8 @@ %build %cmake \ - -DCMAKE_CXX_COMPILER=%{_bindir}/g++%{?force_gcc_version:-%force_gcc_version} + -DCMAKE_CXX_COMPILER=%{_bindir}/g++%{?force_gcc_version:-%force_gcc_version} \ + -DWITH_HELPBROWSER:BOOL=OFF %cmake_build %install ++++++ drop-qtwebengine.patch ++++++ From: Paolo Stivanin <[email protected]> Date: 2026-08-03 Subject: Make the help browser optional (and with it Qt5WebEngine/Qt5WebKit) Qt 5 is end of life and libqt5-qtwebengine is being dropped from openSUSE (boo#1273168). QtWebEngine is only used by src/HelpBrowser, so add a WITH_HELPBROWSER option that turns the help browser -- and the whole web engine dependency -- off. Based on Gentoo's luminance-hdr-2.6.1.1-no-qtwebengine.patch by Andreas Sturmlechner <[email protected]>, rebased onto the 2.6.0+git313 snapshot, with three additions: - define -DWITH_HELPBROWSER so the option is also honoured by the C++ code when the help browser *is* built (otherwise the ON path silently loses the Help->Documentation action), - hide the now dead Help->Documentation action at runtime instead of hardcoding enabled=false in MainWindow.ui, which would disable it in both configurations, - only look for Qt5PrintSupport when the help browser is built; it is the sole user of QPrinter, and until now it was pulled in as a transitive dependency of QtWebEngine. Gentoo-bug: https://bugs.gentoo.org/926664 --- --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,6 +59,8 @@ else( HAS_BRANCH_PREDICTION ) set( BRANCH_PREDICTION 0 ) endif( HAS_BRANCH_PREDICTION ) +option(WITH_HELPBROWSER "Build help browser" ON) + # find and setup Qt5 for this project find_package(Qt5Core REQUIRED) @@ -69,20 +71,24 @@ find_package(Qt5Gui REQUIRE # https://wiki.qt.io/New-Features-in-Qt-5.5#Deprecated_Functionality. Unfortunately, # some Qt distributions still provide QtWebKit instead of QtWebEngine. So first we # try to find QtWebEngine and if not found, we fall back to QtWebKit. -find_package(Qt5WebEngineCore QUIET) -if(Qt5WebEngineCore_FOUND) - find_package(Qt5WebEngineWidgets REQUIRED) -else() - find_package(Qt5WebKit REQUIRED) - find_package(Qt5WebKitWidgets REQUIRED) - add_definitions(-DUSE_DEPRECATED_QTWEBKIT) +if(WITH_HELPBROWSER) + add_definitions(-DWITH_HELPBROWSER) + find_package(Qt5WebEngineCore QUIET) + if(Qt5WebEngineCore_FOUND) + find_package(Qt5WebEngineWidgets REQUIRED) + else() + find_package(Qt5WebKit REQUIRED) + find_package(Qt5WebKitWidgets REQUIRED) + add_definitions(-DUSE_DEPRECATED_QTWEBKIT) + endif() + # only the help browser prints + find_package(Qt5PrintSupport REQUIRED) endif() find_package(Qt5Xml REQUIRED) find_package(Qt5Sql REQUIRED) find_package(Qt5Svg REQUIRED) find_package(Qt5Network REQUIRED) find_package(Qt5LinguistTools REQUIRED) -find_package(Qt5PrintSupport REQUIRED) IF(WIN32) find_package(Qt5WinExtras) ENDIF() @@ -96,12 +102,14 @@ set(LIBS ${LIBS} ${QT_QTCORE_LIBRARIES} ${QT_QTGUI_LIBRARIES} ${QT_QTNETWORK_LIBRARIES} ${QT_QTXML_LIBRARIES} ${QT_QTSQL_LIBRARIES}) -if(Qt5WebEngineCore_FOUND) - message(STATUS "Building with QtWebEngine") - set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES}) -else() - message(STATUS "Building with QtWebKit") - set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES}) +if(WITH_HELPBROWSER) + if(Qt5WebEngineCore_FOUND) + message(STATUS "Building with QtWebEngine") + set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES}) + else() + message(STATUS "Building with QtWebKit") + set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES}) + endif() endif() FIND_PACKAGE(Git) --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -22,7 +22,9 @@ ADD_SUBDIRECTORY(Exif) ADD_SUBDIRECTORY(Fileformat) ADD_SUBDIRECTORY(Alignment) ADD_SUBDIRECTORY(HdrWizard) -ADD_SUBDIRECTORY(HelpBrowser) +if(WITH_HELPBROWSER) + ADD_SUBDIRECTORY(HelpBrowser) +endif() ADD_SUBDIRECTORY(Preferences) ADD_SUBDIRECTORY(Projection) ADD_SUBDIRECTORY(Resize) --- a/src/MainWindow/MainWindow.cpp +++ b/src/MainWindow/MainWindow.cpp @@ -98,7 +98,9 @@ #include <HdrWizard/AutoAntighosting.h> #include <HdrWizard/HdrWizard.h> #include <HdrWizard/WhiteBalance.h> +#ifdef WITH_HELPBROWSER #include <HelpBrowser/helpbrowser.h> +#endif #include <LibpfsAdditions/formathelper.h> #include <Preferences/PreferencesDialog.h> #include <PreviewPanel/PreviewPanel.h> @@ -208,7 +210,9 @@ int MainWindow::sm_counter = 0; QMap<int, MainWindow *> MainWindow::sm_mainWindowMap = QMap<int, MainWindow *>(); QScopedPointer<UpdateChecker> MainWindow::sm_updateChecker; +#ifdef WITH_HELPBROWSER HelpBrowser *MainWindow::sm_helpBrowser = nullptr; +#endif MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -293,6 +297,10 @@ void MainWindow::init() { void MainWindow::createUI() { m_Ui->setupUi(this); +#ifndef WITH_HELPBROWSER + // No help browser was built, so the menu entry would be a no-op. + m_Ui->documentationAction->setVisible(false); +#endif setAttribute(Qt::WA_DeleteOnClose); restoreState(LuminanceOptions() @@ -1059,6 +1067,7 @@ void MainWindow::on_normalSizeAct_trigge } // Zoom = Viewers (END) +#ifdef WITH_HELPBROWSER void MainWindow::on_documentationAction_triggered() { if (sm_helpBrowser == nullptr) { sm_helpBrowser = @@ -1079,6 +1088,7 @@ void MainWindow::on_documentationAction_ void MainWindow::helpBrowserClosed() { sm_helpBrowser = nullptr; } +#endif void MainWindow::enterWhatsThis() { QWhatsThis::enterWhatsThisMode(); } @@ -1450,9 +1460,11 @@ void MainWindow::closeEvent(QCloseEvent } sm_NumMainWindows--; if (sm_NumMainWindows == 0) { +#ifdef WITH_HELPBROWSER if (sm_helpBrowser) { sm_helpBrowser->close(); } +#endif // Last MainWindow is dead... LuminanceOptions().setValue(QStringLiteral("MainWindowState"), saveState()); --- a/src/MainWindow/MainWindow.h +++ b/src/MainWindow/MainWindow.h @@ -146,7 +146,9 @@ class MainWindow : public QMainWindow { void on_normalSizeAct_triggered(); void updateMagnificationButtons(GenericViewer *); +#ifdef WITH_HELPBROWSER void on_documentationAction_triggered(); +#endif void enterWhatsThis(); void on_OptionsAction_triggered(); @@ -180,7 +182,9 @@ class MainWindow : public QMainWindow { void enableCrop(bool); void disableCrop(); +#ifdef WITH_HELPBROWSER void helpBrowserClosed(); +#endif void on_actionDonate_triggered(); void onUpdateAvailable(); @@ -359,7 +363,9 @@ class MainWindow : public QMainWindow { static QScopedPointer<UpdateChecker> sm_updateChecker; static QMap<int, MainWindow *> sm_mainWindowMap; // maps m_winId with MainWindow "this" pointer +#ifdef WITH_HELPBROWSER static HelpBrowser *sm_helpBrowser; +#endif }; #endif // MAINWINDOW_H --- a/src/UI/CMakeLists.txt +++ b/src/UI/CMakeLists.txt @@ -50,14 +50,6 @@ QT5_WRAP_CPP(FILES_MOC ${FILES_H}) QT5_WRAP_UI(FILES_UI_H ${FILES_UI}) ADD_LIBRARY(ui STATIC ${FILES_H} ${FILES_CPP} ${FILES_MOC} ${FILES_UI_H}) -IF(MINGW) - TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql) -ELSE() - IF(Qt5WebEngineCore_FOUND) - TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebEngineWidgets Qt5::Sql) - ELSE() - TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql) - ENDIF() -ENDIF() +TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::Sql) SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${FILES_CPP} ${FILES_H} ${FILES_UI} PARENT_SCOPE) SET(LUMINANCE_MODULES_GUI ${LUMINANCE_MODULES_GUI} ui PARENT_SCOPE)
