From patchwork Tue Sep 24 09:43:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 8153 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4XCZfl3SXZz3wxp for ; Tue, 24 Sep 2024 09:43:11 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail02.haj.ipfire.org", Issuer "E6" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4XCZfh1wlwz1lq; Tue, 24 Sep 2024 09:43:08 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4XCZfh0dH0z34CZ; Tue, 24 Sep 2024 09:43:08 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4XCZff04lMz33Lc for ; Tue, 24 Sep 2024 09:43:06 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4XCZfd0yxNz13P; Tue, 24 Sep 2024 09:43:05 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1727170985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=MnqEDosHuNXGWMcpoV4WSrui+EZ+IAtGGQWb7ZGHxGU=; b=q6FBKsp7JiELFeggP29mTlgYwN5hTpViT3JCCSJEMDuvt71Q5fGo6vRE0demvpjZbJIV2Q DwTC94MFOP88AiCg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1727170985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=MnqEDosHuNXGWMcpoV4WSrui+EZ+IAtGGQWb7ZGHxGU=; b=eUyD1uOtadbmRcWFkAGRlUx4EJimwlQefl5Z3ubNsi0sEiiMqP774UStCiZfkCCTcrsppL WZKc+m8VIcMJWUf5CEilQoZpcc5p6nQq5ZJSZ9DUQtR1LL2vC7CJ2l4RxqMLpAIj2mdo7O B8voPWuiI06/qC0uQKx1sRprX2hwhWNozYoAJJL1mZYhegoNSSDds5Yd4/0KZUeJn+gsLq R8kYQiYNf6F/D9n54JQO7rbmIwJCXVfdLJ9mmu/wpN5Xhthh+Go51ZKsLZMmTILaq2SQSR J3tXx1zBNyzyRNtR6v/rEeVMSeuWNNLux/KxNRXXD6EKEQYigfzKfs61iGa1Ew== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 1/2] transmission: Update to version 4.0.6 Date: Tue, 24 Sep 2024 11:43:00 +0200 Message-ID: <20240924094301.2130-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: 6YAL3LGUMTG7DLMM4R5WRA3DQUYTLXCQ X-Message-ID-Hash: 6YAL3LGUMTG7DLMM4R5WRA3DQUYTLXCQ X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - 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 --- 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 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?= +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{}; +- 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()))); From patchwork Tue Sep 24 09:43:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 8154 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4XCZfm3LSwz3x1v for ; Tue, 24 Sep 2024 09:43:12 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "E6" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4XCZfh4Qc9z6xB; Tue, 24 Sep 2024 09:43:08 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4XCZfh1xFTz34Lc; Tue, 24 Sep 2024 09:43:08 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4XCZff2Vb7z33Lc for ; Tue, 24 Sep 2024 09:43:06 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4XCZfd6RNYz1lq; Tue, 24 Sep 2024 09:43:05 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1727170986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A8bdH1f1Hgk0DsNR+sVRnqMue/duTfOPNE1Htqu5f3E=; b=UdXUHOFisdc/sirkHngso/r608V6pSZslvJjyC75t0If1i5h4T6l78ikqg03+VwE8fe9/u pmN87ZJqz3S9sdCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1727170986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=A8bdH1f1Hgk0DsNR+sVRnqMue/duTfOPNE1Htqu5f3E=; b=vMk4KZ9Vho7WxObvvnCJXOMNYM8tvyOe5aVUPlYLYR9RFhOEFqDATBCte5duTYy57tnKRl nBzprGOuWGqTUIcPiNDhy5ggB6PFGhih6bVFyEUQupCJxc/GtCazUWaNFfezhtgBLUEDRW tk1J9iSURaMQkr1OxIKg1UCHKEPuMpUSRZEt6n5L8dibbFc/Nmux44aPRbnRqdKXuEGNju maEU8JPR1fvDV6mcGZnnBRdeQ4qcowVp9rXb4RuuxwfxK77mFhe+3y2jB/8J0AeSDzOndy cHu5sBZ9ESYAaJ5TPrMjBk1dkhWbGsy5BM3f8/5ftgPXjywnvFA2eQE8vnZYDg== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 2/2] miniupnpc: Required for build of transmission to replace bundled version Date: Tue, 24 Sep 2024 11:43:01 +0200 Message-ID: <20240924094301.2130-2-adolf.belka@ipfire.org> In-Reply-To: <20240924094301.2130-1-adolf.belka@ipfire.org> References: <20240924094301.2130-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: RH6FU77KLKOROPDSBLOZLGCS3KJUGMGN X-Message-ID-Hash: RH6FU77KLKOROPDSBLOZLGCS3KJUGMGN X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - miniupnpc is required for the build of transmiossion but the bundled version was not working properly with version 4.0.6 and we prefer to not use bundled versions. - Only used for the build so rootfile is 100% commented out. No miniupnpc installed on IPFire. Signed-off-by: Adolf Belka --- config/rootfiles/common/miniupnpc | 19 ++++++++ lfs/miniupnpc | 77 +++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 97 insertions(+) create mode 100644 config/rootfiles/common/miniupnpc create mode 100644 lfs/miniupnpc diff --git a/config/rootfiles/common/miniupnpc b/config/rootfiles/common/miniupnpc new file mode 100644 index 000000000..616ea6131 --- /dev/null +++ b/config/rootfiles/common/miniupnpc @@ -0,0 +1,19 @@ +#usr/bin/external-ip +#usr/bin/upnp-listdevices +#usr/bin/upnpc +#usr/include/miniupnpc +#usr/include/miniupnpc/igd_desc_parse.h +#usr/include/miniupnpc/miniupnpc.h +#usr/include/miniupnpc/miniupnpc_declspec.h +#usr/include/miniupnpc/miniupnpctypes.h +#usr/include/miniupnpc/miniwget.h +#usr/include/miniupnpc/portlistingparse.h +#usr/include/miniupnpc/upnpcommands.h +#usr/include/miniupnpc/upnpdev.h +#usr/include/miniupnpc/upnperrors.h +#usr/include/miniupnpc/upnpreplyparse.h +#usr/lib/libminiupnpc.a +#usr/lib/libminiupnpc.so +#usr/lib/libminiupnpc.so.18 +#usr/lib/pkgconfig/miniupnpc.pc +#usr/share/man/man3/miniupnpc.3.gz diff --git a/lfs/miniupnpc b/lfs/miniupnpc new file mode 100644 index 000000000..7907bb5b9 --- /dev/null +++ b/lfs/miniupnpc @@ -0,0 +1,77 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2024 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2.2.8 + +THISAPP = miniupnpc-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = eae4d97bdf8c494ea6744edfeb870f9d92df8468d23f974e0e44e735fc7c8925189ea58f60a71c37315aebff1269ae69e9413cdf80dc292c4b90df5f12bf58a4 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && make + cd $(DIR_APP) && python3 setup.py build + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 42970b0c1..5199ca7c1 100755 --- a/make.sh +++ b/make.sh @@ -1984,6 +1984,7 @@ build_system() { lfsmake2 aws-cli lfsmake2 oci-python-sdk lfsmake2 oci-cli + lfsmake2 miniupnpc lfsmake2 transmission lfsmake2 mtr lfsmake2 minidlna