mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
net-irc/telepathy-idle: fix 100% cpu usage and tests
Added latest fixes from 0.2.0 branch. - fixes tests - fixes extreme CPU usage. It's unlikely that new version (0.2.1 nor 1.x) will be released soon, so let's merge these patches. Closes: https://bugs.gentoo.org/636576 Closes: https://bugs.gentoo.org/684832 Closes: https://github.com/gentoo/gentoo/pull/13221 Signed-off-by: David Heidelberg <david@ixit.cz> Signed-off-by: Matt Turner <mattst88@gentoo.org>
This commit is contained in:
committed by
Matt Turner
parent
28d92b2da6
commit
bfc9cd845a
223
net-irc/telepathy-idle/files/telepathy-idle-0.2.0-fixes.patch
Normal file
223
net-irc/telepathy-idle/files/telepathy-idle-0.2.0-fixes.patch
Normal file
@@ -0,0 +1,223 @@
|
||||
From bf6d596e40e5b9426a68dcd22aa62a697457c4f7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Sat, 13 Feb 2016 10:08:42 +0100
|
||||
Subject: [PATCH 1/6] ctcp: Don't bling the non-bling
|
||||
|
||||
When stripping color codes, we currently remove any sequence of digits
|
||||
following ^C. As color codes use at most two digits, this means that we
|
||||
also remove any numbers at the start of the colored text - make sure we
|
||||
stop doing that and only remove digits that are actually part of a color
|
||||
code.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=94189
|
||||
---
|
||||
src/idle-ctcp.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/idle-ctcp.c b/src/idle-ctcp.c
|
||||
index f282360..f28bf4b 100644
|
||||
--- a/src/idle-ctcp.c
|
||||
+++ b/src/idle-ctcp.c
|
||||
@@ -98,13 +98,18 @@ gchar *idle_ctcp_kill_blingbling(const gchar *msg) {
|
||||
case '\x03': /* ^C */
|
||||
iter++;
|
||||
|
||||
- while (isdigit(*iter))
|
||||
+ /* Color codes are 1-2 digits */
|
||||
+ if (isdigit(*iter))
|
||||
+ iter++;
|
||||
+ if (isdigit(*iter))
|
||||
iter++;
|
||||
|
||||
if (*iter == ',') {
|
||||
iter++;
|
||||
|
||||
- while (isdigit(*iter))
|
||||
+ if (isdigit(*iter))
|
||||
+ iter++;
|
||||
+ if (isdigit(*iter))
|
||||
iter++;
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.23.0
|
||||
|
||||
From 5a2510ddea8f165f0808a8841e1dca311c003e20 Mon Sep 17 00:00:00 2001
|
||||
From: Diane Trout <diane@ghic.org>
|
||||
Date: Sat, 4 Nov 2017 23:03:26 -0700
|
||||
Subject: [PATCH 2/6] Update self-signed certificate to 2048 bytes with SHA-256
|
||||
signature
|
||||
|
||||
Valid for 10 years
|
||||
---
|
||||
tests/twisted/tools/idletest.cert | 26 +++++++++++++++++--------
|
||||
tests/twisted/tools/idletest.key | 32 ++++++++++++++++++++++++-------
|
||||
2 files changed, 43 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/tests/twisted/tools/idletest.cert b/tests/twisted/tools/idletest.cert
|
||||
index 655abc2..7ea6bcc 100644
|
||||
--- a/tests/twisted/tools/idletest.cert
|
||||
+++ b/tests/twisted/tools/idletest.cert
|
||||
@@ -1,10 +1,20 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
-MIIBTzCB+gIBATANBgkqhkiG9w0BAQQFADAzMRIwEAYDVQQKEwl0ZWxlcGF0aHkx
|
||||
-HTAbBgNVBAsTFHRlbGVwYXRoeSBkZXZlbG9wZXJzMB4XDTA5MDExNDE3NDc0N1oX
|
||||
-DTA5MDExNDE3NDg0N1owMzESMBAGA1UEChMJdGVsZXBhdGh5MR0wGwYDVQQLExR0
|
||||
-ZWxlcGF0aHkgZGV2ZWxvcGVyczBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC9z/pi
|
||||
-zEMeL+bO3giJVGHGrOHLE7AfDorArwmA0u8Cgu06+J+SW+NJnkj8At4bioxREge6
|
||||
-yeD6+cHCC9kzXrmXAgMBAAEwDQYJKoZIhvcNAQEEBQADQQBf1qg0gzSztx5pqqM8
|
||||
-3wI5cEc7k13EzU6X2SkSCSxlMc4pF0hPdr0LuZJpeKBohIgKQ59+3Ny0LuUMEKYW
|
||||
-ikGr
|
||||
+MIIDUDCCAjigAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMRIwEAYDVQQKEwl0ZWxl
|
||||
+cGF0aHkxHTAbBgNVBAsTFHRlbGVwYXRoeSBkZXZlbG9wZXJzMB4XDTE3MTEwNTAw
|
||||
+NTEwMFoXDTE4MTEwNTAwNTEwMFowMzESMBAGA1UEChMJdGVsZXBhdGh5MR0wGwYD
|
||||
+VQQLExR0ZWxlcGF0aHkgZGV2ZWxvcGVyczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
+ADCCAQoCggEBAL3wfZoTzmJqQyjw0tToAflpdmQMTNpzgXvH+uiuu4rWk7oGJsBN
|
||||
+HZfe4gkoYNLL8PwOGEQcIUN4Y0JU/mc9mSe44Vi0G0t/uJ/gI+CNtHzHjwtwCnYP
|
||||
+XsbCE69CsarvDVbsQHS6kWfgCYxMA0l+cydUfxuyIoFWjeM4hZs0JwdBGBTAtZkj
|
||||
+3xo+7Ee3xNBaaOtmoJO/QduAVA0UgiWU69m7Q+5aIuIl9PGOSL4MHqNXq/nwX5Ky
|
||||
+aFBpXdzmrVn8BophkBgOawp0e+Rhk5fCelyy54lIfpUxeOTP6EtAgsZYbZBPjsuz
|
||||
+8ewJbdnzcOCwTJpKQv9aHhkTKcK2PkN6tJMCAwEAAaNvMG0wDAYDVR0TAQH/BAIw
|
||||
+ADAdBgNVHQ4EFgQUuG8blqmQ1SEj/x5OhBc58XFv6vcwCwYDVR0PBAQDAgXgMBEG
|
||||
+CWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRl
|
||||
+MA0GCSqGSIb3DQEBCwUAA4IBAQBJCT/EPWqv/wUDn7jK4nRXXXwtIL7eYYTAvcJh
|
||||
+gxtrkkNB1LAp6mnb1WOw+Wbdpf2IgTqfAvpzCRL+kCM80Pqh365JlA5JflzhWxsJ
|
||||
+xtJQfNfiZhgXKN1rm5lT+U/WgGR6A1serbxUiRN2O6wB8nxtoc7sBJh18pcrwpam
|
||||
+vOGAolbePV8HPfyBRkCnSw1X6BdifEtxlRCfVWELSI6xQHX8OPTU+uGcvte5uAEi
|
||||
+7CRRJHlUoojyLOxlJ6IeXh7MjrDIi6tHDqVR9MlRRN3oXhvsN/TtsZUuuC7s280W
|
||||
+oapk/x7WNDSQsdsi0bmTLrJoZgHzaPRJPCwBFzbj/T1kCC0B
|
||||
-----END CERTIFICATE-----
|
||||
diff --git a/tests/twisted/tools/idletest.key b/tests/twisted/tools/idletest.key
|
||||
index 3a80dab..d579266 100644
|
||||
--- a/tests/twisted/tools/idletest.key
|
||||
+++ b/tests/twisted/tools/idletest.key
|
||||
@@ -1,9 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
-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
-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
-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
-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
-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
-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
-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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
--
|
||||
2.23.0
|
||||
|
||||
From 0ce3a8fa2bd3f4e72358bb53ecd0acf8fe448483 Mon Sep 17 00:00:00 2001
|
||||
From: Diane Trout <diane@ghic.org>
|
||||
Date: Sat, 4 Nov 2017 23:32:32 -0700
|
||||
Subject: [PATCH 3/6] Avoid errors from Python caused by the deliberatly
|
||||
invalid Unicode
|
||||
|
||||
Because stream.nick is Unicode when sendMessage combines the command,
|
||||
nick, and invalid utf8 python 2.7 ends up converting everything to
|
||||
Unicode. Since this test deliberately includes invalid Unicode, Python
|
||||
notices and throws an exception.
|
||||
|
||||
In Python 3, network traffic is usually encoded as bytes. So I thought
|
||||
coercing the nick to bytes would be appropriate, and as bytes can contain
|
||||
anything including invalid Unicode, Python doesn't throw an exception.
|
||||
---
|
||||
tests/twisted/messages/invalid-utf8.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/twisted/messages/invalid-utf8.py b/tests/twisted/messages/invalid-utf8.py
|
||||
index a48c2f4..725e3bd 100644
|
||||
--- a/tests/twisted/messages/invalid-utf8.py
|
||||
+++ b/tests/twisted/messages/invalid-utf8.py
|
||||
@@ -33,7 +33,7 @@ def test_with_message(q, stream, parts):
|
||||
|
||||
# Idle's default character set is UTF-8. We send it a message which is
|
||||
# basically UTF-8, except that one of its code points is invalid.
|
||||
- stream.sendMessage('PRIVMSG', stream.nick, ':%s' % invalid_utf8,
|
||||
+ stream.sendMessage('PRIVMSG', bytes(stream.nick), ':%s' % invalid_utf8,
|
||||
prefix='remoteuser')
|
||||
|
||||
# Idle should signal that *something* was received. If it hasn't validated
|
||||
--
|
||||
2.23.0
|
||||
|
||||
From acf5fcf4d830ae0b5953d8ded8eba4c17726c6f3 Mon Sep 17 00:00:00 2001
|
||||
From: Diane Trout <diane@ghic.org>
|
||||
Date: Mon, 6 Nov 2017 21:46:00 -0800
|
||||
Subject: [PATCH 4/6] Returning FALSE from the timer function causes the
|
||||
timeout to be destroyed
|
||||
|
||||
I asked one of the polari devs and was told that yes it is ok to set
|
||||
the timer id to zero in the timer function.
|
||||
|
||||
With this patch make check works without changing any of the expected
|
||||
test results and without any coredumps
|
||||
---
|
||||
src/idle-connection.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/idle-connection.c b/src/idle-connection.c
|
||||
index 6ab5fea..71c020f 100644
|
||||
--- a/src/idle-connection.c
|
||||
+++ b/src/idle-connection.c
|
||||
@@ -600,6 +600,7 @@ _force_disconnect (gpointer data)
|
||||
|
||||
IDLE_DEBUG("gave up waiting, forcibly disconnecting");
|
||||
idle_server_connection_force_disconnect(priv->conn);
|
||||
+ priv->force_disconnect_id = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
||||
From 5e5b677173ef64055b4a7073cb5a15066fc03f70 Mon Sep 17 00:00:00 2001
|
||||
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
|
||||
Date: Fri, 14 Feb 2014 12:12:54 +0100
|
||||
Subject: [PATCH 5/6] idle-connection: make sure to always reset
|
||||
force_disconnect_id
|
||||
|
||||
Recent GLib raises a critical when trying to remove an invalid source.
|
||||
|
||||
(cherry picked from commit 12211654baa75db13a05b5c2b3293d1378fcf7a2)
|
||||
---
|
||||
src/idle-connection.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/idle-connection.c b/src/idle-connection.c
|
||||
index 71c020f..8614d52 100644
|
||||
--- a/src/idle-connection.c
|
||||
+++ b/src/idle-connection.c
|
||||
@@ -585,6 +585,7 @@ static gboolean _finish_shutdown_idle_func(gpointer data) {
|
||||
IdleConnectionPrivate *priv = self->priv;
|
||||
if (priv->force_disconnect_id != 0) {
|
||||
g_source_remove(priv->force_disconnect_id);
|
||||
+ priv->force_disconnect_id = 0;
|
||||
}
|
||||
|
||||
tp_base_connection_finish_shutdown(conn);
|
||||
--
|
||||
2.23.0
|
||||
|
||||
45
net-irc/telepathy-idle/telepathy-idle-0.2.0-r2.ebuild
Normal file
45
net-irc/telepathy-idle/telepathy-idle-0.2.0-r2.ebuild
Normal file
@@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-single-r1
|
||||
|
||||
DESCRIPTION="Full-featured IRC connection manager for Telepathy"
|
||||
HOMEPAGE="https://cgit.freedesktop.org/telepathy/telepathy-idle"
|
||||
SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
test? ( dev-python/twisted-words )
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-libs/dbus-glib-0.51
|
||||
>=dev-libs/glib-2.32:2
|
||||
>=net-libs/telepathy-glib-0.21
|
||||
sys-apps/dbus
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-fixes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Failed in 0.1.16 and code has not moved since october
|
||||
# Upstream is working on 1.0
|
||||
sed -e 's:connect/server-quit-ignore.py::' \
|
||||
-e 's:connect/server-quit-noclose.py::' \
|
||||
-i tests/twisted/Makefile.{am,in} || die
|
||||
}
|
||||
Reference in New Issue
Block a user