[1/2] transmission: Update to version 4.0.6

Message ID 20240924094301.2130-1-adolf.belka@ipfire.org
State Staged
Commit 5702c62b11a2ea87b1bf254f30fb7c5e8de12eba
Headers
Series [1/2] transmission: Update to version 4.0.6 |

Commit Message

Adolf Belka Sept. 24, 2024, 9:43 a.m. UTC
  - Update from version 4.0.5 to 4.0.6
- Update of rootfile not required
- Bundled miniupnpc not working with build of 4.0.6 As we prefer not to use bundled
   packages where possible, this patch set builds miniupnpc prior to transmission. As
   miniupnpc is only required for the build of transmission, nothing is installed from
   miniupnpc.
- miniupnpc-2.2.8 has a problem with transmission and needs a patch to fix it. Added
   into the transmission lfs file
- Changelog
    4.0.6
	All Platforms
	    Improved parsing HTTP tracker announce response. (#6223)
	    Fixed 4.0.0 bug that caused some user scripts to have an invalid TR_TORRENT_TRACKERS environment variable. (#6434)
	    Fixed 4.0.0 bug where alt-speed-enabled had no effect in settings.json. (#6483)
	    Fixed 4.0.0 bug where the GTK client's "Use authentication" option was not saved between's sessions. (#6514)
	    Fixed 4.0.0 bug where the filename for single-file torrents aren't sanitized. (#6846)
	macOS Client
	    Fix: Sparkle support for handling beta version updates. (#5263)
	    Fixed app unable to start when having many torrents and TimeMachine enabled. (#6523)
	    Fix: Sparkle Version Comparator. (#6623)
	Qt Client
	    Fixed 4.0.0 bug where piece size description text and slider state in torrent creation dialog are not always up-to-date. (#6516)
	GTK Client
	    Fixed build when compiling with GTKMM 4. (#6393)
	    Added developer name to metainfo files. (#6598)
	    Added the launchable desktop-id to metainfo files. (#6779)
	    Fixed build when compiling on BSD. (#6812)
	Web Client
	    Fixed a 4.0.0 bug where the infinite ratio symbol was displayed incorrectly in the WebUI. (#6491, #6500)
	    Fixed layout issue in speed display. (#6570)
	    General UI improvement related to filterbar and fixes download/upload speed info wrap. (#6761)
	Daemon
	    Fixed a couple of logging issues. (#6463)
	Everything Else
	    Updated flatpak release metainfo. (#6357)
	    Fixed libtransmission build on very old cmake versions. (#6418)
	    UTP peer connections follow user-defined speed limits better now. (#6551)
	    Only use a single concurrent queue for timeMachineExclude instead of one queue per torrent (#6523). (#6558)
	    Fixed 4.0.5 bug where svg and png icons in the WebUI might not be displayed. (#6563)
	    Fixed 4.0.0 bug where alt-speed-enabled had no effect in settings.json. (#6564)
	    Fixed 4.0.0 bugs where some RPC methods don't put torrents in recently-active anymore. (#6565)
	    Improved parsing HTTP tracker announce response. (#6567)
	    Fixed compatibility with clang-format 18. (#6690)
	    Fixed build when compiling with mbedtls 3.x . (#6823)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/transmission                              |  7 ++--
 ...ission-4.0.6-fix_for_miniupnpc-2.2.8.patch | 34 +++++++++++++++++++
 2 files changed, 38 insertions(+), 3 deletions(-)
 create mode 100644 src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
  

Patch

diff --git a/lfs/transmission b/lfs/transmission
index 298c2a0e9..1568b67e7 100644
--- a/lfs/transmission
+++ b/lfs/transmission
@@ -26,7 +26,7 @@  include Config
 
 SUMMARY    = A BitTorrent client with multiple UIs
 
-VER        = 4.0.5
+VER        = 4.0.6
 
 THISAPP    = transmission-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = transmission
-PAK_VER    = 22
+PAK_VER    = 23
 
 DEPS       =
 
@@ -48,7 +48,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 60caa3bc615137b225d3ac3f25daa352c6960fcc848c91e5ea45488ae109d93b53e314e4683bd7c4ef3f9b2f364d796b6c5bb014ca647d3f44fb5c9df9f8c997
+$(DL_FILE)_BLAKE2 = 3eb1d851322299cb1b79c799f431c09db5aee1be0372fa2877e16508ca6f9e78ea42ed75520ab29a3325e62efcfca63a83559db73c39c981c9e2eddb403ef65a
 
 install : $(TARGET)
 
@@ -81,6 +81,7 @@  $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
 	cd $(DIR_APP) && cmake . \
 			-DCMAKE_INSTALL_PREFIX=/usr \
 			-DCMAKE_BUILD_TYPE=Release \
diff --git a/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch b/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
new file mode 100644
index 000000000..3426d13bc
--- /dev/null
+++ b/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
@@ -0,0 +1,34 @@ 
+From febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
+Date: Sat, 15 Jun 2024 07:24:06 +0800
+Subject: [PATCH] bump miniupnpc to 2.2.8 (#6907)
+
+* bump miniupnpc to 2.2.8
+
+* Avoid build error "ln: include/miniupnpc/.: Operation not permitted"
+---
+ Transmission.xcodeproj/project.pbxproj  | 2 +-
+ libtransmission/port-forwarding-upnp.cc | 9 +++++++--
+ third-party/miniupnp                    | 2 +-
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/libtransmission/port-forwarding-upnp.cc b/libtransmission/port-forwarding-upnp.cc
+index 6d7bbc7f7c2..a4146e0df13 100644
+--- a/libtransmission/port-forwarding-upnp.cc
++++ b/libtransmission/port-forwarding-upnp.cc
+@@ -261,8 +261,13 @@ tr_port_forwarding_state tr_upnpPulse(
+ 
+         FreeUPNPUrls(&handle->urls);
+         auto lanaddr = std::array<char, TR_ADDRSTRLEN>{};
+-        if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) ==
+-            UPNP_IGD_VALID_CONNECTED)
++        if (
++#if (MINIUPNPC_API_VERSION >= 18)
++            UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1, nullptr, 0)
++#else
++            UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1)
++#endif
++            == UPNP_IGD_VALID_CONNECTED)
+         {
+             tr_logAddInfo(fmt::format(_("Found Internet Gateway Device '{url}'"), fmt::arg("url", handle->urls.controlURL)));
+             tr_logAddInfo(fmt::format(_("Local Address is '{address}'"), fmt::arg("address", lanaddr.data())));