platform/upstream/folks.git
11 years agotesting: avoid false warning
Patrick Ohly [Mon, 25 Mar 2013 13:37:26 +0000 (14:37 +0100)]
testing: avoid false warning

When FOLKS_BACKEND_PATH is set to the build dirs during testing, the
"content type of '%s' appears to be '%s' which looks suspicious. Have
you installed shared-mime-info?" warning gets triggered repeatedly,
because these dirs contain all kinds of files (executables, compiler
dependency files, etc.) which are not expected in the normal install
location.

This is annoying when running a test with "make <test>.gdb" because
gdb stops on a glib trace point for each warning. Therefore disable
the warning when FOLKS_BACKEND_PATH is set. Extending the whitelist
has the drawback that it might not catch all files that can appear
there in the future.

11 years agotesting: do not require telepathy
Patrick Ohly [Mon, 25 Mar 2013 13:30:48 +0000 (14:30 +0100)]
testing: do not require telepathy

Previously, all testing was disabled when the Telepathy backend was
disabled. That is too strict. For example, the EDS backend tests can
work without it.

Only the core folks tests and of course the Telepathy tests depend on
the Telepathy backend and thus must be disabled when that backend is
disabled.

Adding the TP backend path to the FOLKS_BACKEND_PATH env variable
must be conditional, otherwise there are errors about not finding that
.so file when running the other tests.

11 years agoUpdated kn translations
Shankar Prasad [Mon, 25 Mar 2013 17:44:36 +0000 (23:14 +0530)]
Updated kn translations

11 years agoFix comment for get_built_test_data()
Simon McVittie [Wed, 20 Mar 2013 18:54:51 +0000 (18:54 +0000)]
Fix comment for get_built_test_data()

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=696104
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoUpdated Telugu Translations
Krishnababu Krothapalli [Mon, 25 Mar 2013 09:43:40 +0000 (15:13 +0530)]
Updated Telugu Translations

11 years agoCompleted for Malayalam
Ani Peter [Mon, 25 Mar 2013 05:28:42 +0000 (10:58 +0530)]
Completed  for Malayalam

11 years agoL10N: Updated Persian Translation
Arash Mousavi [Sat, 23 Mar 2013 15:22:34 +0000 (19:52 +0430)]
L10N: Updated Persian Translation

11 years agoUpdated Russian translation
Yuri Myasoedov [Sat, 23 Mar 2013 13:22:57 +0000 (17:22 +0400)]
Updated Russian translation

11 years agoUpdated Odia Language along with FUEL implementation
ManojKumar Giri [Fri, 22 Mar 2013 13:42:47 +0000 (19:12 +0530)]
Updated Odia Language along with FUEL implementation

11 years agoUpdated Marathi Translations
Sandeep Sheshrao Shedmake [Fri, 22 Mar 2013 10:34:09 +0000 (16:04 +0530)]
Updated Marathi Translations

11 years agoTamil Translations Updated
Shantha kumar [Fri, 22 Mar 2013 09:16:26 +0000 (14:46 +0530)]
Tamil Translations Updated

11 years agohindi translation
Rajesh Ranjan [Thu, 21 Mar 2013 07:52:03 +0000 (13:22 +0530)]
hindi translation

11 years agoAdd missing setlocale calls to helper binaries
Simon McVittie [Wed, 20 Mar 2013 18:37:54 +0000 (18:37 +0000)]
Add missing setlocale calls to helper binaries

11 years agoAdd a performance test for contacts in e-d-s
Simon McVittie [Mon, 18 Mar 2013 20:28:20 +0000 (20:28 +0000)]
Add a performance test for contacts in e-d-s

11 years agoeds test: add some helper programs for performance testing
Simon McVittie [Wed, 20 Mar 2013 16:42:35 +0000 (16:42 +0000)]
eds test: add some helper programs for performance testing

11 years agoSimplify tests that can time out
Simon McVittie [Wed, 20 Mar 2013 16:03:14 +0000 (16:03 +0000)]
Simplify tests that can time out

There are basically two patterns:

* something should stop the main loop within n seconds; if not, that's
  failure (this is now loop_run_with_timeout)
* run the main loop for n seconds, then check whether things we wanted
  to happen happened (this is now loop_run_with_non_fatal_timeout)

