diff options
-rw-r--r-- | NEWS | 52 | ||||
-rw-r--r-- | README | 125 | ||||
-rw-r--r-- | configure.ac | 32 | ||||
-rw-r--r-- | libmcclient/Makefile.am | 9 | ||||
-rw-r--r-- | src/Makefile.am | 13 |
5 files changed, 224 insertions, 7 deletions
@@ -0,0 +1,52 @@ +telepathy-mission-control 5.1.0 (2009-06-05) +============================================ + +The "beta 75 would have been silly" release. + +After months of development, this is the first numbered release of Mission +Control 5. We jumped straight to 5.1 in order to use the Linux-style odd/even +versioning seen in the other Telepathy components, so the 5.1.x development +branch will lead to the 5.2.x stable branch. + +Changes since Mission Control 4 are too numerous to list here, but here are +the major architectural changes. + +The proprietary MissionControl API no longer exists; the daemon is a +telepathy-spec-compliant AccountManager, and also a telepathy-spec-compliant +ChannelDispatcher. Consequences of this include: + +* Clients are no longer expected to implement the ChannelHandler interface. + Instead, they may implement the Observer, Approver and/or Handler interfaces + specified in telepathy-spec. + +* The design of channel dispatching copes better with having multiple user + interface components installed. + +* Accounts' presence, avatar and nickname are now independent (stored + per-account), allowing for more precise control by UIs. + +* Accounts no longer have to belong to a "profile", although they still can + (albeit only by using a non-standard extension). + +Accounts are now stored in a flat file, rather than by abusing GConf. The +included mc-account-convert tool might be able to convert MC 4 accounts to +the MC 5 format, if you're lucky. + +libmissioncontrol-server has changed its API and ABI considerably, and is not +yet considered stable in its new form either. It is no longer installed by +default (in a normal configuration it'll just be compiled into the daemon). + +libmissioncontrol (based on libtelepathy and also known as +libmissioncontrol-client) no longer exists, and has been replaced by +libmcclient (based on telepathy-glib). + +Mission Control 5 is not a drop-in replacement for Mission Control 4, and +cannot be used by Mission-Control-4-based applications like Empathy 2.26 +and the Maemo 4 platform. However, both versions can be installed +independently in the same directory prefix, to facilitate porting from one to +the other. + +Known regressions since Mission Control 4: + +* There is no gnome-keyring integration yet. +* The client and server library APIs are not considered to be stable yet. @@ -0,0 +1,125 @@ +=========================== +telepathy-mission-control 5 +=========================== + +Telepathy Mission Control 5 is an account manager and channel dispatcher for +the Telepathy framework, allowing user interfaces and other clients +to share connections to real-time communication services without conflicting. +It implements the AccountManager and ChannelDispatcher D-Bus APIs as described +by telepathy-spec. + +The account manager part stores real time communication account details, +connects to the stored accounts on request, and sets the accounts' presence, +nickname and avatar according to requests from Telepathy user interfaces and +other components. + +The channel dispatcher part responds to incoming communication channels +(message streams, voice/video calls, file transfers etc.) by dispatching +them to suitable user interfaces, and requests outgoing communication +channels according to requests from a Telepathy UI. + +Telepathy is a D-Bus framework for unifying real time communication, +including instant messaging, voice calls and video calls. It abstracts +differences between protocols to provide a unified interface for +applications. + +Mission Control currently also provides a C API. Please note that this API is +subject to rapid change (see below). + +Requirements +============ + +Building Mission Control requires: + GLib, GObject <http://ftp.gnome.org/pub/GNOME/sources/glib/> + libdbus <http://dbus.freedesktop.org/releases/dbus/> + The D-Bus GLib bindings <http://dbus.freedesktop.org/releases/dbus-glib/> + telepathy-glib <http://telepathy.freedesktop.org/releases/telepathy-glib/> + + GNU make <http://www.gnu.org/software/make/> + pkg-config <http://ftp.gnome.org/pub/GNOME/sources/pkg-config/> + libxslt, xsltproc <http://xmlsoft.org/XSLT/> + Python <http://www.python.org/> + +and can also make use of: + gtkdoc <http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/> + +See configure.ac for full details, including versions required. +Of the packages listed above, only GLib, GObject, libdbus, dbus-glib and +telepathy-glib are required at runtime. + +Building from git also requires the GNU build system (Autoconf, Automake, +libtool). + +Bugs, feature requests and to-do list +===================================== + +Report all bugs, feature requests and "to-do" items here: + <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=telepathy-mission-control> + +D-Bus API stability +=================== + +Interfaces described as stable in the Telepathy Specification +<http://telepathy.freedesktop.org/spec/> are considered stable and will not +generally have incompatible changes. + +All other interfaces (including draft interfaces and Nokia-specific +extensions) are subject to change. + +C API stability +=============== + +libmcclient is a client library for communicating with Mission Control. It +is not necessarily suitable for communication with any other Telepathy +AccountManager or ChannelDispatcher implementations, and will probably be +phased out eventually, in favour of library support in telepathy-glib. + +libmissioncontrol-server contains most of the implementation of MC, and can +be used to produce a derivative of MC containing desktop- or device-specific +behaviour, like Maemo's proprietary osso-mission-control package. It is only +built and installed as a library if Mission Control is configured with +the --enable-plugins option; this is not recommended on mainstream Linux +distributions. + +At this stage in development, neither library is considered stable; only +depend on them if you have control over the specific version of MC you're +using. + +Versioning +========== + +Starting from version 5.1.0, Mission Control follows the same Linux-style +odd/even minor versioning policy as most other Telepathy components: the 5.1.x +series are development releases, and 5.2.x will be the first stable branch. + +Intermediate versions built from the git repository have a "+" suffix on the +version number, so version "5.1.0+" could be any snapshot taken between 5.1.0 +and 5.1.1. + +Contact info +============ + +Mission Control was originally written by Nokia Corporation for the Maemo +platform, but it is now maintained by the Telepathy project: + <http://telepathy.freedesktop.org/> + <mailto:telepathy@lists.freedesktop.org> + <irc://irc.freenode.net/telepathy> + +Hacking +======= + +The current development version of MC is available from the +'master' branch in the git repository: + <git://git.collabora.co.uk/git/telepathy-mission-control.git> + <git+ssh://git.collabora.co.uk/git/telepathy-mission-control.git> + <http://git.collabora.co.uk/?p=telepathy-mission-control.git> (gitweb) + +Stable branches will be made available from branches with names like +'telepathy-mission-control-5.2' in the same repository. + +Contributions for review should be attached to bugs in freedesktop.org +Bugzilla, with the "patch" tag. If there's no relevant bug, open one: + <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=telepathy-mission-control> + +MC does not yet follow <http://telepathy.freedesktop.org/wiki/Style>. Please +follow the style used in the current code. diff --git a/configure.ac b/configure.ac index d8c47864..111ed1b5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Set the version number to e.g. 5.0.beta42 immediately before a release. dnl Set the version number to e.g. 5.0.beta42+ immediately after (this will dnl enable -Werror). -AC_INIT(telepathy-mission-control, 5.0.beta74+) +AC_INIT(telepathy-mission-control, 5.1.0) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR(Makefile.am) @@ -214,6 +214,36 @@ AC_ARG_ENABLE(server, ) AM_CONDITIONAL(HAVE_SERVER, [test x$server_enabled = xyes]) +ENABLE_MC_CLIENT_SO6="no" +AC_MSG_CHECKING(whether to pretend libmcclient is stable) +AC_ARG_ENABLE(mcclient-so6, + [ --enable-mcclient-so6 pretend libmcclient is ABI-stable], + [ + AC_MSG_RESULT(${enableval}) + ENABLE_MC_CLIENT_SO6="${enableval}" + ], + [ + AC_MSG_RESULT(no) + ENABLE_MC_CLIENT_SO6="no" + ] +) +AM_CONDITIONAL(ENABLE_MC_CLIENT_SO6, [test "x$ENABLE_MC_CLIENT_SO6" = xyes]) + +ENABLE_MC_SERVER_SO6="no" +AC_MSG_CHECKING(whether to pretend libmissioncontrol-server is stable) +AC_ARG_ENABLE(mcserver-so6, + [ --enable-mcserver-so6 pretend libmissioncontrol-server is ABI-stable], + [ + AC_MSG_RESULT(${enableval}) + ENABLE_MC_SERVER_SO6="${enableval}" + ], + [ + AC_MSG_RESULT(no) + ENABLE_MC_SERVER_SO6="no" + ] +) +AM_CONDITIONAL(ENABLE_MC_SERVER_SO6, [test "x$ENABLE_MC_SERVER_SO6" = xyes]) + plugins_enabled="no" AC_MSG_CHECKING(whether to support plugins) AC_ARG_ENABLE(plugins, diff --git a/libmcclient/Makefile.am b/libmcclient/Makefile.am index f4202cf1..9fc1308d 100644 --- a/libmcclient/Makefile.am +++ b/libmcclient/Makefile.am @@ -80,10 +80,15 @@ libmcclient_la_LIBADD = \ $(GLIB_LIBS) libmcclient_la_LDFLAGS = \ - -export-symbols-regex "^(mc_)|(mission_control_)" \ - -version-info "10":"0":"4" + -export-symbols-regex "^(mc_)|(mission_control_)" + +if ENABLE_MC_CLIENT_SO6 # the redundant quoting here is to prevent the libtool command line from # looking like an error message in an oddly named file +libmcclient_la_LDFLAGS += -version-info "10":"0":"4" +else +libmcclient_la_LDFLAGS += -release $(VERSION) +endif %-marshal.h: %-marshal.list Makefile.am glib-genmarshal --header --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.h diff --git a/src/Makefile.am b/src/Makefile.am index 3a606e12..20e199cf 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -97,10 +97,15 @@ lib_LTLIBRARIES = libmissioncontrol-server.la libmissioncontrol_server_la_LIBADD += $(GMODULE_LIBS) libmissioncontrol_server_la_LDFLAGS = \ - -export-symbols-regex '^((mc_)|(mcd_)|(mission_control_))' \ - -version-info "10":"0":"4" + -export-symbols-regex '^((mc_)|(mcd_)|(mission_control_))' + +if ENABLE_MC_SERVER_SO6 # the redundant quoting here is to prevent the libtool command line from # looking like an error message in an oddly named file +libmissioncontrol_server_la_LDFLAGS += -version-info "10":"0":"4" +else +libmissioncontrol_server_la_LDFLAGS += -release $(VERSION) +endif mission_control_includedir = $(includedir)/mission-control mission_control_include_HEADERS = $(mc_headers) @@ -111,9 +116,9 @@ nodist_geninclude_HEADERS = $(mc_gen_headers) INCLUDES += \ $(GMODULE_CFLAGS) \ -DMCD_DEFAULT_FILTER_PLUGIN_DIR=\"@pluginlibdir@\" -else +else # ENABLE_PLUGINS noinst_LTLIBRARIES = libmissioncontrol-server.la -endif +endif # ENABLE_PLUGINS libmissioncontrol_server_la_SOURCES = \ mcd-account.c \ |