From 586819755b4dbfdffdc8a725ab7c0f86095b8489 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 15 Sep 2018 17:37:09 +0100 Subject: gentoo resync : 15.09.2018 --- net-p2p/Manifest.gz | Bin 9429 -> 9423 bytes net-p2p/ktorrent/Manifest | 3 + .../ktorrent-5.1.1-scanfolder-memcorruption.patch | 69 ++++++++++++++ net-p2p/ktorrent/ktorrent-5.1.1.ebuild | 105 +++++++++++++++++++++ net-p2p/retroshare/Manifest | 2 +- net-p2p/retroshare/retroshare-0.6.4.ebuild | 2 +- 6 files changed, 179 insertions(+), 2 deletions(-) create mode 100644 net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch create mode 100644 net-p2p/ktorrent/ktorrent-5.1.1.ebuild (limited to 'net-p2p') diff --git a/net-p2p/Manifest.gz b/net-p2p/Manifest.gz index 9d1748a219b3..5581d611d4c5 100644 Binary files a/net-p2p/Manifest.gz and b/net-p2p/Manifest.gz differ diff --git a/net-p2p/ktorrent/Manifest b/net-p2p/ktorrent/Manifest index 8a66bb6d4caf..5fcb91934e06 100644 --- a/net-p2p/ktorrent/Manifest +++ b/net-p2p/ktorrent/Manifest @@ -1,5 +1,8 @@ AUX ktorrent-5.1.0-cmake-3.11.patch 412 BLAKE2B 4ee01320022113b981ff1a314f8ed73895e0606615a5b91967bc04e72a328554f2345952f8bfd5bb09ff08991657b662f7db6d5a778316fd5ea5f4da1c8aeb1f SHA512 d3c3020407aabf8166ff08a1cce16a20693f273de5a1da5a2c6c21f5359a32799247153ca5d9e22fba45790ffd56b86e53465e2d3d9b0ce986fd896d5eedd63e AUX ktorrent-5.1.0-qt-5.11.patch 2249 BLAKE2B f6d27bc5ed7ccb55622412799df823e674b0e11d48a7fe91444e3f652a44fdffa17248e34446a54b197c1b177b333e85beeb73d0c0edcb62add96f7c65b3b98b SHA512 7482a3228794f36e368cf9ddadc9cb57f62cec0b87903a19a67572bc362fd8d63728400ac43626c5acc947b017c9e64886dc7c1ec949fed14a4fca401845b404 +AUX ktorrent-5.1.1-scanfolder-memcorruption.patch 2244 BLAKE2B 53efe0320124f954adff60144981d740e5cdf45ed4712fa43f112bb6133fb24b4303e6f969d9a73598525dea4f6706c22e57d2e5c7378c69e494dd924360a307 SHA512 8d3868a6f75e2f53fa11762378a676736df09e14e6fbde04f0dcfb45eb56e8b739d17b3ea96af4be21edb22edad610982865b33508847f07ac2eba744f62ae5e DIST ktorrent-5.1.0.tar.xz 2046916 BLAKE2B 865004b84d649774420e2bd0087c416c5de4df40dfe5800ec539049001d93f66925025780987060ad09e1ba2a20045bd6d92c9202c98c28ec68d87758a88af74 SHA512 7bfe3a04a2b0f62d68b41c946af34e9f6ead6aa4ff7818a9c0ce2e83629d311e9e9be5fb1689065ce2601c43bd576b27d8c6946b845d4cdf5fa6362d53e8dd25 +DIST ktorrent-5.1.1.tar.xz 2049392 BLAKE2B 09ad841e1b6d7f332b19e2a660130b1f2b998cd6839614800cde7c99c8ec7f119f2adbdc3d9e06c8525e2dde534d73dab521c7df1d01b2fd0eb6b11fbb868d8f SHA512 bbe744853018380e30efc6ef95916a9b6f0ebec812d70d7970e5e7183d860d147b0693dd0107b146a5987aa27f30cd335fad73c8967839d53eee1c5b63a53c06 EBUILD ktorrent-5.1.0.ebuild 3066 BLAKE2B afa0b164599cdb37394ae6460f140c4d731a88c0953503779c459cd6848fa2481bb0f5b430cd9ea0e5eb47e4fcd00b697255b86880fe1208fc528fbb0807112a SHA512 625f7977ab1bb4623b791fa193ff6d0826d3bbc6352586e1cd53b7a52d1c2a4f01402770a2964ba6b386e49a5590ffaf113ba20d9eae86fba87000f491491e92 +EBUILD ktorrent-5.1.1.ebuild 3088 BLAKE2B a85b69fbd6e0a7ec761a9633546df529a27b4a8fe13c4f1ebf178186a70675e0dc6a81b667f2a03966f4f52d89418310d7a41574f04676165bdd650a19c89162 SHA512 0c5f44c2553e7ee3f5006c81f65e7391f05d32231aef6853f053912a0717d93b3aaa95da9bd8f3d627a555f0fb4b43c2de38b203c78e1f512f1c73d8e4d83654 MISC metadata.xml 1341 BLAKE2B 91b9b58b6df009f42960708b09f926b3bdf6849ebffd8d46114c28c7f2df2c0972a8b5460333ac6758f138729a7c689f6a61d4a58494bc44af2e364d1dbc3e05 SHA512 dfff24b08dba8615c983c1360fe10efcb60744651d5484a8bd1a7a731697b9dd4a10126b8d66276f96a8524352b1e4ba99b28b773d292362b3f7506a45da5a80 diff --git a/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch b/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch new file mode 100644 index 000000000000..4c41a6af11db --- /dev/null +++ b/net-p2p/ktorrent/files/ktorrent-5.1.1-scanfolder-memcorruption.patch @@ -0,0 +1,69 @@ +From 2d73d5f25a1a364a2115fb1d3262377f7fdf99cd Mon Sep 17 00:00:00 2001 +From: Valeriy Malov +Date: Wed, 5 Sep 2018 20:43:51 +0300 +Subject: Fix memory corruption in ScanFolder plugin + +Summary: +Reasoning behind this patch is kinda dubious because I don't fully understand what happens, but it shouldn't make the matters worse either + +Seems like deletion of KDirWatch objects from scan_folder in ~ScanThread(), after said QThread has been stopped, causes memory corruption. + +Preemptively deleting scan_folder contents before we stop the thread resolves this. + +also mark booleans shared across main thread and KDirWatch callbacks as atomic + +Test Plan: +Without this patch unloading ScanFolder plugin sometimes crashes ktorrent, including unloading on exit +Doesn't happen anymore with this patch + +Reviewers: stikonas + +Reviewed By: stikonas + +Differential Revision: https://phabricator.kde.org/D15265 +--- + plugins/scanfolder/scanthread.cpp | 5 +++++ + plugins/scanfolder/scanthread.h | 5 +++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/plugins/scanfolder/scanthread.cpp b/plugins/scanfolder/scanthread.cpp +index 0e62768..d7b13e0 100644 +--- a/plugins/scanfolder/scanthread.cpp ++++ b/plugins/scanfolder/scanthread.cpp +@@ -156,6 +156,11 @@ namespace kt + void ScanThread::stop() + { + stop_requested = true; ++ ++ // XXX seems like deleting KDirWatch object(s) created in scan_folders ++ // in destructor of this QThread after it has been stopped ++ // causes memory corruption, so we delete them early ++ scan_folders.clear(); + exit(); + wait(); + } +diff --git a/plugins/scanfolder/scanthread.h b/plugins/scanfolder/scanthread.h +index d13ca08..fb214a4 100644 +--- a/plugins/scanfolder/scanthread.h ++++ b/plugins/scanfolder/scanthread.h +@@ -29,6 +29,7 @@ + #include + #include "scanfolder.h" + ++#include + + class QDir; + +@@ -88,8 +89,8 @@ namespace kt + private: + QMutex mutex; + QStringList folders; +- bool stop_requested; +- bool recursive; ++ std::atomic stop_requested; ++ std::atomic recursive; + bt::PtrMap scan_folders; + }; + +-- +cgit v0.11.2 diff --git a/net-p2p/ktorrent/ktorrent-5.1.1.ebuild b/net-p2p/ktorrent/ktorrent-5.1.1.ebuild new file mode 100644 index 000000000000..dc9e90bf939a --- /dev/null +++ b/net-p2p/ktorrent/ktorrent-5.1.1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FRAMEWORKS_MINIMAL="5.50.0" # for syndication +KDE_HANDBOOK="optional" +KDE_TEST="optional" +VIRTUALX_REQUIRED="test" +inherit kde5 + +DESCRIPTION="Powerful BitTorrent client based on KDE Frameworks" +HOMEPAGE="https://www.kde.org/applications/internet/ktorrent/" +[[ ${KDE_BUILD_TYPE} = release ]] && SRC_URI="mirror://kde/stable/${PN}/${PV/%.0}/${P}.tar.xz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="+bwscheduler +downloadorder +infowidget +ipfilter +kross +logviewer +magnetgenerator ++mediaplayer rss +scanfolder +search +shutdown +stats +upnp +zeroconf" + +COMMON_DEPEND=" + $(add_frameworks_dep kcmutils) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kcrash) + $(add_frameworks_dep kdbusaddons) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kio) + $(add_frameworks_dep knotifications) + $(add_frameworks_dep knotifyconfig) + $(add_frameworks_dep kparts) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kwindowsystem) + $(add_frameworks_dep kxmlgui) + $(add_frameworks_dep solid) + $(add_qt_dep qtdbus) + $(add_qt_dep qtgui) + $(add_qt_dep qtnetwork) + $(add_qt_dep qtwidgets) + $(add_qt_dep qtxml) + =net-libs/libktorrent-2.1*:5 + infowidget? ( dev-libs/geoip ) + kross? ( + $(add_frameworks_dep karchive) + $(add_frameworks_dep kitemviews) + $(add_frameworks_dep kross) + ) + mediaplayer? ( + media-libs/phonon[qt5(+)] + >=media-libs/taglib-1.5 + ) + rss? ( + $(add_frameworks_dep kdewebkit) + $(add_frameworks_dep syndication) + ) + search? ( + $(add_frameworks_dep kdewebkit) + $(add_qt_dep qtwebkit) + ) + shutdown? ( $(add_plasma_dep plasma-workspace) ) + stats? ( $(add_frameworks_dep kplotting) ) + upnp? ( $(add_frameworks_dep kcompletion) ) + zeroconf? ( $(add_frameworks_dep kdnssd) ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/boost + sys-devel/gettext +" +RDEPEND="${COMMON_DEPEND} + ipfilter? ( + app-arch/bzip2 + app-arch/unzip + $(add_frameworks_dep ktextwidgets) + $(add_kdeapps_dep kio-extras) + ) + !net-p2p/ktorrent:4 +" + +PATCHES=( "${FILESDIR}/${P}-scanfolder-memcorruption.patch" ) + +src_configure() { + local mycmakeargs=( + -DENABLE_BWSCHEDULER_PLUGIN=$(usex bwscheduler) + -DENABLE_DOWNLOADORDER_PLUGIN=$(usex downloadorder) + -DENABLE_INFOWIDGET_PLUGIN=$(usex infowidget) + -DWITH_SYSTEM_GEOIP=$(usex infowidget) + -DENABLE_IPFILTER_PLUGIN=$(usex ipfilter) + -DENABLE_SCRIPTING_PLUGIN=$(usex kross) + -DENABLE_LOGVIEWER_PLUGIN=$(usex logviewer) + -DENABLE_MAGNETGENERATOR_PLUGIN=$(usex magnetgenerator) + -DENABLE_MEDIAPLAYER_PLUGIN=$(usex mediaplayer) + $(cmake-utils_use_find_package rss KF5Syndication) + -DENABLE_SCANFOLDER_PLUGIN=$(usex scanfolder) + -DENABLE_SEARCH_PLUGIN=$(usex search) + -DENABLE_SHUTDOWN_PLUGIN=$(usex shutdown) + -DENABLE_STATS_PLUGIN=$(usex stats) + -DENABLE_UPNP_PLUGIN=$(usex upnp) + -DENABLE_ZEROCONF_PLUGIN=$(usex zeroconf) + ) +# add back when ported +# -DENABLE_WEBINTERFACE_PLUGIN=$(usex webinterface) + kde5_src_configure +} diff --git a/net-p2p/retroshare/Manifest b/net-p2p/retroshare/Manifest index 9aa39d81f465..b7acfcf6f9a0 100644 --- a/net-p2p/retroshare/Manifest +++ b/net-p2p/retroshare/Manifest @@ -3,6 +3,6 @@ AUX retroshare-0.6.4-qt-5.11.patch 2365 BLAKE2B 34745015cae77990a71005a07be39522 DIST retroshare-0.6.3.tar.gz 19699359 BLAKE2B 5a7a77b5ab43d44928e08fd1edc3bd6baa8b42f5c1e68fb079d3c60786c1068914a4f7a4b32fe4b683e7b990fac1bd09e5af66a09a3e9b7013e5b51b3c69ae8c SHA512 ee699ddc71aba3d20498d46e8183953b948896709d1469a5d5374b7c9b7955e460326b1ea3fe6f87e7235c5d2d5e8f042161410a0990b2dd2a44b42551fb5757 DIST retroshare-0.6.4.tar.gz 20018361 BLAKE2B 63a32ee3a22f4df8b9f6cff149be2c9a9cf18ac895456c808885d510b261f683bf57141b8beb4a0206f7e61eb5c88ce505440956ccdf963ad6ad7f7a73679fb3 SHA512 7fcca6479b73cb4d70532fe46bb4cf24332d523b14a198a0e81689d0e00b62ca300d167be5ac282200e97f5fd9dc6b6c3a2c992ab1daa25846db1a404bf616f8 EBUILD retroshare-0.6.3-r1.ebuild 3946 BLAKE2B e4078aa47a2553aa113eacb37aac1772db81c5560423af5abcebd847925853fc6a69faba386711a38a96aaf9e9b728afffc453c2cdc9232c9289a426ea424096 SHA512 3c24cd55ddab91ead27966d354320460f7789cb91970d8d0e1628c7e232ee46420aeb1a86334625c6d3a2d4fe83e56cdfad47f1706141ae1d58531edf353697f -EBUILD retroshare-0.6.4.ebuild 3785 BLAKE2B 8eb703df2a8624cea038e45876f3526e20bbcaf4a724f756bd024b8a020b50ce6b7bc3100256e6b3a11c8511dae1f3091c111f64d4e9b72cb4b8e62c0ed3b5fd SHA512 f8eab241d4b19ca5539825ca5a748aac8fb1b6fa0008e5f72923a5701edebcf334cc5aa0b882512500c34ef701f6a76d0cd0c3202d786d1a0c9ae0bf7432c6d3 +EBUILD retroshare-0.6.4.ebuild 3783 BLAKE2B a764907fa347a3362a7fa60ba8664a4211d09fbfb641768175e7f72ff572400e77dd274c435a5a0b22d1beefb727e6fc3dfef43218a82c0b93c98005ba34eb34 SHA512 5ef95f47d3186f4031c294e153da6001d978530bb376fcc393048abeaf717b2303c4467de27307e5ce7ca5b2d19da39d12cc3c60223cc68b9b7ec4be6847c09b EBUILD retroshare-0.6.9999.ebuild 3273 BLAKE2B 3a99b1f80024dacc10165cf0329f6f2f1f17021dc5223c436c817622c7d224ee8d9f312493c563c3df9e14d9a54420393751a26f44a35a11cc01f63e9b4568c4 SHA512 a4951090b3c66f0cc2ed67ac59784c9cfb20e0a0af155831386224b8878603551fa03f7f21258c0ed64fcdbb1d61b227165b6879f7474348cf8d1adf663127d9 MISC metadata.xml 1684 BLAKE2B 8308ce1d3e2a433b79b01dcfdca2ab79b614cc48158fa43c8163e27f4d1d978ea831d54c5408ff3f3c4a3d71b55d0e5d3043058165461389c35e6cf76cac9cb2 SHA512 ba50aff77c086400bb4cdb631be9a634aada2b81832ac2895b74149448da431040604dc88fec9ad5d9e9bce39f2bb5b82565056937e3236124b8a42b1ab2ea6d diff --git a/net-p2p/retroshare/retroshare-0.6.4.ebuild b/net-p2p/retroshare/retroshare-0.6.4.ebuild index 68915e3eb57f..3f8d484b6367 100644 --- a/net-p2p/retroshare/retroshare-0.6.4.ebuild +++ b/net-p2p/retroshare/retroshare-0.6.4.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/RetroShare/RetroShare/archive/v${PV}.tar.gz -> ${P}. # pegmarkdown can also be used with MIT LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="cli feedreader gnome-keyring +gui voip" REQUIRED_USE=" -- cgit v1.2.3