Bug 69822 - sync Gabble and MC servicetest, constants
Summary: sync Gabble and MC servicetest, constants
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: mission-control (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks: 69431 69854
  Show dependency treegraph
 
Reported: 2013-09-25 16:49 UTC by Simon McVittie
Modified: 2013-09-26 17:32 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
[Gabble master, 1/3] Add lots more constants, from Mission Control (6.19 KB, patch)
2013-09-25 17:29 UTC, Simon McVittie
Details | Splinter Review
[Gabble master, 2/3] servicetest: add infrastructure for faking D-Bus services, from MC (6.90 KB, patch)
2013-09-25 17:30 UTC, Simon McVittie
Details | Splinter Review
[Gabble master, 3/3] servicetest: simplify sync_dbus() to the version from MC (1.66 KB, patch)
2013-09-25 17:30 UTC, Simon McVittie
Details | Splinter Review
[MC master, 1/3] Include config.h in every .c file (again) (1.75 KB, patch)
2013-09-25 17:33 UTC, Simon McVittie
Details | Splinter Review
[MC master, 2/3] configure.ac: use AC_DEFINE instead of appending to CFLAGS (2.89 KB, patch)
2013-09-25 17:34 UTC, Simon McVittie
Details | Splinter Review
[MC master, 3/3] Sync servicetest, constants with the version merged into Gabble (90.98 KB, patch)
2013-09-25 17:35 UTC, Simon McVittie
Details | Splinter Review

Description Simon McVittie 2013-09-25 16:49:15 UTC
Mission Control contains a fork of servicetest with additional functionality. We should get Gabble and MC using the same version, then sync them from Gabble into all the other CMs.
Comment 1 Simon McVittie 2013-09-25 17:29:40 UTC
Created attachment 86579 [details] [review]
[Gabble master, 1/3] Add lots more constants, from Mission Control

I kept Gabble's naming where it conflicted, except for replacing
UNKNOWN_METHOD with DBUS_ERROR_UNKNOWN_METHOD which I think
is better.
Comment 2 Simon McVittie 2013-09-25 17:30:10 UTC
Created attachment 86580 [details] [review]
[Gabble master, 2/3] servicetest: add infrastructure for faking D-Bus  services, from MC

I accidentally a small Python D-Bus binding.
Comment 3 Simon McVittie 2013-09-25 17:30:30 UTC
Created attachment 86581 [details] [review]
[Gabble master, 3/3] servicetest: simplify sync_dbus() to the version from MC
Comment 4 Simon McVittie 2013-09-25 17:33:53 UTC
Created attachment 86582 [details] [review]
[MC master, 1/3] Include config.h in every .c file (again)

This is potentially important if config.h includes things that affect
compilation globally, like ENABLE_DEBUG, "#define inline __inline",
or GLib, Telepathy, etc. versioned deprecation macros.

<config.h> rather than "config.h" as recommended in the Autoconf manual.

---

Not really related to this but we have enough bug reports floating about already.
Comment 5 Simon McVittie 2013-09-25 17:34:19 UTC
Created attachment 86583 [details] [review]
[MC master, 2/3] configure.ac: use AC_DEFINE instead of appending to  CFLAGS

In build systems that put CFLAGS in an environment variable rather
than a configure command-line argument (e.g. RPM, I think?), what we
put in CFLAGS will potentially take precedence, and the external
build system's chosen CFLAGS won't necessarily be used. Meanwhile,
if the build system puts CFLAGS on the make command line, it will
take precedence: in particular, debug logging could be disabled, which
is bad for debuggability. If we move to AC_DEFINE, they'll interact
properly.

There is one remaining use of CFLAGS in configure.ac, for code
coverage. RPMs and other production-quality builds shouldn't have
coverage instrumentation, so this doesn't really conflict.

Also use AS_IF instead of if/fi, while I'm touching these lines anyway:
it's better Autoconf style.
Comment 6 Simon McVittie 2013-09-25 17:35:47 UTC
Created attachment 86584 [details] [review]
[MC master, 3/3] Sync servicetest, constants with the version merged into  Gabble

---

There's quite a diffstat here because I preferred the naming from Gabble, on the basis that that's what every other CM syncs with.

I think we should probably treat MC as the master copy in future: it's the one with the most complicated requirements.
Comment 7 Guillaume Desmottes 2013-09-26 09:28:46 UTC
Comment on attachment 86579 [details] [review]
[Gabble master, 1/3] Add lots more constants, from Mission Control

Review of attachment 86579 [details] [review]:
-----------------------------------------------------------------

++
Comment 8 Guillaume Desmottes 2013-09-26 09:30:22 UTC
Comment on attachment 86580 [details] [review]
[Gabble master, 2/3] servicetest: add infrastructure for faking D-Bus  services, from MC

Review of attachment 86580 [details] [review]:
-----------------------------------------------------------------

++ assuming it's existing code from MC
Comment 9 Guillaume Desmottes 2013-09-26 09:30:59 UTC
Comment on attachment 86581 [details] [review]
[Gabble master, 3/3] servicetest: simplify sync_dbus() to the version from MC

Review of attachment 86581 [details] [review]:
-----------------------------------------------------------------

++
Comment 10 Guillaume Desmottes 2013-09-26 09:32:16 UTC
Comment on attachment 86582 [details] [review]
[MC master, 1/3] Include config.h in every .c file (again)

Review of attachment 86582 [details] [review]:
-----------------------------------------------------------------

++

I always thought that "config.h" was the proper one. :(
Comment 11 Guillaume Desmottes 2013-09-26 09:32:50 UTC
Comment on attachment 86583 [details] [review]
[MC master, 2/3] configure.ac: use AC_DEFINE instead of appending to  CFLAGS

Review of attachment 86583 [details] [review]:
-----------------------------------------------------------------

++
Comment 12 Guillaume Desmottes 2013-09-26 09:33:21 UTC
Comment on attachment 86584 [details] [review]
[MC master, 3/3] Sync servicetest, constants with the version merged into  Gabble

Review of attachment 86584 [details] [review]:
-----------------------------------------------------------------

++
Comment 13 Guillaume Desmottes 2013-09-26 09:36:58 UTC
I sometimes wonder if it wouldn't be easier to have a 'common' submodule shared accross components (like GStreamer does) instead of copying those files manually.
Comment 14 Simon McVittie 2013-09-26 11:50:08 UTC
(In reply to comment #13)
> I sometimes wonder if it wouldn't be easier to have a 'common' submodule
> shared accross components (like GStreamer does) instead of copying those
> files manually.

Then we wouldn't have to copy files around \o/ but we'd have submodules /o\

Applying a patch to a submodule is annoying: you can't just "git format-patch" and use it in a distro, you have to sed all the filenames.

I'll send a mail to the Telepathy list at some point (later today?) with some thoughts about merging git repositories together, which will mitigate this.
Comment 15 Simon McVittie 2013-09-26 14:08:00 UTC
Fixed in git for Gabble 0.19.0, MC 5.17.0


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.