Commit graph

169 commits

Author SHA1 Message Date
Patrick Ohly
210b2dca66 autotools: handle situation where qmake is not installed
The previous commit added a check for qmake, but then used QMAKE
without checking whether qmake was found at all. This caused configure
problems on systems where qmake wasn't available.

The error handling also wasn't correct. A "test" was missing in front
of the comparison.
2011-07-06 16:08:50 +02:00
Chris Kühl
97fff9b4be autotools: check for alternative names to the qmake binary (BMC #17704)
On some distros, such as Fedora, qmake is called qmake-qt4. This is currently
hardcoded to qmake in syncevolution. Better use AC_CHECK_PROGS().
2011-07-05 16:03:29 +02:00
Patrick Ohly
b0da933afb mlite notifications: fixed configure issues
Explicit --enable-mlite didn't enable mlite (enable_mlite not set).
The default is now to not enable it in any case (even if available),
so traditional users won't have to add --disable-mlite to suppress
the error about it being not installed.

The code which depends on mlite must not be compiled if the feature
is disabled, because if mlite is not installed, it would cause compile
errors.
2011-06-16 18:17:21 +02:00
Salvatore Iovene
8d771ab4d7 syncevo-dbus-server: notifications system made more generic.
The notifications system has been made template based. There is
a Factory object that creates NotificationManagers with the correct
template (mlite, libnotify, or a dummy no-op) according to the
platform.
2011-06-15 06:44:34 -07:00
Murray Cumming
33ca532475 configure-pre.in: Correct m4 quoting in the libsynthesis check.
m4 uses [] instead of "" for quoting. This allows the check to
succeed on my system.
2011-05-17 13:47:33 +02:00
Chris Kühl
de8ec24f5b build: Fix AC_LANG_SOURCE warnings with autoconf 2.68
When running autogen.sh several of the following warnings are output.
"warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body"

The fix comes from the following email thread:
http://www.mail-archive.com/bug-autoconf@gnu.org/msg03051.html
2011-05-16 14:49:22 +02:00
Patrick Ohly
4a9232d6ee autotools: avoid test == comparison
== is a bashism which fails in dash. Kudos to Jussi for reporting
the problem and the initial patch.
2011-05-16 14:43:32 +02:00
Patrick Ohly
9e56f68b10 bumped version to 1.1.99.4 2011-04-21 12:48:55 +02:00
Patrick Ohly
5627f1d6ad autotools: the KWallet code depends on C++
AC_PROG_CXX was done too late for the KWallet check.
Must be done already before AC_LANG_PUSH(C++).
2011-04-15 22:58:32 +08:00
Patrick Ohly
707b04f67e KWallet: do not enable by default
This is motivated by the observation that KWallet was unintentionally
enabled just because the header file had been installed. It then
also failed to compile because of missing Qt compile flags (separate
problem), but even if it had successed, the extra library dependency
wasn't wanted in that case, so better request an explicit --enable
before enabling the feature.
2011-04-14 15:58:53 +08:00
Dinesh
ab25aef728 command line + syncevo-dbus-server: added support for KWallet
Currently not enabled in compilation by default. If KWallet support is
enabled, it will check whether KDE is running and otherwise fall back
to GNOME keyring.
2011-04-13 10:34:13 +02:00
Patrick Ohly
6fd1cfdfec glib CXX: avoid features not found on Ubuntu Hardy
Ubuntu Hardy's boost does not have reset() in intrusive_ptr.
Can be replaced with constructing a ptr followed by swap().
glib lacks the flag for combining certain change events. We don't
need this (although it reduces overhead a bit), so let's simply drop it.
2011-03-29 03:51:38 +08:00
Patrick Ohly
5f6f0e78ba autotools: make sure libsynthesis is recent enough
synthesis.pc (somewhat arbitrary) was bumped to 3.4 in the latest
source. SyncEvolution needs recent features in libsynthesis, so
check that libsynthesis is recent enough.
2011-02-28 11:22:41 +01:00
Patrick Ohly
466cd0b5f0 bumped version to 1.1.99.3 2011-02-26 16:46:39 +01:00
Patrick Ohly
412a4aab5b version bump to 1.1.99.2 2011-01-31 12:23:42 +01:00
Patrick Ohly
38e3a29b5a compilation: distinguish between stable releases and pre-releases
gen-autotools.sh now detects pre-releases: have "99" in the version or
the source isn't cleanly tagged. "syncevolution --version" includes
"(pre-release)" if in pre-release mode, otherwise just the version (as
before).
2011-01-11 16:42:16 +01:00
Zhu, Yongsheng
c7e47d8d3c buteo testing: enable buteo testing in client-test
To enable it in configuration, use '--enable-buteo-tests'.
To test client-test with buteo to do sync, make sure the
environment variable 'CLIENT_TEST_BUTEO=1' is set.

Three main steps to support buteo testing in client-test,
1) pre-run: storage preparation, clean up buteo logging
files and set corresponding keys in meego-sync-conf.xml.
For qtcontacts, switch backend database files for each
client; For calendar/todo/note, specify different notebook
names for each client.
2) run: re-implement ClientTest.doSync function, which
dbus-calls 'msyncd', the dbus daemon of buteo to do sync.
Listen to needed signals to track its status.
3) post-run: collect its status and summarize its statistics
and convert to internal sync report.

