commit:     9f00f8c78bb8ff523fb21e2aa4e580ae115fb7d9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 22:29:57 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 22:48:15 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f00f8c7

kde-frameworks/kio: Fix FTP as well as HTTP no-proxy settings

Reported-by: Andreas Thalhammer <andreas.thalhammer <AT> linux.com>
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/kio-5.64.0-fix-ftp-proxy-settings.patch  | 39 ++++++++++
 .../files/kio-5.64.0-fix-no-proxy-settings.patch   | 38 +++++++++
 kde-frameworks/kio/kio-5.64.0-r2.ebuild            | 89 ++++++++++++++++++++++
 3 files changed, 166 insertions(+)

diff --git a/kde-frameworks/kio/files/kio-5.64.0-fix-ftp-proxy-settings.patch 
b/kde-frameworks/kio/files/kio-5.64.0-fix-ftp-proxy-settings.patch
new file mode 100644
index 00000000000..17968ff6cdb
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.64.0-fix-ftp-proxy-settings.patch
@@ -0,0 +1,39 @@
+From 04edc7738cc3dc675c3896f4a8de0851b174d4ca Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C3=A9ven=20Car?= <meve...@gmail.com>
+Date: Fri, 22 Nov 2019 12:39:48 +0100
+Subject: Ftp ioslave: Fix ProxyUrls parameter passing
+
+Summary:
+QVariant stored in mapConfig always contain QByteArray values.
+So QVariant needs to be converted string before splitting to StringList
+
+Relates to D25432
+
+Reviewers: trufanov, #frameworks
+
+Reviewed By: trufanov
+
+Subscribers: kde-frameworks-devel
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D25438
+---
+ src/ioslaves/ftp/ftp.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ioslaves/ftp/ftp.cpp b/src/ioslaves/ftp/ftp.cpp
+index 8cd58c9..4266a6c 100644
+--- a/src/ioslaves/ftp/ftp.cpp
++++ b/src/ioslaves/ftp/ftp.cpp
+@@ -317,7 +317,7 @@ void FtpInternal::setHost(const QString &_host, quint16 
_port, const QString &_u
+     qCDebug(KIO_FTP) << _host << "port=" << _port << "user=" << _user;
+ 
+     m_proxyURL.clear();
+-    m_proxyUrls = q->mapConfig().value(QStringLiteral("ProxyUrls"), 
QStringList()).toStringList();
++    m_proxyUrls = q->mapConfig().value(QStringLiteral("ProxyUrls"), 
QString()).toString().split(QLatin1Char(','));
+     qCDebug(KIO_FTP) << "proxy urls:" << m_proxyUrls;
+ 
+     if (m_host != _host || m_port != _port ||
+-- 
+cgit v1.1

diff --git a/kde-frameworks/kio/files/kio-5.64.0-fix-no-proxy-settings.patch 
b/kde-frameworks/kio/files/kio-5.64.0-fix-no-proxy-settings.patch
new file mode 100644
index 00000000000..54f9755092f
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.64.0-fix-no-proxy-settings.patch
@@ -0,0 +1,38 @@
+From 48b8cab8da5e264f233d59cf2aff2b981255f6bf Mon Sep 17 00:00:00 2001
+From: David Faure <fa...@kde.org>
+Date: Sat, 23 Nov 2019 20:11:21 +0100
+Subject: Repair FTP/HTTP proxy querying for the case of no proxy
+
+---
+ src/ioslaves/ftp/ftp.cpp   | 2 +-
+ src/ioslaves/http/http.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/ioslaves/ftp/ftp.cpp b/src/ioslaves/ftp/ftp.cpp
+index 4266a6c..f310871 100644
+--- a/src/ioslaves/ftp/ftp.cpp
++++ b/src/ioslaves/ftp/ftp.cpp
+@@ -317,7 +317,7 @@ void FtpInternal::setHost(const QString &_host, quint16 
_port, const QString &_u
+     qCDebug(KIO_FTP) << _host << "port=" << _port << "user=" << _user;
+ 
+     m_proxyURL.clear();
+-    m_proxyUrls = q->mapConfig().value(QStringLiteral("ProxyUrls"), 
QString()).toString().split(QLatin1Char(','));
++    m_proxyUrls = q->mapConfig().value(QStringLiteral("ProxyUrls"), 
QString()).toString().split(QLatin1Char(','), QString::SkipEmptyParts);
+     qCDebug(KIO_FTP) << "proxy urls:" << m_proxyUrls;
+ 
+     if (m_host != _host || m_port != _port ||
+diff --git a/src/ioslaves/http/http.cpp b/src/ioslaves/http/http.cpp
+index aca847b..5f9cd7c 100644
+--- a/src/ioslaves/http/http.cpp
++++ b/src/ioslaves/http/http.cpp
+@@ -2161,7 +2161,7 @@ bool HTTPProtocol::httpOpenConnection()
+ 
+     // Get proxy information...
+     if (m_request.proxyUrls.isEmpty()) {
+-        m_request.proxyUrls = mapConfig().value(QStringLiteral("ProxyUrls"), 
QString()).toString().split(QLatin1Char(','));
++        m_request.proxyUrls = mapConfig().value(QStringLiteral("ProxyUrls"), 
QString()).toString().split(QLatin1Char(','), QString::SkipEmptyParts);
+         qCDebug(KIO_HTTP) << "Proxy URLs:" << m_request.proxyUrls;
+     }
+ 
+-- 
+cgit v1.1

diff --git a/kde-frameworks/kio/kio-5.64.0-r2.ebuild 
b/kde-frameworks/kio/kio-5.64.0-r2.ebuild
new file mode 100644
index 00000000000..9fb1a18b075
--- /dev/null
+++ b/kde-frameworks/kio/kio-5.64.0-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_DESIGNERPLUGIN="true"
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Framework providing transparent file and data management"
+LICENSE="LGPL-2+"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="acl +handbook kerberos +kwallet X"
+
+RDEPEND="
+       >=kde-frameworks/kauth-${PVCUT}:5
+       >=kde-frameworks/karchive-${PVCUT}:5
+       >=kde-frameworks/kbookmarks-${PVCUT}:5
+       >=kde-frameworks/kcodecs-${PVCUT}:5
+       >=kde-frameworks/kcompletion-${PVCUT}:5
+       >=kde-frameworks/kconfig-${PVCUT}:5
+       >=kde-frameworks/kconfigwidgets-${PVCUT}:5
+       >=kde-frameworks/kcoreaddons-${PVCUT}:5
+       >=kde-frameworks/kcrash-${PVCUT}:5
+       >=kde-frameworks/kdbusaddons-${PVCUT}:5
+       >=kde-frameworks/ki18n-${PVCUT}:5
+       >=kde-frameworks/kiconthemes-${PVCUT}:5
+       >=kde-frameworks/kitemviews-${PVCUT}:5
+       >=kde-frameworks/kjobwidgets-${PVCUT}:5
+       >=kde-frameworks/knotifications-${PVCUT}:5
+       >=kde-frameworks/kservice-${PVCUT}:5
+       >=kde-frameworks/ktextwidgets-${PVCUT}:5
+       >=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+       >=kde-frameworks/kwindowsystem-${PVCUT}:5
+       >=kde-frameworks/kxmlgui-${PVCUT}:5
+       >=kde-frameworks/solid-${PVCUT}:5
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       dev-libs/libxml2
+       dev-libs/libxslt
+       acl? (
+               sys-apps/attr
+               virtual/acl
+       )
+       handbook? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
+       kerberos? ( virtual/krb5 )
+       kwallet? ( >=kde-frameworks/kwallet-${PVCUT}:5 )
+       X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}
+       >=dev-qt/qtconcurrent-${QTMIN}:5
+       test? ( sys-libs/zlib )
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libX11
+               x11-libs/libXrender
+       )
+"
+PDEPEND="
+       >=kde-frameworks/kded-${PVCUT}:5
+"
+
+# tests hang
+RESTRICT+=" test"
+
+PATCHES=(
+       "${FILESDIR}/${P}-fix-http-proxy-settings.patch"
+       "${FILESDIR}/${P}-fix-ftp-proxy-settings.patch"
+       "${FILESDIR}/${P}-fix-no-proxy-settings.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package acl ACL)
+               $(cmake_use_find_package handbook KF5DocTools)
+               $(cmake_use_find_package kerberos GSSAPI)
+               $(cmake_use_find_package kwallet KF5Wallet)
+               $(cmake_use_find_package X X11)
+       )
+
+       ecm_src_configure
+}

Reply via email to