summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAge
* HACK: Use automake 1.8.5Guido Günther2013-05-19
| | | | as available on maemo
* PIM: Pinyin sorting for zh languages (part of FDO #64173)Patrick Ohly2013-05-16
| | | | | | | | | | | | | Full interleaving of Pinyin transliterations of Chinese names with Western names can be done by doing an explicit Pinyin transliteration as part of computing the sort keys. This is done using ICU's Transliteration("Han-Latin"), which we have to call directly because boost::locale does not expose that API. We hard-code this behavior for all "zh" languages (as identified by boost::locale), because by default, ICU would sort Pinyin separately from Western names when using the "pinyin" collation.
* autotools: libsynthesis for SyncEvolution now on freedesktop.orgPatrick Ohly2013-05-13
|
* engine: prevent timeouts in HTTP server modePatrick Ohly2013-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | HTTP SyncML clients give up after a certain timeout (SyncEvolution after RetryDuration = 5 minutes by default, Nokia e51 after 15 minutes) when the server fails to respond. This can happen with SyncEvolution as server when it uses a slow storage with many items, for example via WebDAV. In the case of slow session startup, multithreading is now used to run the storage initializing in parallel to sending regular "keep-alive" SyncML replies to the client. By default, these replies are sent every 2 minutes. This can be configured with another extensions of the SyncMLVersion property: SyncMLVersion = REQUESTMAXTIME=5m Other modes do not use multithreading by default, but it can be enabled by setting REQUESTMAXTIME explicitly. It can be disabled by setting the time to zero. The new feature depends on a libsynthesis with multithreading enabled and glib >= 2.32.0, which is necessary to make SyncEvolution itself thread-safe. With an older glib, multithreading is disabled, but can be enabled as a stop-gap measure by setting REQUESTMAXTIME explicitly.
* NEWS, configure: SyncEvolution 1.3.99.3Patrick Ohly2013-03-07
|
* autotools: avoid -lrt in make dependenciesPatrick Ohly2013-02-26
| | | | | | | | The backends had SYNCEVOLUTION_LIBS in their _DEPENDENCIES entries, which is wrong because SYNCEVOLUTION_LIBS must include -lrt (which can't be a dependency). Fixed by depending on libsyncevolution.la directly.
* autotools: bump version to 1.3.99.2Patrick Ohly2012-12-12
|
* PIM: search for phone number in EDS directly during startupPatrick Ohly2012-12-07
| | | | | | | | | | | | | | | | | | | | Bypass folks while it still loads contacts and search for a phone number directly in EDS. This is necessary to ensure prompt responses for the caller ID lookup. Done with a StreamingView which translates EContacts into FolksIndividuals with the help of folks-eds = edsf. Combining these intermediate results and switching to the final results is done by a new MergeView class. A quiescence signal is emitted after receiving the EDS results and after folks is done. The first signal will be skipped when folks finishes first. The second signal will always be send, even if switching to folks did not change anything. Together with an artificial delay before folks is considered done, that approach make testing more reliable.
* Merge branch 'HARMATTAN-1-3-1'Patrick Ohly2012-11-01
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetched the code and its history from the 1.3.1 archives at: http://people.debian.org/~ovek/maemo/ http://people.debian.org/~ovek/harmattan/ Merged almost everything, except for Maemo/Harmattan specific build files: autogen-maemo.sh builddeb buildsrc debian The following changes were also removed, because they are either local workarounds or merge artifacts which probably also don't belong into the Maemo/Harmattan branch: diff --git a/configure.ac b/configure.ac index cb66617..2c4403c 100644 --- a/configure.ac +++ b/configure.ac @@ -44,7 +44,7 @@ if test "$enable_release_mode" = "yes"; then AC_DEFINE(SYNCEVOLUTION_STABLE_RELEASE, 1, [binary is meant for end-users]) fi -AM_INIT_AUTOMAKE([1.11.1 tar-ustar silent-rules subdir-objects -Wno-portability]) +AM_INIT_AUTOMAKE([subdir-objects -Wno-portability]) AM_PROG_CC_C_O diff --git a/src/backends/webdav/CalDAVSource.cpp b/src/backends/webdav/CalDAVSource.cpp index decd170..7d338ac 100644 --- a/src/backends/webdav/CalDAVSource.cpp +++ b/src/backends/webdav/CalDAVSource.cpp @@ -1282,6 +1282,7 @@ void CalDAVSource::Event::fixIncomingCalendar(icalcomponent *calendar) // time. bool ridInUTC = false; const icaltimezone *zone = NULL; + icalcomponent *parent = NULL; for (icalcomponent *comp = icalcomponent_get_first_component(calendar, ICAL_VEVENT_COMPONENT); comp; @@ -1295,6 +1296,7 @@ void CalDAVSource::Event::fixIncomingCalendar(icalcomponent *calendar) // is parent event? -> remember time zone unless it is UTC static const struct icaltimetype null = { 0 }; if (!memcmp(&rid, &null, sizeof(null))) { + parent = comp; struct icaltimetype dtstart = icalcomponent_get_dtstart(comp); if (!icaltime_is_utc(dtstart)) { zone = icaltime_get_timezone(dtstart); diff --git a/src/backends/webdav/CalDAVSource.h b/src/backends/webdav/CalDAVSource.h index 517ac2f..fa7c2ca 100644 --- a/src/backends/webdav/CalDAVSource.h +++ b/src/backends/webdav/CalDAVSource.h @@ -45,6 +45,10 @@ class CalDAVSource : public WebDAVSource, virtual void removeMergedItem(const std::string &luid); virtual void flushItem(const string &uid); virtual std::string getSubDescription(const string &uid, const string &subid); + virtual void updateSynthesisInfo(SynthesisInfo &info, + XMLConfigFragments &fragments) { + info.m_backendRule = "HAVE-SYNCEVOLUTION-EXDATE-DETACHED"; + } // implementation of SyncSourceLogging callback virtual std::string getDescription(const string &luid); Making SySync_ConsolePrintf a real instance inside SyncEvolution leads to link errors in other configurations. It really has to be extern. Added a comment to the master branch to make that more obvious: -extern "C" { // without curly braces, g++ 4.2 thinks the variable is extern - int (*SySync_ConsolePrintf)(FILE *stream, const char *format, ...); -} +// This is just the declaration. The actual function pointer instance +// is inside libsynthesis, which, for historic purposes, doesn't define +// it in its header files (yet). +extern "C" int (*SySync_ConsolePrintf)(FILE *stream, const char *format, ...);
| * Merge tag 'syncevolution-1-3' into FREMANTLE-1-3-0Ove Kåven2012-09-25
| |\
| * \ Merge tag 'syncevolution-1-2-99-4' into FREMANTLE-1-2-99-4Ove Kåven2012-08-12
| |\ \
| * | | Various packaging and build system patches for the Maemo 5 port.Ove Kåven2012-08-07
| | | |
| * | | Merge tag 'syncevolution-1-2-99-3' into FREMANTLE-1-2-99-3Ove Kåven2012-08-05
| | | |
* | | | NEWS + PIM README + autotools: updated for 1.3.99.1Patrick Ohly2012-10-26
| | | |
* | | | PIM Manager: implement phone number lookup and searchPatrick Ohly2012-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lookup and search are different: the former is based on a valid number, the later on user input. A lookup can compare normalized numbers including the country code, to ensure that the lookup is exact and does not mismatch numbers from different countries. Heuristics like suffix matching do not do this correctly in all cases. A search is based on user input, which might contain just some digits in the middle of the phone number. The search ignores formatting in both input and address book. In both cases, alpha characters are treated as aliases for their corresponding digit on a keypad. The implementation uses Google's libphonebook to implement phone number normalization and boost::locale to get the ISO-3199 country code of the current locale. Here some examples how the implementation works (from the tests), based on de_DE.UTF-8 locale = DE = +49: 'any-contains 1234', 'any-contains 23', 'any-contains 12/34' find 1234. 'any-contains 5678' finds 56/78. 'any-contains 366227', 'any-contains +1-800-foobar' find +1-800-FOOBAR. 'phone +1800366227' matches +1-800-FOOBAR. 'phone +49897888', 'phone 0897888' all match 089/7888-99 and not +189788899. 'phone +49897888000' does not match 089/7888-99.
* | | | PIM: locale-aware sorting and searchingPatrick Ohly2012-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the --enable-dbus-service-pim parameter into one which takes a parameter that specifies how locale-aware sorting and searching is to be implemented. The default implementation uses boost::locale. It is expected to get replaced or augemented by OEMs which want to implement more complex sorting or searching (like ignoring Tussenvoegsel in the Netherlands). The LocaleFactory instance takes the current locale from the environment. Making it and its users aware of locale changes at runtime might be needed at some point but is not part of the API at the moment. The Manager class uses the factory to handle sorting and searching requests coming in via D-Bus. Right now, that is not functional yet because the boost::locale implementation is just a stub. It only compiles and links. FullView::setSortOrder is now functional. Clean up view code a bit: - All views delay populating their content until the caller asks for it. For the FullView this will only happen once, so the caller must be able to handle an already populated view, which was missing in ViewResource. Still need a test for this. - Use init(<smart pointer) consistently.
* | | | PIM Manager: autotools + libfolks + APIPatrick Ohly2012-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial step towards using SyncEvolution, PBAP and libfolks in the context of IVI (in-vehicle-infotainment): D-Bus API definition for the org._01.pim.contact API, --enable-dbus-service-pim, find libs, compile into syncevo-dbus-server and client-test. The only functional code at this time is the unit testing of libfolks, GValueCXX and libgee.
* | | | NEWS, configure: prepared 1.3.1Patrick Ohly2012-10-05
| | | |
* | | | GTK-3 UI: fixed compile problemPatrick Ohly2012-10-05
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | The GTK-3 UI depends on a class from gio-unix-2.0 and failed to compile on Fedora Core 16 because the configure checks for that lib (and thus the compiler flags) were missing: src/gtk3-ui/sync-ui.c:30:33: fatal error: gio/gdesktopappinfo.h: No such file or directory Reported by Peter Robinson.
* | | NEWS, autotools: release 1.3Patrick Ohly2012-09-10
| |/ |/|
* | NEWS, autotools: updated for 1.2.99.4Patrick Ohly2012-08-07
|/
* NEWS, configure: updated for 1.2.99.3Patrick Ohly2012-07-24
|
* autotools: ensure that link lines are completePatrick Ohly2012-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | As mentioned by Tino Keitel on the mailing list, some libs and executables were only implicitly linked against libraries that they called directly. This happened to work by chance because these libraries ended up in the running executable anyway, due to indirect loading. To catch such problems, the "make installcheck" was extended: dpkg-shlibdeps is run, if available, and the error output is scanned for the messages which indicate that a symbol is used without linking to the right library (example output below). Had to fix quite a few _LIBADD lines to pass the test. Some exceptions are allowed: - libsmltk depends on the caller providing SySync logging support. - libneon is intentionally not linked explicitly for syncevolution.org binaries, to make resulting binaries work with GNUTLS and OpenSSL. dpkg-shlibdeps: warning: debian/syncevolution-libs/usr/lib/syncevolution/backends/syncdav.so contains an unresolvable reference to symbol icalparameter_new_from_value_string: it's probably a plugin. dpkg-shlibdeps: warning: 51 other similar warnings have been skipped (use -v to see them all). ... dpkg-shlibdeps: warning: symbol dlsym used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol dlerror used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol dlopen used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries.
* NEWS, configure: updated for 1.2.99.2Patrick Ohly2012-06-30
|
* NEWS + configure: release 1.2.99.1Patrick Ohly2012-06-22
|
* autotools: allow usage of deprecated functionsPatrick Ohly2012-05-29
| | | | | | GTK UI and Bluetooth plugin use some methods which were marked deprecated in 3.4.2 (Debian Testing). Allow that until someone finds the time to remove the offending function usage.
* Buteo: removed from source codePatrick Ohly2012-05-22
| | | | | Pseudo-backend (really more like a plugin for Buteo) and testing framework changes were removed because Buteo is obsolete.
* dbus-server: Bump GIO version to 2.30 due to bugs in earlier versionsChris Kühl2012-05-08
| | | | | | | | | | | | We ran into some race conditions in version 2.28 of GIO GDBus. These were known issues that were fixed in following bug reports. https://bugzilla.gnome.org/show_bug.cgi?id=665211 https://bugzilla.gnome.org/show_bug.cgi?id=661689 Version 2.30.2 is currently in Wheezy, the next Debian stable, which I think is the target for dropping support for the libdbus. Thus, this version requirement bump should not disturb that plan.
* local + remote sync: negotiate UID support via SyncCap (BMC #22783)Patrick Ohly2012-05-03
| | | | | | | | | | | | | | | | This uses the new libsynthesis support for adding and checking entries in the SyncCap to detect per datastore whether UID/RECURRENCE-ID are truly globally unique and thus can be used to finding pairs. The presence of the property alone is no guarantee for that. Previously this kind of pairing was enabled only for local sync, which was a hack which didn't work for local backends which didn't support UID (for example, Maemo 5 calendar). It also didn't work for mixtures of datastores with and without that kind of support. "1122583000" was randomly chosen as pseudo sync mode. It is a number because strings confuse Funambol. Note that SYNCMODESUPPORTED() only works inside the compare script.
* autotools: pick GTK3 by default only if availablePatrick Ohly2012-03-30
| | | | | | "make distcheck" on a system without GTK3 failed even if the main configure was called with --enable-gtk=2. Better fall back to GTK2 automatically.
* autotools: use GTK-3 also for libnotify in D-Bus serverPatrick Ohly2012-03-30
| | | | | Changed the pkg config check so that the selected major version of GTK is also used for libnotify, i.e. in the syncevo-dbus-server.
* gtk3 changesJussi Kukkonen2012-03-27
| | | | | | | | | | | * drawing rewrite for home made widgets * size request rewrite for home made widgets * don't use direct access to widget structs * explicitly set expand to FALSE on some widgets (children now inherit expand=TRUE) * use gio to start bluetooth-wizard * use GtkSwitch instead of MxGtkLightSwitch (this needs to be done now as mx-gtk is not available for gtk3)
* gtk-ui: fork gtk3-version of the uiJussi Kukkonen2012-03-27
| | | | | | We want to support both GTK+-2.0 and GTK+-3.0 for the time being (even if the former is just maintenance). This is not possible in the same codebase without large amounts of ifdefs so we fork the UI.
* gtk-ui: Use gtkbuilder xml file as canonical source for UIJussi Kukkonen2012-03-27
| | | | | Stop running gtkbuilder-convert on build. This was done to workaround a glade bug but is not necessary anymore
* KDE + GNOME: moved keyring/kwallet and KDE init into modulesPatrick Ohly2012-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | The platform specific code which is of no value unless you run a specific desktop now gets compiled as part of shared libraries, just like the storage backends. The advantage is that the rest of SyncEvolution keeps running even if one of these shared libraries cannot be loaded due to missing depdendencies. syncevolution.org packages will not declared these dependencies, to allow installing each package without forcing the installation of unwanted libraries. Distros can package the platform code separately. Another advantage is reduced code duplication (password load/store was duplicated in command line and D-Bus server). Technically this uses almost the same mechnism as loadable sync sources. The code resides in src/backends/[kde|gnome], where the autotool magic finds the *Register.cpp files automatically and includes them into executables. These files contain global singletons which, when initialized, connect platform specific code to new signals in the core (init, password load/save). The actual code is in the backend libraries. Because SE_ARG_ENABLE_BACKEND() is not used (in favor of the traditional enable macros), linking against these libs must be set up by adding them to the (now slightly misnamed) SYNCSOURCES variable in the configure fragments.
* autotools: version bump to 1.2.99Patrick Ohly2012-02-28
| | | | | Any package compiled on master is now a 1.3 pre-release and thus must start with 1.2.99 (larger than 1.2.x, smaller than 1.3).
* autotools: replaced obsolete QMAKE -queryPatrick Ohly2012-02-28
| | | | | Using pkg-config to find QtDBus and QtCore cflags and libs is more reliable.
* Add proper search path for ld to search for KDE LibrariesRohan Garg2012-02-28
|
* Akonadi: fixed compile and runtime issuesPatrick Ohly2012-02-01
| | | | | | | | | | | | | | | | | | | | | Due to bitrot the Akonadi backend and KWallet support code no longer worked. Moved the common code for KApplication initialization into libsyncevolution's SyncContext::initMain() and fixed autotools rules. The old code always tried to contact an X server (default constructor of KApplication). That doesn't seem to be necessary and is avoided now. Even better might be to skip KApplication entirely and instead use QCoreApplication and KComponentData, as suggested by http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKApplication.html KAboutData was incorrectly passed the address of a string pointer, not the pointer itself. Testing the Akonadi backend in client-test failed because client-test always overwrites the "backend" value with "Test_kde_[contact/event/..]._[1/2]". Now this special case is detected. The backend then uses the first resp. second resource that it finds.
* autotools: depend on D-BusPatrick Ohly2012-01-20
| | | | | Local sync needs D-Bus and glib. Either libdbus or gio-dbus (in gio >= 2.26) are good enough.
* Merge commit 'syncevolution-1-2-2'Patrick Ohly2012-01-16
| | | | | | | | | | | | | | Conflicts: Makefile.am configure-post.in configure.ac src/Makefile-gen.am src/dbus/qt/Makefile.am src/syncevo-dbus-server.cpp test/test-dbus.py Conflicts caused by renaming of files on master. Manually applied the relevant changes to the renamed files.
* --enable-warnings: allow set-but-not-used testPatrick Ohly2011-11-30
| | | | | | All code which failed that test has been fixed resp. removed, so now the test can and should be enabled in gcc 4.6, because it did indeed find a real problem in the GIO GDBus patch.
* GIO GDBus: fixed link errorPatrick Ohly2011-11-30
| | | | | | | | | | | | | | Previously, DBUS_LIBS contained the dbus-1 libs required to link executables. When enabling GIO GDBus, GIO_DBUS_LIBS was set instead, but not used by most of the link rules (except for the new example). This caused link failures when using dynamic linking on recent Linux distros where all libraries used by an object file have to be listed explicitly - indirectly through some other shared object is not enough anymore. To solve this with minimal changes, DBUS_LIBS and DBUS_CFLAGS are reinterpreted as "the libs resp. flags needed for using D-Bus" and now get set for both dbus-1 and gio.
* build: Make --disable-notify actually disable use of libnotifyChris Kühl2011-11-29
| | | | | When passing --disable-notify to configure and building, the binary still built with libnotify.
* dbus: Create dbus wrapper using the GIO GDBus dbus implementationChris Kühl2011-11-29
| | | | | | | | | | | | | | | | | | | | | Background: Prior to this patch a C++ wrapper around Bluez gdbus, a convienience wrapper around the low-level libdbus, was used by syncevo-dbus-server. This patch introduces a second C++ wrapper around the GIO GDBus implementation. The reason for introducing this second wrapper is to move away from using the in-tree copy of Bluez gdbus and towards a more well-maintained dbus implementation. Also, libdbus was not designed to be thread-safe whereas GIO GDBus was. The GIO GDBus wrapper retains the same public api as the first one. This means the consumers of this wrapper (syncevo-dbus-server, for example) have remained almost completely untouched. The only exceptions are in the few case where libdbus objects where used directly by the consuming class. The choice of which wrapper is determined at configure time. The option can be explicitly set using the --with-gio-gdbus and --without-gio-gdbus flags or, if no flag is given, an adequate version of GIO is search for. If found, the GIO GDBus wrapper is chosen.
* build: Enable configure switch to build with GIO GDBusChris Kühl2011-11-29
| | | | | | | | | | | | | | syncEvolution has used an in-tree copy of Bluez's gdbus dbus implentation. With this patch there is now a configure switch which enables the use of the GLib's GDBus dbus implmentation if the --with-gio-gdbus configure flag is use or, if no flag is used, an adequate glib version (2.26) is found. This commit does *not* actually implement the use of GIO's GDBus. The implmentation is coming soon. Thus only --without-gio-gdbus will currently result in a working build.
* autotools: use pcre for regular expressionsPatrick Ohly2011-11-28
| | | | | | | | | | | | | | | | Added the necessary autotools rules to use pcre in the src binaries and libsyncevolution. It's unconditionally required now, which makes it possible to add code depending on it without having to worry about the case without pcre. The alternative to pcre with its C++ binding would have been boost::Xpressive. pcre was chosen because it has UTF-8 support and is more common. boost::regex introduces an undesirable library dependency. The C POSIX regex code has no C++ binding and does not support easy replacement. README was updated accordingly.
* Merge remote-tracking branch 'origin/syncevolution-1-2-branch'Patrick Ohly2011-11-28
| | | | | | | | | | | | | | Conflicts: configure.ac src/syncevo-dbus-server.cpp src/syncevo/Cmdline.cpp test/ClientTest.cpp test/ClientTest.h test/generate-html.xsl test/runtests.py Conflicts caused by backporting + merging back slightly modified backports.
* autotools: depend on libsynthesis 3.4.0.16.5Patrick Ohly2011-10-17
| | | | Needed for BMC 22881.
* autotools: sharing libical between backendsPatrick Ohly2011-10-17
| | | | | | | | | | | | Various backends (Evolution, ActiveSync, WebDAV) depend on libical. This wasn't done correctly, with the result that --enable-activesync without --enable-evolution and --enable-webdav failed to compile because ENABLE_ICAL was unset by the WebDAV configure. Now backends can request libical support by setting need_ical="yes", then later LIBICAL_LIBS/CFLAGS, ENABLE_ICAL define and condition variable will be set accordingly. Similar to need_glib="yes".