The latter is basically a bug in itself; I'm not going to fix that
right now, but I did mark it as deprecated.

In both cases, we want to adjust the timeout for running under Valgrind
or Callgrind, which makes everything slow.

11 years agobuild: ensure libtp-test-contactlist is built before its dependents
Travis Reitter [Wed, 20 Mar 2013 19:43:23 +0000 (12:43 -0700)]
build: ensure libtp-test-contactlist is built before its dependents

Autotools somehow wasn't picking up the dependencies correctly, so this
forces it to build the support library first.

As the comment says, there's probably a better fix but time is precious.

11 years agoNEWS for locale bits
Simon McVittie [Wed, 20 Mar 2013 16:59:03 +0000 (16:59 +0000)]
NEWS for locale bits

11 years agoTestCase: set locale from the environment
Simon McVittie [Wed, 20 Mar 2013 11:34:37 +0000 (11:34 +0000)]
TestCase: set locale from the environment

This fixes an annoyance I'd had for a while: UTF-8 arrows etc.
in debug messages came out as "?", because until we call setlocale()
we're in the C locale, whose character set is ASCII (and some layer
of library responds by transcoding our strings into ASCII).

With this change, running the tests in en_GB.UTF-8 results in
Unicode arrows and more comprehensible output.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=696179
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agofolks-inspect, folks-import: initialize localization from the environment
Simon McVittie [Wed, 20 Mar 2013 11:27:21 +0000 (11:27 +0000)]
folks-inspect, folks-import: initialize localization from the environment

Otherwise, $LANG etc. are ignored and we stay in the C locale.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=696179
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoUpdated Korean translation
Seong-ho Cho [Wed, 20 Mar 2013 15:02:03 +0000 (00:02 +0900)]
Updated Korean translation

11 years agoAdd support for running tests under callgrind as well as memcheck
Simon McVittie [Wed, 20 Mar 2013 13:41:23 +0000 (13:41 +0000)]
Add support for running tests under callgrind as well as memcheck

