GNOME Bugzilla – Bug 699492
Move the account widget code to a git submodule
Last modified: 2013-08-20 11:23:13 UTC
To be able to configure accounts in GOA we need to split the account widgets into a separate git submodule/subtree. This will be usable by both empathy-accounts and GOA.
After fixing #697340, we will be left with a few other uses of Empathy's stuff, mainly utility functions. I'm not sure what to do for those and I think that the solution may be different for different functions. The complete list is: * empathy_make_color_whiter (quite simple, it could be duplicated) * empathy_connect_new_account (I would put this in tp-account-widgets as it's still related to accounts) * empathy_builder_connect * empathy_protocol_name_to_display_name * empathy_implement_finish_return_pointer (we could just duplicate this) * empathy_implement_finish_void (we could just duplicate this) * empathy_get_toplevel_window (we could duplicate this, but I don't understand why it's needed) * empathy_window_present_with_time (is it needed? it's used for the IRC network chooser) * EmpathyLiveSearch (this is big, maybe it could be added to libgd) * empathy_xml_validate_from_resource * empathy_protocol_icon_name * empathy_account_has_uri_scheme_tel * empathy_presence_get_default_message * EmpathyPresenceManager * EmpathyConnectionManagers Ideas?
(In reply to comment #1) > After fixing #697340, we will be left with a few other uses of Empathy's stuff, > mainly utility functions. I'm not sure what to do for those and I think that > the solution may be different for different functions. I think first we should consider the the 'account' related functions which definitely belong to the submodule: > * empathy_connect_new_account > * empathy_protocol_name_to_display_name > * empathy_protocol_icon_name > * empathy_presence_get_default_message > * empathy_account_has_uri_scheme_tel This one could be replaced by a tp-glib function: gboolean tp_account_has_uri_schemes (TpAccount *self, const gchar *scheme); The other ones are more tricky: > * empathy_make_color_whiter (quite simple, it could be duplicated) > still related to accounts) agreed. > * empathy_implement_finish_return_pointer (we could just duplicate this) > * empathy_implement_finish_void (we could just duplicate this) Ideally I would have like to have those in GLib but it's not going to happen (bug #674206) so yeah duplicate. > * empathy_get_toplevel_window (we could duplicate this, but I don't understand > why it's needed) Humm me neither, I suspect it's a legacy from Gossip. Xavier? > * empathy_window_present_with_time (is it needed? it's used for the IRC network > chooser) Is it? It doesn't seem to be used here. > * empathy_builder_connect > * empathy_xml_validate_from_resource In a perfect world those should be part of a lower level lib (GLib, Gtk+...) but just duplicate those. > * EmpathyLiveSearch (this is big, maybe it could be added to libgd) Xavier tried to push this to Gtk+ (bug #621393) but it didn't get very far. :\ > * EmpathyPresenceManager Looks like it's just used by account-settings to call empathy_presence_manager_get_requested_presence(). Can't we just use tp_account_get_requested_presence() instead? Or actually is this really needed? Won't empathy_connect_new_account() do this as well? Keep in mind that most of this code has evolved a lot over years, so some simplification/cleaning should definitely be doable. > * EmpathyConnectionManagers Ideally this should be replaced by tp-glib API, I think.
What's the best name for this submodule? Emanuele proposed telepathy-account-widgets and the directory name he created is tp-account-widgets. Opinions? (In reply to comment #2) > > * empathy_window_present_with_time (is it needed? it's used for the IRC network > > chooser) > > Is it? It doesn't seem to be used here. Sorry, it just uses empathy_window_present(). > > * EmpathyLiveSearch (this is big, maybe it could be added to libgd) > > Xavier tried to push this to Gtk+ (bug #621393) but it didn't get very far. :\ Should I just copy it? Maybe we should investigate on whether it's possible to move it to libgd (that seems to be the new libegg). > > * EmpathyPresenceManager > > Looks like it's just used by account-settings to call > empathy_presence_manager_get_requested_presence(). Can't we just use > tp_account_get_requested_presence() instead? > > Or actually is this really needed? Won't empathy_connect_new_account() do this > as well? tp_account_get_requested_presence() is a bit different. The existing function in empathy is more similar to tp_account_manager_get_most_available_presence(), but the most available presence is different from the requested presence in Empathy. empathy_account_settings_do_create_account() sets the requested presence based on Empathy's global requested presence. When the account is created and configured, empathy_connect_new_account() is called. This function sets the presence of the new account to the most available presence (from tp_account_manager_get_most_available_presence()), but only if the current requested presence is offline, unknown or unset. Suppose we have a protocol that only supports offline and available. If we try to set busy in empathy, the most available presence will be available, but the requested one would be busy. Would it be a problem if we set the new account's presence to available instead of busy? If it is we cannot just get rid of this function. > > * EmpathyConnectionManagers > > Ideally this should be replaced by tp-glib API, I think. I'm not sure how useful for tp-glib this is, unless we change it a bit. In particular there is no guarantee that the list will be updated when the object is used. EmpathyConnectionManagers has two functions, to get a list of TpConnectionManager objects and to get a single TpConnectionManager from its name. The account widgets need this EmpathyConnectionManagers only for the latter. I'm not sure what to do, maybe we could just copy the class (it's not trivial, but still quite easy).
(In reply to comment #2) > (In reply to comment #1) > > * empathy_implement_finish_return_pointer (we could just duplicate this) > > * empathy_implement_finish_void (we could just duplicate this) > > Ideally I would have like to have those in GLib but it's not going to happen > (bug #674206) so yeah duplicate. If we depend on glib 2.36 we can use GTask, finish functions are nicer there. > > * empathy_get_toplevel_window (we could duplicate this, but I don't understand > > why it's needed) > > Humm me neither, I suspect it's a legacy from Gossip. Xavier? It returns the GtkWindow where a widget is packed. It is used in a few places. For example the irc network chooser widget needs to popup a window attached to the window the chooser is packed in (transient-for). See gtk_widget_get_toplevel() for the reason the extra check is needed. Maybe it can be inlined where it is used... > > * empathy_window_present_with_time (is it needed? it's used for the IRC network > > chooser) > > Is it? It doesn't seem to be used here. empathy_window_present() is extra tricks over gtk_window_present() to move the window to the current workspace instead of moving the workspace to the window... I think nowadays GNOME3 designers think the former is evil...
Created attachment 244014 [details] [review] accounts-dialog: Include the proper account-widget header
Created attachment 244015 [details] [review] tp-account-widgets: Move account widgets code in the tp-account-widgets subdir Start moving the account widgets code in a subdir before fully isolating it and stubbing it out in a submodule.
Created attachment 244016 [details] [review] tp-account-widgets: Move the IRC support sources with the account widget To handle different networks and servers the IRC account widget uses many helper object and functions. Move them close to the IRC account widget sources.
Created attachment 244017 [details] [review] tp-account-widgets: Move the IRC network list with the related sources
Created attachment 244018 [details] [review] tp-account-widgets: Switch the symbols namespace to tpaw The file names have been kept unchanged to keep the diff simple and will be updated later. This makes easier to spot where the account widgets still rely on libempathy.
Created attachment 244019 [details] [review] tp-account-widgets: rename all the files from empathy-* to tpaw-*
Created attachment 244020 [details] [review] tp-account-widgets: refer to the right renamed files
Created attachment 244021 [details] [review] account-settings: move from Empathy to tp-account-widgets
Created attachment 244022 [details] [review] account-settings: fix a reference to empathy-account-widget.c
Created attachment 244023 [details] [review] connection-managers: move from Empathy to tp-account-widgets
Created attachment 244024 [details] [review] base-keyring: move from Empathy to tp-account-widgets
Created attachment 244025 [details] [review] base-keyring: explain why the schema name still contains “Empathy”
Created attachment 244026 [details] [review] tpaw-utils: add stub for files with misc utility functions
Created attachment 244027 [details] [review] tpaw-utils: move empathy_connect_new_account to tp-aw and rename it This commit also changes the licence of the moved code (all copyrighted by Collabora Ltd.) from GPL to LGPL.
Created attachment 244028 [details] [review] tpaw-utils: move functions for protocol and service display information The following functions were moved from empathy to tp-aw and renamed accordingly: * empathy_protocol_icon_name; * empathy_protocol_name_to_display_name; * empathy_service_name_to_display_name. This commit also changes the licence of the moved code (all copyrighted by Collabora Ltd.) from GPL to LGPL.
Created attachment 244029 [details] [review] individual-menu: use TpAccount's functions for schemes instead of Empathy's
Created attachment 244030 [details] [review] account-settings: use TpAccount's functions for schemes instead of Empathy's
Created attachment 244031 [details] [review] utils: remove empathy_account_has_uri_scheme_tel()
Created attachment 244032 [details] [review] tpaw-utils: copy empathy_make_color_whiter() This commit also changes the licence of the moved code from GPL to LGPL. The original code was written by Vitaly Minko and then modified by Collabora employees. Vitaly agreed with the relicensing, see the following email: Date: Thu, 9 May 2013 13:29:23 +0400 From: Vitaly Minko <vitaly.minko@gmail.com> To: Marco Barisione <marco.barisione@collabora.co.uk> Subject: Re: Relicensing some Empathy code to LGPL Message-ID: <20130509132923.276ac03b@x200.localdomain> In-Reply-To: <1367936268.5408.5.camel@carbonara> References: <1367936268.5408.5.camel@carbonara> X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.16; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dear Marco, I'm perfectly fine with relicencing this code snippet to LGPL. Best regards, Vitaly On Tue, 07 May 2013 15:17:48 +0100 Marco Barisione <marco.barisione@collabora.co.uk> wrote: > Hi Vitaly, > > I'm writing you about some code you wrote for Empathy a few years ago > to fix https://bugzilla.gnome.org/show_bug.cgi?id=629261 > I'm trying to split some code used for account creation out of > empathy, so that it can be used in gnome-online-accounts. One of the > functions I need was originally written by you and then modified by > Guillaume over the years, see > https://git.gnome.org/browse/empathy/tree/libempathy-gtk/empathy-ui-utils.c#n1360 > for the most recent version of the function. > > The problem here is that Empathy is under GPL, while > gnome-online-accounts is under LGPL. Can I please relicence that > small snippet of code to LGPL? > > Thank you! >
Created attachment 244033 [details] [review] account-settings: don't set the presence on newly created accounts What happened before this patch was: 1) tpaw_account_settings_do_create_account() sets the requested presence to the global requested presence in Empathy; 2) If the requested presence is unset, unknown or offline, empathy_connect_new_account() sets it to available; 3) Every process with a TpAccountManager object in memory that was previously used to set the requested presence will try to set the presence on the new account. The first step is a problem as it doesn't work if the account is created by a process that is not Empathy as the other processes have no way of knowing what Empathy's requested presence is. This doesn't matter as, in the third step, both Empathy and gnome-shell (and any other process using a TpAccountManager) will try to set the presence to their own idea of the current requested presence. Of course this is a race condition, see [1], but the behaviour is not changed by this patch. In case there is no process using a TpAccountManager, the second step will still guarantee that the newly created account goes online. [1] https://bugs.freedesktop.org/show_bug.cgi?id=24104
Created attachment 244034 [details] [review] live-search: move from Empathy to tp-account-widgets
Created attachment 244035 [details] [review] builder: add stub header and source file for tpaw_builder_* functions
Created attachment 244036 [details] [review] TMP! builder: change the licence to GPL. NOT READY FOR MERGE! The code that is going to be in these files is under GPL. At a later stage I will ask for relicensing of this code and this commit will be deleted == NOT READY FOR MERGE ==
Created attachment 244037 [details] [review] builder: move empathy_builder_* from Empathy to tp-account-widgets NOT READY FOR MERGE! XXX: Here we should also mention the relicencing of this code when we get permission to relicense it. == NOT READY FOR MERGE ==
Created attachment 244039 [details] [review] tpaw-utils: copy empathy_implement_finish_* from Empathy and use them All the code was initially written for wocky that is under LGPL.
Created attachment 244040 [details] [review] tpaw-utils: move empathy_get_toplevel_window to tp-aw and rename it NOT READY FOR MERGE! This commit also changes the licence of the moved code from GPL to LGPL. The original function was written by Xavier Claessens before joining Collabora and he gave me permission to relicence the code. The remaining code was written by Collabora employees. == NOT READY FOR MERGE! == Xavier agreed on IRC. Email him and include his answer in tghe repository.
Created attachment 244041 [details] [review] tpaw-utils: move empathy_window_present* to tp-aw and rename it NOT READY FOR MERGE! == NOT READY FOR MERGE! == This patch introduces GPL code into a supposedly LGPL file. Copyright (C) 2007-2013 Collabora Ltd. Copyright (C) 2005-2006 Imendio AB Copyright (C) 2009 Steve Frécinaux <code@istique.net> The commits containing code written by Steve are: - 9600d59c5317b692e3549e0bcc293607cda5fb4e - ff5b9397a4a2ca0e1b918b196cc14f9c6634d013
Created attachment 244042 [details] [review] tpaw-utils: move empathy_xml_validate_from_resource to tp-aw and rename it This commit also changes the licence of the moved code (all copyrighted by Collabora Ltd.) from GPL to LGPL.
Created attachment 244043 [details] [review] tpaw-utils: add TPAW_STR_EMPTY
Created attachment 244044 [details] [review] tpaw-utils: copy EMPATHY_GET_PRIV from empathy-utils.h This commit also changes the licence of the copied code (all copyrighted by Collabora Ltd.) from GPL to LGPL.
Created attachment 244045 [details] [review] tpaw-debug: copy from Empathy This commit just copies the files and renames the function. tp-account-widget's debugging stuff is not functional yet.
Created attachment 244046 [details] [review] tpaw-debug: don't set tp-glib's debug flags, Empathy does that
Created attachment 244047 [details] [review] debug: set tp-account-widgets's debug flags
Created attachment 244048 [details] [review] tp-account-widgets: use TpAW's debugging functions instead of Empathy's
Created attachment 244049 [details] [review] tpaw-debug: remove unused debug keys
Created attachment 244050 [details] [review] debug: remove EMPATHY_DEBUG_IRC as it's not needed any more
Created attachment 244051 [details] [review] tpaw-utils: move ACCOUNT_WIDGETS_RESOURCES_PREFIX from Empathy
Created attachment 244052 [details] [review] tpaw-utils: add the TPAW namespace to ACCOUNT_WIDGETS_RESOURCES_PREFIX
Created attachment 244053 [details] [review] irc-network-dialog: include stdlib.h needed for strtoul
Created attachment 244054 [details] [review] tp-account-widgets: use g_strcmp0 instead of strcmp There was no bug in this code, but I noticed the usage of strcmp because of compilation errors caused by some changes to the includes. g_strcmp0 is safer as it handles NULLs.
Created attachment 244055 [details] [review] tp-account-widgets: don't include empathy(-ui)-utils.h
Created attachment 244056 [details] [review] tp-account-widgets/Makefile.am: remove Empathy's include paths tp-account-widgets doesn't depend on Empathy headers any more!
These patches are my first attempt at making the account code independent from the rest of empathy. Empathy seems to work fine, but I haven't tried the Ubuntu online account part yet as I don't use Ubuntu. Note that tp-account-widgets should be LGPL, but there is GPL code in it. I will email the various authors and get their authorisation to relicence the code. The git branch is available at http://cgit.collabora.com/git/user/bari/empathy.git/log/ Note that these patches require the patches from bug #697340.
Created attachment 244790 [details] [review] Add telepathy-account-widgets submodule
Created attachment 244791 [details] [review] Use the telepathy-account-widgets submodule instead of the internal copy
Created attachment 244792 [details] [review] tp-account-widgets: remove internal copy
The last 3 patches just replace the internal copy of tp-aw with the submodule. The next few patches are going to be for the separate tp-aw repository. See http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
Created attachment 244793 [details] [review] configure.ac: fix to refer to tpaw instead of empathy
Created attachment 244794 [details] [review] Makefile.am: don't compile code not related to tpaw
Created attachment 244795 [details] [review] Don't use egg-list-box
Created attachment 244796 [details] [review] m4: remove macros we don't need any more
Created attachment 244797 [details] [review] m4: rename valgrind macro names and files (empathy → tpaw)
Created attachment 244798 [details] [review] configure.ac: remove useless dependencies
Created attachment 244799 [details] [review] NEWS: nothing to see here
Created attachment 244800 [details] [review] README: nothing to see here (for now)
Created attachment 244801 [details] [review] autogen.sh: s/Empathy/telepathy-account-widgets/
I cannot attach http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=d44ea055cf786493d2029902121b88a7c2893cb1 as it's apparently too big (?!).
Created attachment 244803 [details] [review] telepathy-account-widgets.doap: rename from empathy.doap
Created attachment 244804 [details] [review] telepathy-accounts-widgets.doap: update name and description
Created attachment 244805 [details] [review] Add myself to the maintainers
Created attachment 244806 [details] [review] release.py: remove, we are not going to release this as a separate lib
Created attachment 244807 [details] [review] configure.ac: remove versioning stuff we don't need
Created attachment 244808 [details] [review] configure.ac: change the PKG_CHECK_MODULES prefix from EMPATHY to TPAW
Created attachment 244809 [details] [review] Makefile.am: don't generate a ChangeLog, it's not useful for a submodule
Created attachment 244810 [details] [review] INSTALL: this is a submodule and not supposed to be installed
Created attachment 244811 [details] [review] Makefile.am: we don't use scroll keeper
Created attachment 244812 [details] [review] Makefile.am: no need for GSettings related options
Created attachment 244813 [details] [review] empathy-env.in: delete
Created attachment 244814 [details] [review] totem-submodule-encoding: remove trailing whitespaces
Created attachment 244815 [details] [review] irc-network-chooser-dialog: style fix (remove a TAB)
Created attachment 244816 [details] [review] check-whitespace.sh: enable the TAB checking again
Created attachment 244817 [details] [review] tp-accounts-widgets/Makefile.am: fix the log domain
Created attachment 244818 [details] [review] tp-account-widgets/Makefile.am: make tp-account-widgets a noinst library
Created attachment 244819 [details] [review] Add a pkg-config file
Created attachment 244820 [details] [review] autogen.sh: add --no-configure support
Created attachment 244821 [details] [review] debug.c: make the private variable flag_to_keys static
I got permission to relicense the code by all the contributors and pushed the updated branches. It's quite a few patches and it's a bit confusing if I keep uploading the here; if it's ok for you I will not attach the patches but just link you to the git branches. Branch shared by both empathy and tp-aw moving the code around: http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor Empathy branch the uses the submodule: http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule Tp-aw: http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
I just reviewed tpaw-empathy-common-ancestor (not keyring). The branch doesn't pass 'make check': making check in tp-account-widgets ./totem-subtitle-encoding.c:1:/* ./totem-subtitle-encoding.h:1:/* ^^^ The above files contain unwanted trailing spaces ./totem-subtitle-encoding.c:500: label = g_strdup_printf("%s (%s)", lastlang, encodings[i].charset); ./totem-subtitle-encoding.c:504: g_free(label); ^^^ Our coding style is to use function calls like foo (), not foo() ./tpaw-utils.h:46:#define TPAW_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv) ^^^ Our coding style is to have a space between a cast and the thing being cast ./tpaw-utils.h:46:#define TPAW_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv) ^^^ Our coding style is to have a space before the * of pointer types (regex 1) Making check in tools Making check in extensions Making check in po make[1]: *** No rule to make target `../libempathy/empathy-base-keyring.c', needed by `empathy.pot'. Stop. ... neither 'make distcheck': ../../tp-account-widgets/tpaw-account-settings.c:24:43: fatal error: tp-account-widgets/tpaw-utils.h: No such file or directory http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=3f3151c5f19bbf9b0bdf96549e4f3850a760aa28 You can remove empathy_implement_finish_return_pointer and friends from libempathy/empathy-utils.h, there is no point keeping 2 implementations around. Or did you intend to? http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=f6bcfbe0a54ff6030f069d7b86cf14867a0c1ad0 Same question, why keep EMP_STR_EMPTY? I wish bug #399880 wouldn't have been WONTFIXed... http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=5ff5a02bf09020936541bf00a1abf04fe2241961 I'd drop this macro completly and use the new "self->priv->" pattern used in newer files. I know it's not a very exicting change to do but there are not much files to edit so...
Also, how do you handle translations now? POTFILES.in hasn't been updated.
Review of http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/ "make check" doesn't pass: make[1]: *** No rule to make target `../data/empathy.desktop.in.in', needed by `tpaw.pot'. Stop. ...neither does "make distcheck": ../../tp-account-widgets/tpaw-account-settings.c:24:43: fatal error: tp-account-widgets/tpaw-utils.h: No such file or directory Except these 2 issues and the translation problem it looks good to me. Nice job splitting things nicely in small commits!
(In reply to comment #82) > http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=3f3151c5f19bbf9b0bdf96549e4f3850a760aa28 > You can remove empathy_implement_finish_return_pointer and friends from > libempathy/empathy-utils.h, there is no point keeping 2 implementations around. > Or did you intend to? I originally tried to avoid making Empathy use utility functions from the submodule to keep the contact surface as small as possible. In this particular case the macros are just working around GSimpleAsyncResult's complex API: I'd then avoid having Empathy depend on those as in this case they would still need to be provided even after porting the submodule to GTask.
More stuff to review :) I did everything you asked, moved other stuff I needed to tp-aw and fixed a few bugs. Note that I still need to relicense a couple of files, but I'm still waiting for a reply by one contributor. I will fix those patches later, but they are not going to affect the code, so you can start to review if you want. Branch shared by both empathy and tp-aw moving the code around: http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor Empathy branch the uses the submodule: http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule Tp-aw: http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/
We should make sure to merge all this before the beta Freeze (19th Aug) if we want it in 3.10. (In reply to comment #86) > Branch shared by both empathy and tp-aw moving the code around: > http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=tpaw-empathy-common-ancestor tpaw-protocol.c:531:242: error: return makes integer from pointer without a cast [-Werror] "make distcheck" doesn't pass http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=tpaw-empathy-common-ancestor&id=06847c2fe834dfe6dfd251326976280d8cc0d4b9 + g_object_ref (self->priv->action_area); shouldn't we use ref_sink? + self->priv->action_area = g_value_dup_object (value); same here; not ref_sink? Be extra carreful when reffing GtkWidget it can easily be nasty.
(In reply to comment #86) > Empathy branch the uses the submodule: > http://cgit.collabora.com/git/user/bari/empathy.git/log/?h=accounts-submodule http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=beec16bcdf3964d665330a1d86a847bcdd7a6bab + url = git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git Should be changed to git.gnome.org before merging ideally. http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=81ddee8a204df94be77160c11ae6e18e2d88bf42 Why is this needed? Which ressources are used by the submodule but shipped by Empathy? tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish': tpaw-protocol.c:532:253: error: return makes integer from pointer without a cast [-Werror] Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal warnings when building the submodule.
(In reply to comment #86) > Tp-aw: > http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/log/ tpaw-protocol.c:532:385: error: return makes integer from pointer without a cast [-Werror] Does it 'dist check'? http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241 tpaw_released can't be defined in configure.ac but it's used. http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=734744122b539c18f722ad73112aeaae0501113b This really makes me cry... Once merged, please send an email to the translators list explaining all this mess.
(In reply to comment #88) > + url = > git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git > Should be changed to git.gnome.org before merging ideally. Yep, I will do it when ready to merge. > http://cgit.collabora.com/git/user/bari/empathy.git/commit/?h=accounts-submodule&id=81ddee8a204df94be77160c11ae6e18e2d88bf42 > > Why is this needed? Which ressources are used by the submodule but shipped by > Empathy? If the icons are installed in /usr/share/telepathy-account-widgets then you end up with two modules (Empathy and GOA) shipping the same files in the same path. > tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish': > tpaw-protocol.c:532:253: error: return makes integer from pointer without a > cast [-Werror] I will fix it (why don't I get this and make distcheck passes for me?). > Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal > warnings when building the submodule. Hm, how should I handle this? (In reply to comment #87) > We should make sure to merge all this before the beta Freeze (19th Aug) if we > want it in 3.10. I don't think this is going to happen as I don't think that the GOA part will be integrated by then. > (In reply to comment #86) > tpaw-protocol.c:531:242: error: return makes integer from pointer without a > cast [-Werror] I will fix this. > + g_object_ref (self->priv->action_area); > shouldn't we use ref_sink? > > + self->priv->action_area = g_value_dup_object (value); > same here; not ref_sink? Yeah, I forgot. (In reply to comment #89) > http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241 > tpaw_released can't be defined in configure.ac but it's used. I will look at this. > http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=734744122b539c18f722ad73112aeaae0501113b > > This really makes me cry... > Once merged, please send an email to the translators list explaining all this > mess. Yeah, I will. Note that I only removed 14 strings, so it's not too bad.
(In reply to comment #90) > (In reply to comment #88) > > + url = > > git://git.collabora.co.uk/git/user/bari/telepathy-account-widgets.git > > Should be changed to git.gnome.org before merging ideally. > > Yep, I will do it when ready to merge. This is the only missing thing to do. > > tpaw-protocol.c: In function 'tpaw_protocol_get_all_finish': > > tpaw-protocol.c:532:253: error: return makes integer from pointer without a > > cast [-Werror] Fixed. > > Btw, setting empathy_released to 1 in configure.ac doesn't turn off fatal > > warnings when building the submodule. I added a configure argument to tp-aw. See http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=43785b51e9048d8fd6ab705235cf0f4e48685cfd and http://cgit.collabora.com/git/user/bari/empathy.git/commit/?id=98bc2c8a640d72a8cf9a6e12890b09d43c4a9d84 > > (In reply to comment #86) > > tpaw-protocol.c:531:242: error: return makes integer from pointer without a > > cast [-Werror] Fixed. > > + g_object_ref (self->priv->action_area); > > shouldn't we use ref_sink? > > > > + self->priv->action_area = g_value_dup_object (value); > > same here; not ref_sink? Fixed. > (In reply to comment #89) > > http://cgit.collabora.com/git/user/bari/telepathy-account-widgets.git/commit/?id=431b3bc892079cc624c2242c9b31ceb6925a0241 > > tpaw_released can't be defined in configure.ac but it's used. Fixed.
I forgot to mention one things. I tried to pay attention not to break Ubuntu's stuff while moving it around, but I couldn't try compiling it. I could install Ubuntu in a VM, but there are a lot of dependencies that I would need to compile too and we don't have much time if we want the GOA part in 3.10. Do you think I should try it on Ubuntu or could we wait for Xavier to be back from holidays?
The new module is on git.gnome.org, see https://git.gnome.org/browse/telepathy-account-widgets I pushed the changes to empathy too, the top commit is a5974320dc481846931f4bd24f279b7edea8b03b.