Buteo doesn't support explicit slow-sync mode and refresh-
from-server mode. Add two workarounds for them:
For slow-sync mode, wipe out anchors;
For refresh-from-server, wipe out anchors and clean all local
data and do two-way sync.

To enable buteo testing in your environment, you have to:
1) Add read/write privilege for the directory /etc/sync for
current testing user
2) To test one remote server, make sure the profile xml is put
in $HOME/.sync/profiles/sync. The name of the profile xml should
be set as the server name.
2010-12-08 10:56:16 +01:00
Patrick Ohly
b973467067 version bump to 1.1.99.1 2010-12-01 12:35:38 +01:00
Patrick Ohly
eba2526200 NEWS, configure: SyncEvolution 1.1 2010-10-26 11:49:53 +02:00
Patrick Ohly
3bdf05d910 version bump to 1.0.99.7 2010-09-30 17:25:00 +02:00
Patrick Ohly
512f175e6f autotools: fix libnotify problem on FC13
Recent libnotify releases require the app to pick gtk.
2010-09-16 14:44:07 +02:00
Patrick Ohly
3c7dca90e8 version bump: 1.0.99.6 2010-09-09 11:38:27 +02:00
Patrick Ohly
9286d914c0 EDS: workaround for D-Bus method timeouts (BMC #4026)
libecal/ebook implementation based on D-Bus (Evolution >= 2.30)
inevitably will run into D-Bus timeouts as the amount of data
increases.

This patch moves an earlier hack written for Maemo into the core
code and enables it by default, if the EDS backends are active.
It works by intercepting dbus_connection_send_with_reply()
and substituting timeout_milliseconds==-1 ("default timeout
of 25 seconds") with timeout_milliseconds=INT_MAX ("no timeout").

Setting SYNCEVOLUTION_DBUS_TIMEOUT to number of milliseconds
allows controlling the final timeout value.
2010-09-03 15:40:05 +02:00
Patrick Ohly
37159842e1 version bump: 1.1 based on 1.0.1
This is in preparation of 1.1, which is not ready yet.
1.0.1 also hasn't been released, but will be soon from a branch.
2010-07-16 15:48:03 +02:00
Patrick Ohly
0ea574f1de autotools: added --enable-gnome-keyring (MBC #3557)
Using the GNOME keyring should be optional. Right now it is always on when
found.

--enable-gnome-keyring: fail if not available or invalid value given
--disable-gnome-keyring: disable, even if found
unset: use if found
2010-06-30 10:39:05 +02:00
Patrick Ohly
96e71bdbb5 configure: fix for SoupTransportAgent without EDS and without D-Bus
In a configuration without EDS, glib was not enabled although needed
by SoupTransportAgent, leading to a compile error.
2010-06-30 10:37:51 +02:00
Patrick Ohly
8276a74305 NEWS, version: SyncEvolution 1.0 2010-06-11 21:43:37 +02:00
Zhu, Yongsheng
3c307b04dd Doc: add '--enable-doc' option and generate D-Bus API doc(MBC #1745)
'--enable-doc' configure option is newly added to control
generation of API documentation for backend public API
and D-Bus API. The default value is 'no'.

D-Bus API html documentation could be generated and all
pages(currently 3 docbook files) are merged into one single
html page called 'syncevo-dbus-api-doc.html'. To dynamically
generate 'version' of syncevolution into the html page, a placeholder
'##VERSION##' is used and changed in the generation.
2010-06-08 17:20:14 +02:00
Patrick Ohly
8a0d2db04a README.html: built from README.rst with rst2html (MBC #690)
The main reason for bundling the .html version with the distribution
packages is that the syncevolution.org "Usage" page needs the
.html version. Building it as part of of the distribution packages
ensures that packages and documentation are in sync.

An additional benefit is that some users might prefer to read the
documentation in HTML.

As with man pages, building the HTML README depends on rst2html and
can be controlled via --with-rst2html.
2010-05-04 13:49:54 +02:00
Patrick Ohly
55f3b2ddef README: replaced with README.rst, added man page (MBC #690)
This patch adds the necessary autotools rules a) to use README.rst
as README in distribution archives and b) to build a syncevolution.1
man page out of it.

The later depends rst2man. --with-rst2man can be used to force man page
creation on or off. Without an explicit choice, it is only built when
the tool is found.

Version and compile date are inserted automatically.
2010-05-04 13:49:54 +02:00
Patrick Ohly
716525fcf8 NEWS, version: updated for final 1.0 beta 3 2010-04-20 21:09:53 +02:00
Jussi Kukkonen
1404b78d9a gtk-ui: fix mx-gtk >= 0.99.1 header location (BME #892) 2010-04-19 11:49:05 +02:00
Patrick Ohly
cbb5fce5ff packaging: fail harder if libnotify is missing (MB #1000).
When libnotify was not found, syncevo-dbus-server was silently
compiled without notifications, which happened in the MeeGo
snapshot .rpms due to missing build dependencies.

This patch introduces a --enable/disable-notify switch and aborts if
the feature is on (by default or explicitly requested) and the
development files are missing.

Also document this in README.packagers.
2010-03-31 20:35:07 +02:00
Zhu, Yongsheng
3fc7e529ea Cmdline: move cmdline to dbus server (MB#5043)
Implement cmdline with support of dbus server. To enable cmdline
with dbus server, use the option '--use-daemon yes/no' in case that
you enable dbus service when configuration.

In a typical scenario, a new session is created for the purpose of
execution of arguments. It is scheduled with other sessions but with
a highest priority. Once it becomes active, command line call
'Session.Execute', a newly added method to execute command line
arguments.

The config name of a session should be known for dbus clients like
command line. A new property 'configName' is added in the properties
when calling 'Session.GetConfig'.

CTRL-C handling are processed once executing a real sync to dbus
server. It is mapped to invoke 'Session.Suspend' and 'Session.Abort'.

The meaning of '--enable-dbus-service' is expanded accordingly.

'--status' without server means printing all running session in the
dbus server.
'--monitor' could accept an optional config name. If one is given,
only attach to a session of that config, otherwise print an error.
If none is given, pick the first.
2010-03-29 11:01:35 +02:00
Patrick Ohly
4d127d692c autotools: --disable-core --enable-gui => build only sync-ui and its D-Bus lib
The sync-ui doesn't have a hard compile dependency on syncevo-dbus-server,
although it obviously won't run well without it. The new --disable-core
option can be used to compile just the sync-ui and the D-Bus wrapper lib
that it depends on.

Translations are generated when sync-ui and syncevo-dbus-server
are enabled, because both depend on the same translation files.

For the situation that sync-ui needs to include syerror.h from a
bundled Synthesis source, but libsynthesis itself is not built,
a special src/synthesis-includes directory is entered and produces
the necessary files by invoking the right target in the Synthesis
build dir. Because of that, enough packages must be installed to
configure the Synthesis engine even when only building the UI.
2010-03-23 19:04:06 +01:00
Patrick Ohly
c210759664 Revert "dummy beta 3"
This reverts commit 03baecbc8f.

We are still before the beta 3 release.
2010-03-18 18:37:39 +01:00
Patrick Ohly
03baecbc8f dummy beta 3 2010-03-16 08:15:44 +01:00
Zhu, Yongsheng
62990c3d7e DBusServer: improve notification for auto sync (MB#10000)
Implement new notification for auto sync according to
requirements. The main changes are messages description
and internationalized.

3 kinds of messages are defined and shown via notification
server: 'is syncing', 'Sync complete' and 'Sync problem'.
They are used in below scenarios:
1) sync is successfully started, show 'is syncing'
2) sync is ended, show 'Sync complete' or 'Sync problem'
3) sync has problem, once sync is not successfully started,
and a fatal error occurs, show 'Sync Problem'. If not a fatal
problem, don't show anything.

To detect when sync is successfully started and done, SessionListener
is defined to listen to these changes. This gives AutoSyncManager
opportunities to send notifications once these statuses are changed.

Two buttons 'Dismiss' and 'View' are added into all notifications
to let users dismiss the notification or pop up sync-ui.
They are implemented by optional 'actions' mechasim of notification.
So if the notification server doesn't support actions, don't add
them.
2010-03-08 15:46:21 -08:00
Zhu, Yongsheng
ed8a673fbc DBusServer: add notification for auto sync (MB#6378)
Add notification for auto sync when a task has been
done. Check and use 'libnotify' as a notification
target. Enable it only when enabling dbus server.
2010-03-01 08:25:20 +01:00
Patrick Ohly
c82945cffb minor version bump to 1.0beta2a because of Bluetooth dependency 2010-02-24 17:59:27 +01:00
Jussi Kukkonen
153954f921 gtk-ui: fix build with --enable-gui again (MB #9633)
--enable-gui=moblin did not actually enable the moblin gui,
sync_ui_moblin target got the compile flag, but when building only
moblin the target is not named that.
2010-02-10 14:11:20 +01:00
Patrick Ohly
06d17572c5 autotools: build GNOME Bluetooth panel plugin (MB #7089)
The GNOME Bluetooth panel plugin needs to be installed into
the location used by the system. We guess what that location might be by
installing into `pkg-config --variable=libdir gnome-bluetooth-1.0`/plugins.

Because this location might not be writable, compiling the plugin is
off by default. It can be enabled with --enable-gnome-bluetooth-panel-plugin
which depends on the libgnome-bluetooth-dev files.

Shared libraries must be enabled when enabling the plugin. Not currently
checked by configure.
2010-02-04 16:33:29 +01:00
Jussi Kukkonen
1c0608d3b2 fix build with "--enable-gui=all" 2010-02-04 12:12:13 +02:00
Patrick Ohly
f0c91608b1 post-release version bump 2010-02-03 13:38:18 +01:00
Patrick Ohly
b456b6a9a1 autotools: removed obsolete libbluetooth2/3 check (MB #9260)
The code got duplicated accidentally while editing it. The second
copy wasn't harmful, just redundant. Removed.
2010-01-28 13:29:04 +01:00
Patrick Ohly
a8b73bd5f9 autotools: fixed Bluetooth checks (MB #9260)
--disable-bluetooth had no effect. The code depends on libbluetooth
and failed to compile when only libopenobex was available. Now
configure aborts in that case.
2010-01-27 15:54:48 +01:00
Patrick Ohly
2307bf5c0f packaging: use plain 1.0beta1 as version number
Previously, 0.9.2+1.0beta1 was used, with the goal of ensuring
proper versioning of Debian packages. This patch makes it explicit
that the Debian package version must start with the version of
the previous release to get proper versioning (0.9.2 < 0.9.2+1.0beta < 1.0).
2010-01-27 14:27:29 +01:00
Patrick Ohly
fcdae4588e ObexTransportAgent: libbluetooth2 vs 3 check (MB #9289)
The signature of sdp_extract_pdu() and sdp_extract_seqtype()
has changed between libbluetooth2 and libbluetooth3. Some
versions also have a _safe variant.

A compile check seems to be necessary to detect this, because the version
of the .pc file was not updated.

This patch only fixes the source code compatibility with
different libbluetooth versions. Binaries depending on libbluetooth2
don't work when only libbluetooth3 is installed.
2010-01-27 14:23:47 +01:00
Patrick Ohly
ec83d30eb2 NEWS + version: updated for 1.0 beta 1 2010-01-26 17:04:59 +01:00
Jussi Kukkonen
aec2f1fadc gtk-ui: include copy of GtkInfoBar for gtk+<2.18 (MB #9170) 2010-01-22 15:09:42 +01:00