Bug https://bugzilla.gnome.org/show_bug.cgi?id=696104
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[... and document it in HACKING in response to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoEdsTest.Backend: add contacts as a batch, not one at a time
Simon McVittie [Fri, 15 Mar 2013 18:22:38 +0000 (18:22 +0000)]
EdsTest.Backend: add contacts as a batch, not one at a time

This should make it much quicker to add contacts in bulk.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=696104
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoEdsTest.Backend: use an array for contacts
Simon McVittie [Fri, 15 Mar 2013 18:15:59 +0000 (18:15 +0000)]
EdsTest.Backend: use an array for contacts

This means we don't have to worry about whether prepending is faster
than appending, or about Vala getting confused about ownership in
linked lists.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=696104
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoEdsTest.Backend: clear up more thoroughly after tests
Simon McVittie [Tue, 19 Mar 2013 14:22:04 +0000 (14:22 +0000)]
EdsTest.Backend: clear up more thoroughly after tests

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[redundant line removed in response to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoAdd infrastructure for finding test data files, and use it for avatars
Simon McVittie [Tue, 19 Mar 2013 17:06:03 +0000 (17:06 +0000)]
Add infrastructure for finding test data files, and use it for avatars

Again, I've speculatively added support for a FOLKS_TESTS_INSTALLED
variable, because one day I'd like "make installcheck" to work.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoSimplify how we get PACKAGE_DATADIR
Simon McVittie [Tue, 19 Mar 2013 16:55:44 +0000 (16:55 +0000)]
Simplify how we get PACKAGE_DATADIR

DATA_DIR and PACKAGE_DATADIR appear to have been intended to both be
${prefix}/share/folks, but due to a typo (sharedir vs. shareddir)
DATA_DIR was actually defined to an empty string. Neither is actually
used anywhere at the moment.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoNEWS: describe the change to tools' locale search path
Simon McVittie [Wed, 20 Mar 2013 10:51:08 +0000 (10:51 +0000)]
NEWS: describe the change to tools' locale search path

11 years agotools: use the right locale directory
Simon McVittie [Tue, 19 Mar 2013 16:53:36 +0000 (16:53 +0000)]
tools: use the right locale directory

I happened to notice that they're misusing $(pkgdatadir) - $(pkgdatadir)
is $(datadir)/$(PACKAGE), i.e. typically /usr/share/folks, but
localization is installed to $(localedir), typically /usr/share/locale.

This resulted in the tools looking in /opt/gnome-3.8/share/folks/locale
in my installation, instead of the correct /opt/gnome-3.8/share/locale.

11 years agoAdd infrastructure to run helper test binaries
Simon McVittie [Mon, 18 Mar 2013 19:34:17 +0000 (19:34 +0000)]
Add infrastructure to run helper test binaries

I've included basic infrastructure to run them from an installed
path instead of the builddir, because there seems to be considerable
interest in that at the moment.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[document capture_stdout in response to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoIn tests that do not rely on with-session-bus*.sh, use a transient $HOME
Simon McVittie [Tue, 19 Mar 2013 12:43:21 +0000 (12:43 +0000)]
In tests that do not rely on with-session-bus*.sh, use a transient $HOME

This is one more way in which we can avoid touching the user's
real files.

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[use "this." in response to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoRun Telepathy test cases under GTestDBus instead of with-session-bus.sh
Simon McVittie [Tue, 19 Mar 2013 12:25:42 +0000 (12:25 +0000)]
Run Telepathy test cases under GTestDBus instead of with-session-bus.sh

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoRun libsocialweb tests under GTestDBus instead of with-session-bus.sh
Simon McVittie [Tue, 19 Mar 2013 12:23:34 +0000 (12:23 +0000)]
Run libsocialweb tests under GTestDBus instead of with-session-bus.sh

Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoLibsocialwebTest.Backend: clean up object registrations in tear_down()
Simon McVittie [Tue, 19 Mar 2013 12:03:57 +0000 (12:03 +0000)]
LibsocialwebTest.Backend: clean up object registrations in tear_down()

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=690830
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[more comments in response to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoLibsocialwebTest: don't try to keep ownership of name through tear_down()
Simon McVittie [Fri, 15 Mar 2013 15:35:51 +0000 (15:35 +0000)]
LibsocialwebTest: don't try to keep ownership of name through tear_down()

This is a step towards replacing with-session-bus*.sh with GTestDBus,
which cleans up our D-Bus connection while the test is still running.
If we do that without this change, then the NameLost callback is triggered
when we get disconnected from D-Bus, causing an assertion failure.

This also should reduce circular references, by making sure closures
that contain "this" get cleaned up.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAdd infrastructure to run tests under GTestDBus
Simon McVittie [Wed, 20 Mar 2013 10:36:26 +0000 (10:36 +0000)]
Add infrastructure to run tests under GTestDBus

For now, all library TestCase subclasses except the one for key-files
override this back to "do nothing" and rely on being run under
with-session-bus.sh, because I haven't checked whether they survive
having the D-Bus session bus disconnected from under them.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=690830
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[added comments about the undesirable dbus-1 dependency -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years ago[l10n] Updated Italian translation.
Gianvito Cavasoli [Tue, 19 Mar 2013 21:58:10 +0000 (22:58 +0100)]
[l10n] Updated Italian translation.

11 years ago[l10n] Added Tadjik translation
Victor Ibragimov [Tue, 19 Mar 2013 21:33:55 +0000 (22:33 +0100)]
[l10n] Added Tadjik translation

11 years agoall Makefiles: don't ignore or clean .c files not corresponding to Vala
Simon McVittie [Mon, 18 Mar 2013 19:01:59 +0000 (19:01 +0000)]
all Makefiles: don't ignore or clean .c files not corresponding to Vala

This will become more important if we use C to implement fast-paths
and faster data structures.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoTestCase: avoid circular refs between GTest and this
Simon McVittie [Mon, 18 Mar 2013 19:00:43 +0000 (19:00 +0000)]
TestCase: avoid circular refs between GTest and this

Instead of running tests via the Adaptor inner class, run them via
a C helper that takes a weak ref to the TestCase. This relies on the
caller keeping a ref to the TestCase until after Test.run() - but I
recently converted the tests to do exactly that, so that's OK.

Adding a debug message which prints this.ref_count to final_tear_down()
reveals that some of our regression tests still leak the TestCase, but
many don't now.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAll tests: switch to a calling convention that does not rely on leaking
Simon McVittie [Mon, 18 Mar 2013 12:52:40 +0000 (12:52 +0000)]
All tests: switch to a calling convention that does not rely on leaking

The standard main() used in each test relied on the fact that
get_suite() kept a ref to the TestCase subclass instance, which would
be stored in the global variables of the GTest infrastructure,
resulting in the TestCase never being freed and its final_teardown()
never being executed.

That's undesirable if final_teardown() is going to do something
significant, like terminating a temporary session bus. As a first
step towards that, run the tests with the TestCase subclass instance
globally referenced (so that the version passed to GTest can eventually
be a weak reference), and explicitly run final_tear_down() so that
even if there is a ref leak (as there is now), it gets executed.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoFor symmetry, nullify sets in tear_down() if created in set_up()
Simon McVittie [Mon, 18 Mar 2013 12:36:18 +0000 (12:36 +0000)]
For symmetry, nullify sets in tear_down() if created in set_up()

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAssert that each D-Bus test case is run in its intended environment
Simon McVittie [Mon, 18 Mar 2013 19:10:57 +0000 (19:10 +0000)]
Assert that each D-Bus test case is run in its intended environment

This is a safety check so we don't trash the user's real home directory.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[added a comment as per pwithnall's review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoDocument recently-added TestCase subclasses
Simon McVittie [Mon, 18 Mar 2013 12:06:00 +0000 (12:06 +0000)]
Document recently-added TestCase subclasses

They currently assume that they will be wrapped in with-session-bus*.sh.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoLibsocialwebTest.TestCase: defer creation of lsw_backend until set_up()
Simon McVittie [Thu, 14 Mar 2013 15:50:06 +0000 (15:50 +0000)]
LibsocialwebTest.TestCase: defer creation of lsw_backend until set_up()

Also destroy it in tear_down(), for symmetry. Since there are only two
LSW test cases and neither of them has more than one test, we don't
need to worry much about compatibility - it's easy to check.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agotests: limit backends via the environment a bit more directly
Simon McVittie [Thu, 14 Mar 2013 15:48:26 +0000 (15:48 +0000)]
tests: limit backends via the environment a bit more directly

This makes it more obvious what's enabled and what isn't. We want to
make sure that only the intended backends are enabled, because those
are the ones for which we've done enough environmental setup
(D-Bus, etc.) to make sure they don't "leak out" into the user's
real data.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoMake EdsTest.TestCase.eds_backend nullable
Simon McVittie [Thu, 14 Mar 2013 14:53:13 +0000 (14:53 +0000)]
Make EdsTest.TestCase.eds_backend nullable

It's null outside the period from set_up() to tear_down().

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoReduce hard-coding of e-d-s address book names
Simon McVittie [Thu, 14 Mar 2013 14:40:14 +0000 (14:40 +0000)]
Reduce hard-coding of e-d-s address book names

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAdd subclasses for each category of TestCase
Simon McVittie [Mon, 18 Mar 2013 11:53:21 +0000 (11:53 +0000)]
Add subclasses for each category of TestCase

Move small amounts of initialization (just the low-hanging fruit)
into each subclass. Folks.TestCase is now reserved for tests that
don't need any backends or additional services at all.

In the process, make TpTestsBackend.tear_down() idempotent, so it's OK
if we call it repeatedly.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoUpdated Latvian translation
Rūdolfs Mazurs [Sun, 17 Mar 2013 18:26:33 +0000 (20:26 +0200)]
Updated Latvian translation

11 years agoUpdated Danish translation
Ask H. Larsen [Sun, 17 Mar 2013 07:26:21 +0000 (08:26 +0100)]
Updated Danish translation

11 years agoUpdated Hungarian translation
Balázs Úr [Fri, 15 Mar 2013 10:51:40 +0000 (11:51 +0100)]
Updated Hungarian translation

11 years agoUpdated Portuguese translation and converted to New Spelling (Novo AO)
Duarte Loreto [Fri, 15 Mar 2013 01:27:32 +0000 (01:27 +0000)]
Updated Portuguese translation and converted to New Spelling (Novo AO)

11 years ago[l10n] Updated Catalan (Valencian) translation
Carles Ferrando [Thu, 14 Mar 2013 23:24:19 +0000 (00:24 +0100)]
[l10n] Updated Catalan (Valencian) translation

11 years ago[l10n] Updated Catalan translation
Gil Forcada [Thu, 14 Mar 2013 23:24:17 +0000 (00:24 +0100)]
[l10n] Updated Catalan translation

11 years agoUpdated gujarati file
Sweta Kothari [Thu, 14 Mar 2013 06:09:57 +0000 (11:39 +0530)]
Updated gujarati file

11 years agoupdate NEWS
Simon McVittie [Wed, 13 Mar 2013 12:30:35 +0000 (12:30 +0000)]
update NEWS

11 years agoBackendStore: provide an easier way to limit backends via environment
Simon McVittie [Fri, 8 Mar 2013 15:02:25 +0000 (15:02 +0000)]
BackendStore: provide an easier way to limit backends via environment

If FOLKS_BACKENDS_ALLOWED is set, it's a space-, comma- or
colon-separated list of backends to allow, or "all". If unset, the
default is "all". Backends not in the list are disabled, even if the
keyfile says they ought to be enabled.

If FOLKS_BACKENDS_DISABLED is set, it's a space-, comma- or
colon-separated list of additional backends to disable.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695381
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoTestCase: fix indentation
Simon McVittie [Tue, 12 Mar 2013 14:33:06 +0000 (14:33 +0000)]
TestCase: fix indentation

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agocollection comparators: optimize the case of empty collections
Simon McVittie [Tue, 12 Mar 2013 15:27:32 +0000 (15:27 +0000)]
collection comparators: optimize the case of empty collections

Comparing integers is a lot faster than constructing one or more
GObjects to iterate over the hash table. This saves about 3% of the
user CPU time needed to deal with 2049 simple e-d-s Google contacts,
each with one email address and no phone numbers etc.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695648
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoDon't do manual memory management for libsocialweb Contact structs
Simon McVittie [Tue, 12 Mar 2013 17:06:31 +0000 (17:06 +0000)]
Don't do manual memory management for libsocialweb Contact structs

GObject (and hence Vala) already knows how to memory-manage a Contact,
because it's a boxed type. Trying to do our own memory-management
anyway results in an occasional (50%?) double-free and crash.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695719
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoupdate NEWS
Simon McVittie [Tue, 12 Mar 2013 17:16:18 +0000 (17:16 +0000)]
update NEWS

11 years agoAlways append to AM_VALAFLAGS, don't replace
Simon McVittie [Tue, 12 Mar 2013 13:50:56 +0000 (13:50 +0000)]
Always append to AM_VALAFLAGS, don't replace

This avoids losing --target-glib=2.24 (from configure.ac) in certain
test modules.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695628
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoDo not assign to VALAFLAGS
Simon McVittie [Mon, 11 Mar 2013 13:12:02 +0000 (13:12 +0000)]
Do not assign to VALAFLAGS

Users should be able to do "make VALAFLAGS=--enable-experimental-non-null"
without overriding necessary flags like --target-glib=2.24. The variable
for use by package maintainers is AM_VALAFLAGS.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=695628
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAssamese translation updated for gnome 3.8
Nilamdyuti Goswami [Tue, 12 Mar 2013 13:16:16 +0000 (18:46 +0530)]
Assamese translation updated for gnome 3.8

11 years agoHACKING: Update documentation for strict-non-null mode
Philip Withnall [Mon, 11 Mar 2013 20:16:02 +0000 (20:16 +0000)]
HACKING: Update documentation for strict-non-null mode

Mention how to compile with --enable-experimental-non-null.

See: https://bugzilla.gnome.org/show_bug.cgi?id=695628

11 years agoUpdated Indonesian translation
Andika Triwidada [Mon, 11 Mar 2013 05:49:22 +0000 (12:49 +0700)]
Updated Indonesian translation

11 years agoUpdated Greek translation
Dimitris Spingos [Sat, 9 Mar 2013 13:28:42 +0000 (15:28 +0200)]
Updated Greek translation

11 years agoUpdate NEWS with recent changes
Simon McVittie [Fri, 8 Mar 2013 14:02:39 +0000 (14:02 +0000)]
Update NEWS with recent changes

11 years agoMostly avoid an expensive multi-map iteration pattern
Simon McVittie [Fri, 8 Mar 2013 13:55:29 +0000 (13:55 +0000)]
Mostly avoid an expensive multi-map iteration pattern

If you have a MultiMap with, say, 100 keys each with 1 value, and you
iterate over it like this (pseudocode):

    for key in keys():
        values = get(key)
        for value in values:
            do something(key, value)

then you have constructed one GObject for the result of keys(), and
100 GObjects for the results of get() (because it returns a read-only
view). If you iterate it like this:

    iter = map_iterator()
    while iter.next():
        do something(iter.key(), iter.value())

there's only one extraneous GObject, the iterator itself.

When there are thousands of contacts, as in add-contacts-stress-test,
this really starts to matter.

This patch doesn't fix every use of get_keys() - some of them do
non-trivial work per key as well as per value, making it awkward to
convert to map_iterator() - but it's a start. It cuts 'user' CPU time
for IndividualAggregator quiescence for an e-d-s Google account with
2049 contacts (reading from cache) by around 3%.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=682903
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[note added to HACKING as per Philip's review]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoUpdated Slovenian translation
Matej Urbančič [Thu, 7 Mar 2013 15:59:54 +0000 (16:59 +0100)]
Updated Slovenian translation

11 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Thu, 7 Mar 2013 14:15:19 +0000 (17:15 +0300)]
Updated Belarusian translation.

11 years agoUpdated Brazilian Portuguese translation
Enrico Nicoletto [Thu, 7 Mar 2013 03:14:36 +0000 (00:14 -0300)]
Updated Brazilian Portuguese translation

11 years agoUse absolute paths for --vapidir
Simon McVittie [Thu, 28 Feb 2013 16:50:08 +0000 (16:50 +0000)]
Use absolute paths for --vapidir

In the rules currently generated by Automake, valac currently runs
cd'd into the ${srcdir}. It seems unwise to rely on that, and the
only thing that will work regardless of whether ${srcdir} is ".",
relative or absolute is its "absolutized" version.

Similarly, look in both the ${srcdir} and the ${builddir} for Vala
bindings we generate: the ${srcdir} because that's where valac currently
puts them, and the ${builddir} because that's where they ought to go
in principle.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=694883
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
11 years agoAdd -I$(top_srcdir) throughout
Simon McVittie [Thu, 28 Feb 2013 16:33:08 +0000 (16:33 +0000)]
Add -I$(top_srcdir) throughout

Automake adds (the equivalent of) -I$(top_builddir) to our CPPFLAGS
automatically, so we can #include "config.h". It does not add
-I$(top_srcdir). Many things in folks want to #include <folks/folks.h>,
so we should always have -I$(top_srcdir) so we can pick that up.

Out-of-tree builds previously either didn't work, or relied on having
installed folks headers (I'm not sure which).

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=694883
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[amended to do the same for tracker- and libsocialweb-specifics too -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 4 Mar 2013 14:00:39 +0000 (15:00 +0100)]
Updated Norwegian bokmål translation

11 years ago[l10n] Updated German translation
Mario Blättermann [Sun, 3 Mar 2013 21:00:57 +0000 (22:00 +0100)]
[l10n] Updated German translation

11 years agoUpdated Lithuanian translation
Aurimas Černius [Sat, 2 Mar 2013 21:28:03 +0000 (23:28 +0200)]
Updated Lithuanian translation

11 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Fri, 1 Mar 2013 14:14:46 +0000 (22:14 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

11 years agoUpdated Serbian translation
Мирослав Николић [Fri, 1 Mar 2013 10:17:19 +0000 (11:17 +0100)]
Updated Serbian translation

11 years agoUpdated Galician translations
Fran Diéguez [Mon, 25 Feb 2013 23:25:30 +0000 (00:25 +0100)]
Updated Galician translations

11 years agoUpdated Polish translation
Piotr Drąg [Sun, 24 Feb 2013 01:39:27 +0000 (02:39 +0100)]
Updated Polish translation

11 years agobuild: Include location-details.c in POTFILES.skip
Travis Reitter [Fri, 22 Feb 2013 17:10:35 +0000 (09:10 -0800)]
build: Include location-details.c in POTFILES.skip

This fixes a break in distcheck

11 years agobuild: Use @return instead of unsupported @returns valadoc
Travis Reitter [Fri, 22 Feb 2013 16:59:26 +0000 (08:59 -0800)]
build: Use @return instead of unsupported @returns valadoc

This was breaking the build when making docs

11 years agoUpdated Uyghur translation
Gheyret Kenji [Fri, 22 Feb 2013 13:22:06 +0000 (22:22 +0900)]
Updated Uyghur translation

Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
11 years agoUpdated Uyghur translation
Gheyret Kenji [Fri, 22 Feb 2013 13:19:56 +0000 (22:19 +0900)]
Updated Uyghur translation

Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
11 years agoUpdated Uyghur translation
Gheyret Kenji [Fri, 22 Feb 2013 13:09:51 +0000 (22:09 +0900)]
Updated Uyghur translation

Signed-off-by: Gheyret Kenji <gheyret@gmail.com>
11 years agoUpdated Czech translation
Marek Černocký [Fri, 22 Feb 2013 09:43:48 +0000 (10:43 +0100)]
Updated Czech translation

11 years agoPunjabi: Translation updated (aalam)
A S Alam [Fri, 22 Feb 2013 01:38:16 +0000 (01:38 +0000)]
Punjabi: Translation updated (aalam)

11 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 21 Feb 2013 15:54:25 +0000 (16:54 +0100)]
Updated Spanish translation

11 years agoUpdate French translation
Alexandre Franke [Wed, 20 Feb 2013 19:19:11 +0000 (20:19 +0100)]
Update French translation

11 years agoUpdate French translation
Alexandre Franke [Wed, 20 Feb 2013 19:18:37 +0000 (20:18 +0100)]
Update French translation

11 years agosupport geo location information
Patrick Ohly [Fri, 8 Feb 2013 14:23:13 +0000 (15:23 +0100)]
support geo location information

This adds "Location" class with latitude and longitude and
single-valued "LocationDetails" which exposes that information for a
contact. The logic for choosing "the best" among many locations from
different personas is left out for now. Instead folks picks according
to the default ordering of single values, which prefers values from
the primary store.

The EDS backend provides, creates and writes the GEO property as
location.

11 years agoUpdated Czech translation
Marek Černocký [Tue, 19 Feb 2013 10:13:28 +0000 (11:13 +0100)]
Updated Czech translation

11 years agoeds: Fix the type of a parameter in add_persona_from_details()
Philip Withnall [Mon, 18 Feb 2013 18:28:04 +0000 (18:28 +0000)]
eds: Fix the type of a parameter in add_persona_from_details()

This build breaker was introduced in commit
dcc558d87d113dae0aa8721db3d80261c08dee57.

11 years agoeds: fix Android favourite handling when creating contact
Patrick Ohly [Mon, 18 Feb 2013 11:19:08 +0000 (12:19 +0100)]
eds: fix Android favourite handling when creating contact

When processing PersonaDetail.GROUPS before PersonaDetail.IS_FAVOURITE
while creating a new contact in EDS, the special code for adding the
contact to the “Starred in Android” group (bgo#661490 was skipped). We
must go through _set_is_favourite instead of _set_contact_is_favourite
to get that part done, too.

11 years agoeds: support 'groups' when creating a contact
Patrick Ohly [Thu, 7 Feb 2013 14:28:08 +0000 (15:28 +0100)]
eds: support 'groups' when creating a contact

There's a minor twist with supporting the setting of groups from
details: _set_contact_groups() needs to know whether the contact
is a favorite, for special handling of Google contacts.

If the PersonaDetail.IS_FAVOURITE is found first in the details, that
boolean is passed to a later _set_contact_groups(). If
_set_contact_groups() is done first, then _set_contact_is_favourite()
applies the special Google workaround.

11 years agoUpdate the home page listed in DOAP file
Travis Reitter [Mon, 18 Feb 2013 03:53:40 +0000 (19:53 -0800)]
Update the home page listed in DOAP file

11 years agoPost-release version bump
Travis Reitter [Mon, 18 Feb 2013 03:44:29 +0000 (19:44 -0800)]
Post-release version bump

11 years agoRelease version 0.9.1 FOLKS_0_9_1 upstream/0.9.1
Travis Reitter [Mon, 18 Feb 2013 03:29:09 +0000 (19:29 -0800)]
Release version 0.9.1