Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qbittorrent for openSUSE:Factory 
checked in at 2024-09-30 15:41:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qbittorrent (Old)
 and      /work/SRC/openSUSE:Factory/.qbittorrent.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qbittorrent"

Mon Sep 30 15:41:26 2024 rev:122 rq:1204669 version:5.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/qbittorrent/qbittorrent.changes  2024-09-17 
18:19:57.483354593 +0200
+++ /work/SRC/openSUSE:Factory/.qbittorrent.new.29891/qbittorrent.changes       
2024-09-30 15:41:45.164400043 +0200
@@ -1,0 +2,101 @@
+Mon Sep 30 06:38:35 UTC 2024 - Luigi Baldoni <aloi...@gmx.com>
+
+- Update to version 5.0.0
+  New features:
+  * Support creating .torrent with larger piece size
+  * Improve tracker entries handling
+  * Add separate filter item for tracker errors
+  * Allow to remove tracker from tracker filter widget menu
+  * Implement "Reannounce In" column
+  * Expose "DHT bootstrap nodes" setting
+  * Add support for Mark-of-the-Web
+    
(https://redcanary.com/threat-detection-report/techniques/mark-of-the-web-bypass/)
+  * Allow to keep unwanted files in separate folder
+  * Add "Copy Comment" to the torrent list's context menu
+  * Allow relative profile paths
+  * Enable Ctrl+F hotkey for more inputs
+  * Add seeding limits to RSS and Watched folders options UI
+  * Subcategories implicitly follow the parent category options
+  * Add option to name each qbittorrent instance
+  * Add button for sending test email
+  * Allow torrents to override default share limit action
+  * Use Start/Stop instead of Resume/Pause
+  * Add the Popularity metric
+  * Focus on Download button if torrent link retrieved from the
+    clipboard
+  * Add ability to pause/resume entire BitTorrent session
+  * Add an option to set BitTorrent session shutdown timeout
+  * Apply "Excluded file names" to folder names as well
+  * Allow to use regular expression to filter torrent content
+  * Allow to move content files to Trash instead of deleting them
+  * Add ability to display torrent "privateness" in UI
+  * Add a flag in "Peers" tab denoting a connection using NAT
+    hole punching
+  Bug fixes:
+  * Display error message when unrecoverable error occurred
+  * Update size of selected files when selection is changed
+  * Normalize tags by trimming leading/trailing whitespace
+  * Correctly handle share limits in torrent options dialog
+  * Adjust tracker tier when adding additional trackers
+  * Fix inconsistent naming between "Done/Progress" column
+  * Sanitize peer client names
+  * Apply share limits immediately when torrent downloading is
+    finished
+  * Show download progress for folders with zero byte size as
+    100 instead of 0
+  * Fix highlighted piece color
+  * Apply "merge trackers" logic regardless of way the torrent
+    is added
+  Web UI:
+  * Improve WebUI responsiveness
+  * Do not exit the app when WebUI has failed to start
+  * Add "Moving" filter to side panel
+  * Add dark theme
+  * Allow to remember torrent content files deletion
+  * Leave the fields empty when value is invalid
+  * Use natural sorting
+  * Improve WebUI login behavior
+  * Conditionally show filters sidebar
+  * Add support for running concurrent searches
+  * Improve accuracy of trackers list
+  * Fix error when category doesn't exist
+  * Improve table scrolling and selection on mobile
+  * Restore search tabs on load
+  * Restore previously used tab on load
+  * Increase default height of "Share ratio limit" dialog
+  * Use enabled search plugins by default
+  * Add columns "Incomplete Save Path", "Info Hash v1", "Info
+    Hash v2"
+  * Always create generic filter items
+  * Provide "Use Category paths in Manual Mode" option
+  * Provide "Merge trackers to existing torrent" option
+  Web API:
+  * Fix wrong timestamp values
+  * Send binary data with filename and mime type specified
+  * Expose API for the torrent creator
+  * Add support for SSL torrents
+  * Provide endpoint for listing directory content
+  * Provide "private" flag via "torrents/info" endpoint
+  * Add a way to download .torrent file using search plugin
+  * Add "private" filter for "torrents/info" endpoint
+  * Add root_path to "torrents/info" result
+  RSS:
+  * Show RSS feed title in HTML browser
+  * Allow to set delay between requests to the same host
+  Search:
+  * Allow users to specify Python executable path
+  * Lazy load search plugins
+  * Add date column to the built-in search engine
+  * Allow to rearrange search tabs
+  Other changes:
+  * Add support for systemd power management
+  * Add support for localized man pages
+  * Specify a locale if none is set
+  * Drop support for Qt5, qmake, autotools
+  * Minimum supported versions: Qt: 6.5, Boost: 1.76, OpenSSL:
+    3.0.2
+  * Switch to C++20
+- Replace qbittorrent-fix_boost_1.66_build.patch with
+  qbittorrent-fix_boost_1.75_build.patch
+
+-------------------------------------------------------------------

Old:
----
  qbittorrent-4.6.7.tar.xz
  qbittorrent-4.6.7.tar.xz.asc
  qbittorrent-fix_boost_1.66_build.patch

New:
----
  qbittorrent-5.0.0.tar.xz
  qbittorrent-5.0.0.tar.xz.asc
  qbittorrent-fix_boost_1.75_build.patch

BETA DEBUG BEGIN:
  Old:  * Switch to C++20
- Replace qbittorrent-fix_boost_1.66_build.patch with
  qbittorrent-fix_boost_1.75_build.patch
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:- Replace qbittorrent-fix_boost_1.66_build.patch with
  qbittorrent-fix_boost_1.75_build.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ qbittorrent.spec ++++++
--- /var/tmp/diff_new_pack.AKjh3m/_old  2024-09-30 15:41:46.152441205 +0200
+++ /var/tmp/diff_new_pack.AKjh3m/_new  2024-09-30 15:41:46.156441371 +0200
@@ -25,7 +25,7 @@
 %endif
 
 Name:           qbittorrent
-Version:        4.6.7
+Version:        5.0.0
 Release:        0
 Summary:        A BitTorrent client in Qt
 License:        GPL-2.0-or-later
@@ -34,8 +34,8 @@
 Source1:        https://downloads.sf.net/%{name}/%{name}-%{version}.tar.xz.asc
 Source2:        
https://raw.githubusercontent.com/qbittorrent/qBittorrent/release-%{version}/5B7CC9A2.asc#/%{name}.keyring
 Patch0:         harden_qbittorrent-nox@.service.patch
-# PATCH-FIX-OPENSUSE qbittorrent-fix_boost_1.66_build.patch search for 
libboost_system.so and patch stacktrace function # aloi...@gmx.com
-Patch2:         qbittorrent-fix_boost_1.66_build.patch
+# PATCH-FIX-OPENSUSE qbittorrent-fix_boost_1.75_build.patch search for 
libboost_system.so and patch stacktrace function # aloi...@gmx.com
+Patch2:         qbittorrent-fix_boost_1.75_build.patch
 # PATCH-FIX-OPENSUSE qbittorrent-altpython.patch force newer python for the 
plugins -- aloi...@gmx.com
 Patch3:         qbittorrent-altpython.patch
 BuildRequires:  cmake >= 3.16
@@ -48,7 +48,7 @@
 %endif
 BuildRequires:  pkgconfig
 BuildRequires:  qt6-core-private-devel
-BuildRequires:  cmake(Qt6Core) >= 6.2
+BuildRequires:  cmake(Qt6Core) >= 6.5.0
 BuildRequires:  cmake(Qt6DBus)
 BuildRequires:  cmake(Qt6LinguistTools)
 BuildRequires:  cmake(Qt6Network)
@@ -57,7 +57,7 @@
 BuildRequires:  cmake(Qt6Widgets)
 BuildRequires:  cmake(Qt6Xml)
 BuildRequires:  pkgconfig(libtorrent-rasterbar) >= 2.0.9
-BuildRequires:  pkgconfig(openssl) >= 1.1.1
+BuildRequires:  pkgconfig(openssl) >= 3.0.2
 BuildRequires:  pkgconfig(systemd)
 BuildRequires:  pkgconfig(zlib) >= 1.2.11
 # contains the qt6 plugins to read SVG icons
@@ -110,6 +110,9 @@
 mkdir -p %{buildroot}%{_sbindir}/
 ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-nox
 
+%find_lang %{name} --with-man
+%find_lang %{name}-nox --with-man
+
 %fdupes %{buildroot}%{_datadir}/
 
 %preun nox
@@ -124,7 +127,7 @@
 %post nox
 %service_add_post %{name}-nox@.service
 
-%files
+%files -f %{name}.lang
 %license COPYING
 %doc AUTHORS Changelog README.md
 %{_bindir}/%{name}
@@ -135,7 +138,7 @@
 %{_datadir}/metainfo/org.qbittorrent.qBittorrent.metainfo.xml
 %{_mandir}/man?/%{name}.?%{?ext_man}
 
-%files nox
+%files nox -f %{name}-nox.lang
 %license COPYING
 %doc AUTHORS Changelog README.md
 %{_bindir}/%{name}-nox

++++++ qbittorrent-4.6.7.tar.xz -> qbittorrent-5.0.0.tar.xz ++++++
++++ 733124 lines of diff (skipped)

++++++ qbittorrent-altpython.patch ++++++
--- /var/tmp/diff_new_pack.AKjh3m/_old  2024-09-30 15:41:48.080521531 +0200
+++ /var/tmp/diff_new_pack.AKjh3m/_new  2024-09-30 15:41:48.084521698 +0200
@@ -1,14 +1,14 @@
-Index: qbittorrent-4.6.0/src/base/utils/foreignapps.cpp
+Index: qBittorrent-release-5.0.0beta1/src/base/utils/foreignapps.cpp
 ===================================================================
---- qbittorrent-4.6.0.orig/src/base/utils/foreignapps.cpp
-+++ qbittorrent-4.6.0/src/base/utils/foreignapps.cpp
-@@ -256,7 +256,7 @@ PythonInfo Utils::ForeignApps::pythonInf
-     static PythonInfo pyInfo;
-     if (!pyInfo.isValid())
-     {
--        if (testPythonInstallation(u"python3"_s, pyInfo))
-+        if (testPythonInstallation(u"__PYTHON_ALT__"_s, pyInfo))
-             return pyInfo;
+--- qBittorrent-release-5.0.0beta1.orig/src/base/utils/foreignapps.cpp
++++ qBittorrent-release-5.0.0beta1/src/base/utils/foreignapps.cpp
+@@ -276,7 +276,7 @@ PythonInfo Utils::ForeignApps::pythonInf
  
-         if (testPythonInstallation(u"python"_s, pyInfo))
+         if (!pyInfo.isValid())
+         {
+-            if (testPythonInstallation(u"python3"_s, pyInfo))
++            if (testPythonInstallation(u"__PYTHON_ALT__"_s, pyInfo))
+                 return pyInfo;
+             LogMsg(QCoreApplication::translate("Utils::ForeignApps", "Failed 
to find `python3` executable in PATH environment variable. PATH: \"%1\"")
+                 .arg(qEnvironmentVariable("PATH")), Log::INFO);
 

++++++ qbittorrent-fix_boost_1.66_build.patch -> 
qbittorrent-fix_boost_1.75_build.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qbittorrent/qbittorrent-fix_boost_1.66_build.patch   
    2023-10-29 19:41:49.315423538 +0100
+++ 
/work/SRC/openSUSE:Factory/.qbittorrent.new.29891/qbittorrent-fix_boost_1.75_build.patch
    2024-09-30 15:41:44.904389211 +0200
@@ -1,20 +1,20 @@
-Index: qbittorrent-4.6.0/CMakeLists.txt
+Index: qBittorrent-release-5.0.0rc1/CMakeLists.txt
 ===================================================================
---- qbittorrent-4.6.0.orig/CMakeLists.txt
-+++ qbittorrent-4.6.0/CMakeLists.txt
+--- qBittorrent-release-5.0.0rc1.orig/CMakeLists.txt
++++ qBittorrent-release-5.0.0rc1/CMakeLists.txt
 @@ -7,7 +7,7 @@ project(qBittorrent
  )
  
  # version requirements - older versions may work, but you are on your own
--set(minBoostVersion 1.71)
-+set(minBoostVersion 1.66)
- set(minQt5Version 5.15.2)
- set(minQt6Version 6.2)
- set(minOpenSSLVersion 1.1.1)
-Index: qbittorrent-4.6.0/src/app/stacktrace.cpp
+-set(minBoostVersion 1.76)
++set(minBoostVersion 1.75)
+ set(minQt6Version 6.5.0)
+ set(minOpenSSLVersion 3.0.2)
+ set(minLibtorrent1Version 1.2.19)
+Index: qBittorrent-release-5.0.0rc1/src/app/stacktrace.cpp
 ===================================================================
---- qbittorrent-4.6.0.orig/src/app/stacktrace.cpp
-+++ qbittorrent-4.6.0/src/app/stacktrace.cpp
+--- qBittorrent-release-5.0.0rc1.orig/src/app/stacktrace.cpp
++++ qBittorrent-release-5.0.0rc1/src/app/stacktrace.cpp
 @@ -30,7 +30,16 @@
  
  #include <boost/stacktrace.hpp>
@@ -24,7 +24,7 @@
 +
  std::string getStacktrace()
  {
-+#if BOOST_VERSION >= 107100
++#if BOOST_VERSION > 107500
      return boost::stacktrace::to_string(boost::stacktrace::stacktrace());
 +#else
 +    std::ostringstream out;
@@ -32,3 +32,120 @@
 +    return out.str();
 +#endif
  }
+Index: qBittorrent-release-5.0.0rc1/src/base/bittorrent/sessionimpl.cpp
+===================================================================
+--- qBittorrent-release-5.0.0rc1.orig/src/base/bittorrent/sessionimpl.cpp
++++ qBittorrent-release-5.0.0rc1/src/base/bittorrent/sessionimpl.cpp
+@@ -42,7 +42,10 @@
+ #include <iphlpapi.h>
+ #endif
+ 
++#include <boost/version.hpp>
++#if BOOST_VERSION > 107500
+ #include <boost/asio/ip/tcp.hpp>
++#endif
+ 
+ #include <libtorrent/add_torrent_params.hpp>
+ #include <libtorrent/address.hpp>
+@@ -96,6 +99,9 @@
+ #include "extensiondata.h"
+ #include "filesearcher.h"
+ #include "filterparserthread.h"
++#if BOOST_VERSION == 107500
++#include "hash.h"
++#endif
+ #include "loadtorrentparams.h"
+ #include "lttypecast.h"
+ #include "nativesessionextension.h"
+Index: qBittorrent-release-5.0.0rc1/src/base/bittorrent/hash.h
+===================================================================
+--- /dev/null
++++ qBittorrent-release-5.0.0rc1/src/base/bittorrent/hash.h
+@@ -0,0 +1,72 @@
++#pragma once
++
++#include <boost/asio/ip/tcp.hpp>
++#include <functional>
++
++namespace std {
++
++template <>
++struct hash<boost::asio::ip::address_v4>
++{
++  std::size_t operator()(const boost::asio::ip::address_v4& addr)
++    const BOOST_ASIO_NOEXCEPT
++  {
++    return std::hash<unsigned int>()(addr.to_uint());
++  }
++};
++
++template <>
++struct hash<boost::asio::ip::address_v6>
++{
++  std::size_t operator()(const boost::asio::ip::address_v6& addr)
++    const BOOST_ASIO_NOEXCEPT
++  {
++    const boost::asio::ip::address_v6::bytes_type bytes = addr.to_bytes();
++    std::size_t result = static_cast<std::size_t>(addr.scope_id());
++    combine_4_bytes(result, &bytes[0]);
++    combine_4_bytes(result, &bytes[4]);
++    combine_4_bytes(result, &bytes[8]);
++    combine_4_bytes(result, &bytes[12]);
++    return result;
++  }
++
++private:
++  static void combine_4_bytes(std::size_t& seed, const unsigned char* bytes)
++  {
++    const std::size_t bytes_hash =
++      (static_cast<std::size_t>(bytes[0]) << 24) |
++      (static_cast<std::size_t>(bytes[1]) << 16) |
++      (static_cast<std::size_t>(bytes[2]) << 8) |
++      (static_cast<std::size_t>(bytes[3]));
++    seed ^= bytes_hash + 0x9e3779b9 + (seed << 6) + (seed >> 2);
++  }
++};
++
++template <>
++struct hash<boost::asio::ip::address>
++{
++  std::size_t operator()(const boost::asio::ip::address& addr)
++    const BOOST_ASIO_NOEXCEPT
++  {
++    return addr.is_v4()
++      ? std::hash<boost::asio::ip::address_v4>()(addr.to_v4())
++      : std::hash<boost::asio::ip::address_v6>()(addr.to_v6());
++  }
++};
++
++template <typename InternetProtocol>
++struct hash<boost::asio::ip::basic_endpoint<InternetProtocol> >
++{
++  std::size_t operator()(
++      const boost::asio::ip::basic_endpoint<InternetProtocol>& ep)
++    const BOOST_ASIO_NOEXCEPT
++  {
++    std::size_t hash1 = std::hash<boost::asio::ip::address>()(ep.address());
++    std::size_t hash2 = std::hash<unsigned short>()(ep.port());
++    return hash1 ^ (hash2 + 0x9e3779b9 + (hash1 << 6) + (hash1 >> 2));
++  }
++};
++
++} // namespace std
++
++
+Index: qBittorrent-release-5.0.0rc1/src/base/bittorrent/torrentimpl.h
+===================================================================
+--- qBittorrent-release-5.0.0rc1.orig/src/base/bittorrent/torrentimpl.h
++++ qBittorrent-release-5.0.0rc1/src/base/bittorrent/torrentimpl.h
+@@ -49,6 +49,10 @@
+ 
+ #include "base/path.h"
+ #include "base/tagset.h"
++#include <boost/version.hpp>
++#if BOOST_VERSION == 107500
++#include "hash.h"
++#endif
+ #include "infohash.h"
+ #include "speedmonitor.h"
+ #include "sslparameters.h"

Reply via email to