From 31268fec582776593e54c10c862d9f7af7b3153c Mon Sep 17 00:00:00 2001 From: Martin Klapetek Date: Wed, 8 Jul 2015 20:04:57 +0000 Subject: Fix autoconnection of accounts with always_dispatch=true https://bugs.freedesktop.org/show_bug.cgi?id=91272 --- src/mcd-account-connection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mcd-account-connection.c b/src/mcd-account-connection.c index 09b3a219..327514de 100644 --- a/src/mcd-account-connection.c +++ b/src/mcd-account-connection.c @@ -101,7 +101,7 @@ mcd_account_connection_proceed_with_reason (McdAccount *account, if (success) { if (mcd_connectivity_monitor_is_online ( - mcd_account_get_connectivity_monitor (account))) + mcd_account_get_connectivity_monitor (account)) || _mcd_account_needs_dispatch (account)) { DEBUG ("%s wants to connect and we're online - go for it", mcd_account_get_unique_name (account)); -- cgit v1.2.1 From 8d2b3cc9c978b079f74032717532165c65b321cb Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sat, 6 Jul 2019 15:38:31 +0300 Subject: McdAccount: Fix memory leak in get_parameter_of_known_type() Based on a commit by Slava Monich --- src/mcd-account.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mcd-account.c b/src/mcd-account.c index e7f5007d..f02c80d2 100644 --- a/src/mcd-account.c +++ b/src/mcd-account.c @@ -450,10 +450,15 @@ mcd_account_get_parameter_of_known_type (McdAccount *account, { memcpy (parameter, &tmp, sizeof (tmp)); } + else + { + g_value_unset (&tmp); + } return TRUE; } + g_value_unset (&tmp); return FALSE; } @@ -3305,6 +3310,7 @@ finally: g_free (new_dir); g_free (contents); g_free (old_file); + g_free (old_dir); } static gboolean -- cgit v1.2.1 From 825aa93ea15a24fe6f0ac2c2da0d0b6b1cc2abab Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 14:26:33 +0300 Subject: Update telepathy.am from telepathy-glib maintainer-prepare-release: do "git tag" in srcdir --- tools/telepathy.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/telepathy.am b/tools/telepathy.am index 20ff0be1..c919995d 100644 --- a/tools/telepathy.am +++ b/tools/telepathy.am @@ -55,7 +55,7 @@ maintainer-prepare-release: $(MAKE) all $(MAKE) distcheck $(MAKE) release-mail - git tag -s @PACKAGE@-@VERSION@ -m @PACKAGE@' '@VERSION@ + cd $(srcdir) && git tag -s @PACKAGE@-@VERSION@ -m @PACKAGE@' '@VERSION@ gpg --detach-sign --armor @PACKAGE@-@VERSION@.tar.gz release-mail: NEWS -- cgit v1.2.1 From 23a212f0b3201e34e7a4f3b3ba3b916e1e379bcc Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 14:37:53 +0300 Subject: Sync tools from telepathy-glib --- tools/glib-client-gen.py | 96 +++++++++---------------------------- tools/glib-client-marshaller-gen.py | 20 ++++---- tools/glib-ginterface-gen.py | 22 ++++----- tools/glib-gtypes-generator.py | 14 +++--- tools/libglibcodegen.py | 48 ++++++++++++++++++- tools/libtpcodegen.py | 22 ++++++++- tools/make-release-mail.py | 16 ++++++- 7 files changed, 128 insertions(+), 110 deletions(-) diff --git a/tools/glib-client-gen.py b/tools/glib-client-gen.py index f8465a62..b7edbc0d 100644 --- a/tools/glib-client-gen.py +++ b/tools/glib-client-gen.py @@ -27,10 +27,10 @@ import os.path import xml.dom.minidom from getopt import gnu_getopt -from libtpcodegen import file_set_contents -from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ - get_docstring, xml_escape, get_deprecated - +from libtpcodegen import file_set_contents, key_by_name, u +from libglibcodegen import (Signature, type_to_gtype, + get_docstring, xml_escape, get_deprecated, copy_into_gvalue, + move_into_gvalue) NS_TP = "http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" @@ -74,18 +74,12 @@ class Generator(object): self.guard = opts.get('--guard', None) def h(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__header.append(s) def b(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__body.append(s) def d(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__docs.append(s) def get_iface_quark(self): @@ -192,6 +186,7 @@ class Generator(object): self.b(' TpProxySignalConnection *sc)') self.b('{') + self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') self.b(' GValueArray *args = g_value_array_new (%d);' % len(args)) self.b(' GValue blank = { 0 };') self.b(' guint i;') @@ -200,6 +195,7 @@ class Generator(object): self.b('') self.b(' for (i = 0; i < %d; i++)' % len(args)) self.b(' g_value_array_append (args, &blank);') + self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') self.b('') for i, arg in enumerate(args): @@ -209,36 +205,8 @@ class Generator(object): self.b(' g_value_unset (args->values + %d);' % i) self.b(' g_value_init (args->values + %d, %s);' % (i, gtype)) - if gtype == 'G_TYPE_STRING': - self.b(' g_value_set_string (args->values + %d, %s);' - % (i, name)) - elif marshaller == 'BOXED': - self.b(' g_value_set_boxed (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UCHAR': - self.b(' g_value_set_uchar (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_BOOLEAN': - self.b(' g_value_set_boolean (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_INT': - self.b(' g_value_set_int (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UINT': - self.b(' g_value_set_uint (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_INT64': - self.b(' g_value_set_int (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UINT64': - self.b(' g_value_set_uint64 (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_DOUBLE': - self.b(' g_value_set_double (args->values + %d, %s);' - % (i, name)) - else: - assert False, ("Don't know how to put %s in a GValue" - % gtype) + self.b(' ' + copy_into_gvalue('args->values + %d' % i, + gtype, marshaller, name)) self.b('') self.b(' tp_proxy_signal_connection_v0_take_results (sc, args);') @@ -288,12 +256,14 @@ class Generator(object): self.b(' weak_object);') self.b('') + self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') if len(args) > 0: self.b(' g_value_array_free (args);') else: self.b(' if (args != NULL)') self.b(' g_value_array_free (args);') self.b('') + self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') self.b(' g_object_unref (tpproxy);') self.b('}') @@ -559,11 +529,13 @@ class Generator(object): self.b(' return;') self.b(' }') self.b('') + self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') self.b(' args = g_value_array_new (%d);' % len(out_args)) self.b(' g_value_init (&blank, G_TYPE_INT);') self.b('') self.b(' for (i = 0; i < %d; i++)' % len(out_args)) self.b(' g_value_array_append (args, &blank);') + self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') for i, arg in enumerate(out_args): name, info, tp_type, elt = arg @@ -573,36 +545,8 @@ class Generator(object): self.b(' g_value_unset (args->values + %d);' % i) self.b(' g_value_init (args->values + %d, %s);' % (i, gtype)) - if gtype == 'G_TYPE_STRING': - self.b(' g_value_take_string (args->values + %d, %s);' - % (i, name)) - elif marshaller == 'BOXED': - self.b(' g_value_take_boxed (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UCHAR': - self.b(' g_value_set_uchar (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_BOOLEAN': - self.b(' g_value_set_boolean (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_INT': - self.b(' g_value_set_int (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UINT': - self.b(' g_value_set_uint (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_INT64': - self.b(' g_value_set_int (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_UINT64': - self.b(' g_value_set_uint (args->values + %d, %s);' - % (i, name)) - elif gtype == 'G_TYPE_DOUBLE': - self.b(' g_value_set_double (args->values + %d, %s);' - % (i, name)) - else: - assert False, ("Don't know how to put %s in a GValue" - % gtype) + self.b(' ' + move_into_gvalue('args->values + %d' % i, + gtype, marshaller, name)) self.b(' tp_proxy_pending_call_v0_take_results (user_data, ' 'NULL, args);') @@ -671,11 +615,13 @@ class Generator(object): self.b(' error, user_data, weak_object);') self.b('') + self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') if len(out_args) > 0: self.b(' g_value_array_free (args);') else: self.b(' if (args != NULL)') self.b(' g_value_array_free (args);') + self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') self.b('}') self.b('') @@ -948,11 +894,13 @@ class Generator(object): self.b('') + self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') if len(out_args) > 0: self.b(' g_value_array_free (args);') else: self.b(' if (args != NULL)') self.b(' g_value_array_free (args);') + self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') self.b('}') self.b('') @@ -1191,7 +1139,7 @@ class Generator(object): self.b('') nodes = self.dom.getElementsByTagName('node') - nodes.sort(cmp_by_name) + nodes.sort(key=key_by_name) for node in nodes: self.do_interface(node) @@ -1244,9 +1192,9 @@ class Generator(object): self.h('#endif /* defined (%s) */' % self.guard) self.h('') - file_set_contents(self.basename + '.h', '\n'.join(self.__header)) - file_set_contents(self.basename + '-body.h', '\n'.join(self.__body)) - file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) + file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) + file_set_contents(self.basename + '-body.h', u('\n').join(self.__body).encode('utf-8')) + file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) def types_to_gtypes(types): return [type_to_gtype(t)[1] for t in types] diff --git a/tools/glib-client-marshaller-gen.py b/tools/glib-client-marshaller-gen.py index cb27d638..cd9823bd 100644 --- a/tools/glib-client-marshaller-gen.py +++ b/tools/glib-client-marshaller-gen.py @@ -31,23 +31,23 @@ class Generator(object): for signal in signals: self.do_signal(signal) - print 'void' - print '%s_register_dbus_glib_marshallers (void)' % self.prefix - print '{' + print('void') + print('%s_register_dbus_glib_marshallers (void)' % self.prefix) + print('{') - all = self.marshallers.keys() + all = list(self.marshallers.keys()) all.sort() for marshaller in all: rhs = self.marshallers[marshaller] - print ' dbus_g_object_register_marshaller (' - print ' g_cclosure_marshal_generic,' - print ' G_TYPE_NONE, /* return */' + print(' dbus_g_object_register_marshaller (') + print(' g_cclosure_marshal_generic,') + print(' G_TYPE_NONE, /* return */') for type in rhs: - print ' G_TYPE_%s,' % type.replace('VOID', 'NONE') - print ' G_TYPE_INVALID);' + print(' G_TYPE_%s,' % type.replace('VOID', 'NONE')) + print(' G_TYPE_INVALID);') - print '}' + print('}') def types_to_gtypes(types): diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py index 6fec0d3c..c0ce20dd 100644 --- a/tools/glib-ginterface-gen.py +++ b/tools/glib-ginterface-gen.py @@ -26,8 +26,8 @@ import sys import os.path import xml.dom.minidom -from libtpcodegen import file_set_contents -from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ +from libtpcodegen import file_set_contents, key_by_name, u +from libglibcodegen import Signature, type_to_gtype, \ NS_TP, dbus_gutils_wincaps_to_uscore @@ -85,18 +85,12 @@ class Generator(object): self.allow_havoc = allow_havoc def h(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__header.append(s) def b(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__body.append(s) def d(self, s): - if isinstance(s, unicode): - s = s.encode('utf-8') self.__docs.append(s) def do_node(self, node): @@ -733,7 +727,7 @@ class Generator(object): def __call__(self): nodes = self.dom.getElementsByTagName('node') - nodes.sort(cmp_by_name) + nodes.sort(key=key_by_name) self.h('#include ') self.h('#include ') @@ -761,12 +755,12 @@ class Generator(object): self.h('') self.b('') - file_set_contents(self.basename + '.h', '\n'.join(self.__header)) - file_set_contents(self.basename + '.c', '\n'.join(self.__body)) - file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) + file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) + file_set_contents(self.basename + '.c', u('\n').join(self.__body).encode('utf-8')) + file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) def cmdline_error(): - print """\ + print("""\ usage: gen-ginterface [OPTIONS] xmlfile Prefix_ options: @@ -786,7 +780,7 @@ options: void symbol (DBusGMethodInvocation *context) and return some sort of "not implemented" error via dbus_g_method_return_error (context, ...) -""" +""") sys.exit(1) diff --git a/tools/glib-gtypes-generator.py b/tools/glib-gtypes-generator.py index 21dfc6aa..1477bd37 100644 --- a/tools/glib-gtypes-generator.py +++ b/tools/glib-gtypes-generator.py @@ -23,7 +23,7 @@ import sys import xml.dom.minidom -from libtpcodegen import file_set_contents +from libtpcodegen import file_set_contents, u from libglibcodegen import escape_as_identifier, \ get_docstring, \ NS_TP, \ @@ -68,13 +68,13 @@ class GTypesGenerator(object): self.need_other_arrays = {} def h(self, code): - self.header.append(code.encode("utf-8")) + self.header.append(code) def c(self, code): - self.body.append(code.encode("utf-8")) + self.body.append(code) def d(self, code): - self.docs.append(code.encode('utf-8')) + self.docs.append(code) def do_mapping_header(self, mapping): members = mapping.getElementsByTagNameNS(NS_TP, 'member') @@ -292,9 +292,9 @@ class GTypesGenerator(object): self.c(' return t;\n') self.c('}\n\n') - file_set_contents(self.output + '.h', ''.join(self.header)) - file_set_contents(self.output + '-body.h', ''.join(self.body)) - file_set_contents(self.output + '-gtk-doc.h', ''.join(self.docs)) + file_set_contents(self.output + '.h', u('').join(self.header).encode('utf-8')) + file_set_contents(self.output + '-body.h', u('').join(self.body).encode('utf-8')) + file_set_contents(self.output + '-gtk-doc.h', u('').join(self.docs).encode('utf-8')) if __name__ == '__main__': argv = sys.argv[1:] diff --git a/tools/libglibcodegen.py b/tools/libglibcodegen.py index 6a9d2148..5c76f07d 100644 --- a/tools/libglibcodegen.py +++ b/tools/libglibcodegen.py @@ -154,7 +154,7 @@ def type_to_gtype(s): return ("GHashTable *", "DBUS_TYPE_G_STRING_STRING_HASHTABLE", "BOXED", False) elif s[:2] == 'a{': #some arbitrary hash tables if s[2] not in ('y', 'b', 'n', 'q', 'i', 'u', 's', 'o', 'g'): - raise Exception, "can't index a hashtable off non-basic type " + s + raise Exception("can't index a hashtable off non-basic type " + s) first = type_to_gtype(s[2]) second = type_to_gtype(s[3:-1]) return ("GHashTable *", "(dbus_g_type_get_map (\"GHashTable\", " + first[1] + ", " + second[1] + "))", "BOXED", False) @@ -169,4 +169,48 @@ def type_to_gtype(s): return ("GValueArray *", gtype, "BOXED", True) # we just don't know .. - raise Exception, "don't know the GType for " + s + raise Exception("don't know the GType for " + s) + +def move_into_gvalue(gvaluep, gtype, marshaller, name): + if gtype == 'G_TYPE_STRING': + return 'g_value_take_string (%s, %s);' % (gvaluep, name) + elif marshaller == 'BOXED': + return 'g_value_take_boxed (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UCHAR': + return 'g_value_set_uchar (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_BOOLEAN': + return 'g_value_set_boolean (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_INT': + return 'g_value_set_int (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UINT': + return 'g_value_set_uint (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_INT64': + return 'g_value_set_int (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UINT64': + return 'g_value_set_uint64 (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_DOUBLE': + return 'g_value_set_double (%s, %s);' % (gvaluep, name) + else: + raise AssertionError("Don't know how to put %s in a GValue" % gtype) + +def copy_into_gvalue(gvaluep, gtype, marshaller, name): + if gtype == 'G_TYPE_STRING': + return 'g_value_set_string (%s, %s);' % (gvaluep, name) + elif marshaller == 'BOXED': + return 'g_value_set_boxed (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UCHAR': + return 'g_value_set_uchar (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_BOOLEAN': + return 'g_value_set_boolean (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_INT': + return 'g_value_set_int (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UINT': + return 'g_value_set_uint (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_INT64': + return 'g_value_set_int (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_UINT64': + return 'g_value_set_uint64 (%s, %s);' % (gvaluep, name) + elif gtype == 'G_TYPE_DOUBLE': + return 'g_value_set_double (%s, %s);' % (gvaluep, name) + else: + raise AssertionError("Don't know how to put %s in a GValue" % gtype) diff --git a/tools/libtpcodegen.py b/tools/libtpcodegen.py index 7e9eb9a5..99de6634 100644 --- a/tools/libtpcodegen.py +++ b/tools/libtpcodegen.py @@ -21,6 +21,7 @@ please make any changes there. # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import os +import sys from string import ascii_letters, digits @@ -28,6 +29,20 @@ NS_TP = "http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" _ASCII_ALNUM = ascii_letters + digits +if sys.version_info[0] >= 3: + def u(s): + """Return s, which must be a str literal with no non-ASCII characters. + This is like a more restricted form of the Python 2 u'' syntax. + """ + return s.encode('ascii').decode('ascii') +else: + def u(s): + """Return a Unicode version of s, which must be a str literal + (a bytestring) in which each byte is an ASCII character. + This is like a more restricted form of the u'' syntax. + """ + return s.decode('ascii') + def file_set_contents(filename, contents): try: os.remove(filename) @@ -38,13 +53,15 @@ def file_set_contents(filename, contents): except OSError: pass - open(filename + '.tmp', 'w').write(contents) + open(filename + '.tmp', 'wb').write(contents) os.rename(filename + '.tmp', filename) def cmp_by_name(node1, node2): return cmp(node1.getAttributeNode("name").nodeValue, node2.getAttributeNode("name").nodeValue) +def key_by_name(node): + return node.getAttributeNode("name").nodeValue def escape_as_identifier(identifier): """Escape the given string to be a valid D-Bus object path or service @@ -168,6 +185,9 @@ class _SignatureIter: self.remaining = string def next(self): + return self.__next__() + + def __next__(self): if self.remaining == '': raise StopIteration diff --git a/tools/make-release-mail.py b/tools/make-release-mail.py index 2bd7c2bc..b03ebd25 100644 --- a/tools/make-release-mail.py +++ b/tools/make-release-mail.py @@ -6,6 +6,15 @@ # to . I hope that you enjoy your stay. import sys +import re + +def looks_like_a_header(line, package, version=None): + if version is None: + pattern = "^%s .* \(.*\)$" % package + else: + pattern = "^%s %s \(.*\)$" % (package, version) + + return re.match(pattern, line) is not None def extract_description(package, version, news_path): release_name = [] @@ -15,7 +24,7 @@ def extract_description(package, version, news_path): lines = (line for line in f.readlines()) for line in lines: # Find the 'telepathy-foo 0.1.2' header - if line.startswith("%s %s" % (package, version)): + if looks_like_a_header(line, package, version): break # Skip the ====== line, and the first blank line @@ -27,7 +36,7 @@ def extract_description(package, version, news_path): for line in lines: line = line.rstrip() # If we hit the next version header, we're done - if line.startswith(package): + if looks_like_a_header(line, package): break # Else, if we hit a blank line and we're still reading the release # name, we're done with the release name. @@ -45,6 +54,7 @@ def extract_description(package, version, news_path): return ('\n'.join(release_name), '\n'.join(details).rstrip()) BASE_URL = 'http://telepathy.freedesktop.org/releases' +GIT_URL = 'http://cgit.freedesktop.org/telepathy' def main(package, version, news_path): release_name, details = extract_description(package, version, news_path) @@ -54,9 +64,11 @@ def main(package, version, news_path): tarball: %(base_url)s/%(package)s/%(package)s-%(version)s.tar.gz signature: %(base_url)s/%(package)s/%(package)s-%(version)s.tar.gz.asc +git: %(git_url)s/%(package)s %(details)s""".strip().rstrip() % { 'base_url': BASE_URL, + 'git_url': GIT_URL, 'package': package, 'version': version, 'release_name': release_name, -- cgit v1.2.1 From f44db86a6619f4c97b7b8e5819c885ac9f8893b0 Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 02:33:58 +0300 Subject: Tools: Remove glib-signals-marshal-gen See commit d70ba9ba46ea037b8003efc27de7f8c2d067befa in telepathy-glib. See also: https://bugs.freedesktop.org/show_bug.cgi?id=46523 --- src/Makefile.am | 16 ------------ src/mcd-misc.c | 1 - tools/Makefile.am | 3 --- tools/glib-signals-marshal-gen.py | 55 --------------------------------------- 4 files changed, 75 deletions(-) delete mode 100644 tools/glib-signals-marshal-gen.py diff --git a/src/Makefile.am b/src/Makefile.am index fe81e97f..ae1de3e4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -57,9 +57,6 @@ nodist_libmcd_convenience_la_SOURCES = \ _gen/gtypes-body.h \ _gen/interfaces-body.h \ _gen/register-dbus-glib-marshallers-body.h \ - _gen/signals-marshal.c \ - _gen/signals-marshal.h \ - _gen/signals-marshal.list \ _gen/svc-Account_Interface_Conditions.c \ _gen/svc-Account_Interface_External_Password_Storage.c \ _gen/svc-Account_Interface_Hidden.c \ @@ -236,18 +233,6 @@ _gen/%.xml: $(top_srcdir)/xml/%.xml $(wildcard $(top_srcdir)/xml/*.xml) # Generated files which can be done for all "classes" at once -_gen/signals-marshal.list: _gen/mcd.xml \ - $(tools_dir)/glib-signals-marshal-gen.py - $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-signals-marshal-gen.py $< > $@ - -_gen/signals-marshal.h: _gen/signals-marshal.list Makefile.am - $(AM_V_GEN)$(GLIB_GENMARSHAL) --header --prefix=_mcd_ext_marshal $< > $@ - -_gen/signals-marshal.c: _gen/signals-marshal.list Makefile.am - $(AM_V_GEN){ echo '#include "_gen/signals-marshal.h"' && \ - $(GLIB_GENMARSHAL) --body --prefix=_mcd_ext_marshal $<; } \ - > $@ - _gen/register-dbus-glib-marshallers-body.h: _gen/mcd.xml \ $(tools_dir)/glib-client-marshaller-gen.py Makefile.am $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-marshaller-gen.py $< \ @@ -328,7 +313,6 @@ _gen/svc-%-gtk-doc.h: _gen/%.xml \ --filename=_gen/svc-$* \ --signal-marshal-prefix=_mcd_ext \ --include='' \ - --include='"_gen/signals-marshal.h"' \ --not-implemented-func='tp_dbus_g_method_return_not_implemented' \ --allow-unstable \ $< Mc_Svc_ diff --git a/src/mcd-misc.c b/src/mcd-misc.c index 58b2f667..3a3f1541 100644 --- a/src/mcd-misc.c +++ b/src/mcd-misc.c @@ -37,7 +37,6 @@ #include "mcd-debug.h" -#include "_gen/signals-marshal.h" #include "_gen/register-dbus-glib-marshallers-body.h" #include diff --git a/tools/Makefile.am b/tools/Makefile.am index befd2666..b5fa3273 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -9,7 +9,6 @@ EXTRA_DIST = \ glib-interfaces-body-generator.xsl \ glib-ginterface-gen.py \ glib-gtypes-generator.py \ - glib-signals-marshal-gen.py \ gquark-gen.py \ identity.xsl \ lcov.am \ @@ -31,8 +30,6 @@ glib-ginterface-gen.py: libglibcodegen.py $(AM_V_GEN)test -e ${srcdir}/$@ && touch ${srcdir}/$@ glib-gtypes-generator.py: libglibcodegen.py $(AM_V_GEN)test -e ${srcdir}/$@ && touch ${srcdir}/$@ -glib-signals-marshal-gen.py: libglibcodegen.py - $(AM_V_GEN)test -e ${srcdir}/$@ && touch ${srcdir}/$@ TELEPATHY_GLIB_SRCDIR = $(top_srcdir)/../telepathy-glib maintainer-update-from-telepathy-glib: diff --git a/tools/glib-signals-marshal-gen.py b/tools/glib-signals-marshal-gen.py deleted file mode 100644 index 0d02c134..00000000 --- a/tools/glib-signals-marshal-gen.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/python - -import sys -import xml.dom.minidom -from string import ascii_letters, digits - - -from libglibcodegen import signal_to_marshal_name, method_to_glue_marshal_name - - -class Generator(object): - - def __init__(self, dom): - self.dom = dom - self.marshallers = {} - - def do_method(self, method): - marshaller = method_to_glue_marshal_name(method, 'PREFIX') - - assert '__' in marshaller - rhs = marshaller.split('__', 1)[1].split('_') - - self.marshallers[marshaller] = rhs - - def do_signal(self, signal): - marshaller = signal_to_marshal_name(signal, 'PREFIX') - - assert '__' in marshaller - rhs = marshaller.split('__', 1)[1].split('_') - - self.marshallers[marshaller] = rhs - - def __call__(self): - methods = self.dom.getElementsByTagName('method') - - for method in methods: - self.do_method(method) - - signals = self.dom.getElementsByTagName('signal') - - for signal in signals: - self.do_signal(signal) - - all = self.marshallers.keys() - all.sort() - for marshaller in all: - rhs = self.marshallers[marshaller] - if not marshaller.startswith('g_cclosure'): - print 'VOID:' + ','.join(rhs) - -if __name__ == '__main__': - argv = sys.argv[1:] - dom = xml.dom.minidom.parse(argv[0]) - - Generator(dom)() -- cgit v1.2.1 From dcfefa39427f433d7ea499d25be6bd242ee0b1b5 Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 15:35:44 +0300 Subject: Tools: Remove unused gquark-gen.py --- tools/Makefile.am | 1 - tools/gquark-gen.py | 135 ---------------------------------------------------- 2 files changed, 136 deletions(-) delete mode 100644 tools/gquark-gen.py diff --git a/tools/Makefile.am b/tools/Makefile.am index b5fa3273..a6db81e3 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -9,7 +9,6 @@ EXTRA_DIST = \ glib-interfaces-body-generator.xsl \ glib-ginterface-gen.py \ glib-gtypes-generator.py \ - gquark-gen.py \ identity.xsl \ lcov.am \ libtpcodegen.py \ diff --git a/tools/gquark-gen.py b/tools/gquark-gen.py deleted file mode 100644 index 37d19e07..00000000 --- a/tools/gquark-gen.py +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/python - -# glib-client-gen.py: "I Can't Believe It's Not dbus-binding-tool" -# -# Generate GLib client wrappers from the Telepathy specification. -# The master copy of this program is in the telepathy-glib repository - -# please make any changes there. -# -# Copyright (C) 2006-2008 Collabora Ltd. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -import sys -import os.path -from getopt import gnu_getopt - -from libglibcodegen import Signature, type_to_gtype, cmp_by_name, get_docstring - -def camelcase_to_lower(s): - out =""; - out += s[0].lower() - last_upper=False - if s[0].isupper(): - last_upper=True - for i in range(1,len(s)): - if s[i].isupper(): - if last_upper: - if (i+1) < len(s) and s[i+1].islower(): - out += "_" + s[i].lower() - else: - out += s[i].lower() - else: - out += "_" + s[i].lower() - last_upper=True - else: - out += s[i] - last_upper=False - return out - - -NS_TP = "http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" - -class Generator(object): - - def __init__(self, quark_list, prefix, basename, opts): - self.__header = [] - self.__body = [] - - self.prefix_lc = prefix.lower() - self.prefix_uc = prefix.upper() - self.basename = basename - self.quark_prefix = opts.get('--quark-prefix', None) - - self.quark_list = [ l.split(None, 2) for l in quark_list ] - - - def h(self, s): - self.__header.append(s) - - def b(self, s): - self.__body.append(s) - - def do_quark(self, quark): - (qname, qstring) = quark - - self.b('GQuark') - self.b('%s_%s (void)' - % (self.prefix_lc, qname.lower())) - self.b('{') - self.b(' static GQuark quark = 0;') - self.b('') - self.b(' if (G_UNLIKELY (quark == 0))') - self.b(' quark = g_quark_from_static_string ("%s");' - % (qstring, )) - self.b(' return quark;') - self.b('}') - self.b('') - self.b('') - - self.h('#define %s_%s %s_%s()' % - (self.prefix_uc, qname.upper(), - self.prefix_lc, qname.lower())) - self.h('GQuark %s_%s(void);' % (self.prefix_lc, qname.lower())) - self.h('') - - def __call__(self): - - self.b('#include "%s.h"' % (self.basename)) - self.b('') - - self.h('#include ') - self.h('') - self.h('G_BEGIN_DECLS') - self.h('') - - for quark in self.quark_list: - self.do_quark(quark) - - - self.h('G_END_DECLS') - self.h('') - - open(self.basename + '.h', 'w').write('\n'.join(self.__header)) - open(self.basename + '.c', 'w').write('\n'.join(self.__body)) - - -def types_to_gtypes(types): - return [type_to_gtype(t)[1] for t in types] - - -if __name__ == '__main__': - options, argv = gnu_getopt(sys.argv[1:], '', - ['quark-prefix=']) - - opts = {} - - for option, value in options: - opts[option] = value - - quark_list_file = file(argv[0]) - quark_list = quark_list_file.readlines() - quark_list_file.close() - Generator(quark_list, argv[1], argv[2], opts)() -- cgit v1.2.1 From e3eb6c5a7a374667b2a57f517d449a7d48f56c0a Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 15:46:16 +0300 Subject: Port make-release-mail.py to Python 3 --- tools/make-release-mail.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/make-release-mail.py b/tools/make-release-mail.py index b03ebd25..33438382 100644 --- a/tools/make-release-mail.py +++ b/tools/make-release-mail.py @@ -28,8 +28,8 @@ def extract_description(package, version, news_path): break # Skip the ====== line, and the first blank line - lines.next() - lines.next() + next(lines) + next(lines) got_release_name = False @@ -59,7 +59,7 @@ GIT_URL = 'http://cgit.freedesktop.org/telepathy' def main(package, version, news_path): release_name, details = extract_description(package, version, news_path) - print """ + print(""" %(release_name)s tarball: %(base_url)s/%(package)s/%(package)s-%(version)s.tar.gz @@ -73,14 +73,14 @@ git: %(git_url)s/%(package)s 'version': version, 'release_name': release_name, 'details': details, - } + }) if __name__ == '__main__': try: package, version, news_path = sys.argv[1:] main(package, version, news_path) - except ValueError, e: + except ValueError as e: sys.stderr.write( 'Usage: %s package-name package.version.number path/to/NEWS\n' % sys.argv[0]) -- cgit v1.2.1 From 5de9c50b0353f10b2fd7b1a6980c37bd7cb1b4dc Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Sun, 15 Sep 2019 13:24:47 +0300 Subject: 5.16.5 --- NEWS | 17 +++++++++++++++++ configure.ac | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 7596c731..0ecad85a 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,20 @@ +telepathy-mission-control 5.16.5 (2019-09-15) +============================================= + +The "magic number three" release. + +Enhancements: + +• Port build tools to Python 3 + +Fixes: + +• Fix memory leak in get_parameter_of_known_type() (Slava Monich) +• Fix autoconnection of accounts with always_dispatch=true (Martin Klapetek) +• Fix crash on any of the active connection managers disappears + from dbus (Tiago Salem Herrmann) + + telepathy-mission-control 5.16.4 (2016-09-02) ============================================= diff --git a/configure.ac b/configure.ac index cf9d290f..4289f333 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Set the version number to e.g. 5.x.y immediately before a release. dnl Set the version number to e.g. 5.x.y+ immediately after (this will dnl enable -Werror). -AC_INIT([telepathy-mission-control], [5.16.4+]) +AC_INIT([telepathy-mission-control], [5.16.5]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) -- cgit v1.2.1