[evolution-patches] evolution may fail to start up evolution data server automatically



hi, Harish

We spotted a problem in evolution 2.2 that evolution data server failed to start up by itself when evolution is launched under solaris.

The cause is on solaris, we speficy libexecdir = libdir when configuring, so there is no /usr/libexec directory under solaris. This lead to the fact that evolution-data-server-1.2 is not installed as expected in /usr/libexec on linux. A copy of this executable file is put into /usr/lib/evolution-data-server-1.2 instead since the directory has already been there. As a result, the actual installation path for the executable evolution -data-server-1.2 is /usr/lib/evolution-data-server-1.2/evolution-data-server.

However, in /usr/lib/bonobo/servers/GNOME_Evolution_DataServer-1.2.server, the location for the executable evolution-data-server-1.2 is incorrect, which is /usr/lib/evolution-data-server-1.2.

For Evolution 2.4, we looked in to evolution-data-server-1.4 installation and found that in the 1.4 version, two different VERSIONs are defined, a BASE_VERSION=1.4 and a API_VERSION=1.2. In this way, the name of the executable evolution-data-server-1.4 is different from the directory evolution-data-server-1.2 for installing camelprovider and extensions. However, when API_VERSION and BASE_VERSION bear the same value (possibly in the future) , evolution data server will fail to start up by itself again.

On the above observation, I created a patch for settling the problem as decribed. The patch is sent as attachment to this file. Please reviews.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/ChangeLog,v
retrieving revision 1.308
diff -u -r1.308 ChangeLog
--- ChangeLog	14 Oct 2005 11:31:39 -0000	1.308
+++ ChangeLog	17 Oct 2005 05:16:14 -0000
@@ -1,3 +1,21 @@
+2005-10-17  Irene Huang <Irene Huang sun com>
+
+	* configure.in: Add API_VERSION to EVO_SUBST_SERVER_RULE
+	* src/GNOME_Evolution_DataServer.server.in.in: Change location 
+	of OAFIID:GNOME_Evolution_DataServer_BookFactory:@VERSION@, 
+	OAFIID:GNOME_Evolution_DataServer_CalFactory:@VERSION@, 
+	OAFIID:GNOME_Evolution_DataServer_InterfaceCheck, 
+	OAFIID:GNOME_Evolution_DataServer_Logging from 
+	@LIBEXECDIR@/evolution-data-server- VERSION@@EXEEXT@ to 
+	@LIBEXECDIR@/evolution-data-server- API_VERSION@/evolution-
+	data-server- VERSION@@EXEEXT     
+	* src/Makefile.am: In section install-evolution-data-servers: 
+	change to $(mkinstalldirs) $(DESTDIR)$(libexecdir)/evolution-
+	data-server-$(API_VERSION) 
+	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution-data-server 
+	$(DESTDIR)$(libexecdir)/evolution-data-server-$(API_VERSION)/
+	evolution-data-server-$(BASE_VERSION)
+
 2005-10-14  Ross Burton  <ross burtonini com>
 
 	* configure.in: Remove unused dependencies from the pkg-config
Index: configure.in
===================================================================
RCS file: /cvs/gnome/evolution-data-server/configure.in,v
retrieving revision 1.138
diff -u -r1.138 configure.in
--- configure.in	14 Oct 2005 11:31:39 -0000	1.138
+++ configure.in	17 Oct 2005 05:16:15 -0000
@@ -1241,7 +1241,7 @@
 AC_SUBST(INTERFACE_VERSION)
 AC_DEFINE_UNQUOTED(INTERFACE_VERSION, "$INTERFACE_VERSION", [IDL interface version (Major.Minor)])
 
-EVO_SUBST_SERVER_RULE='%.server.in: %.server.in.in ; sed -e "s|\ BINDIR\@|$(bindir)|" -e "s|\ LIBEXECDIR\@|$(libexecdir)|" -e "s|\ COMPONENTDIR\@|$(componentdir)|" -e "s|\ IMPORTERSDIR\@|$(importersdir)|" -e "s|\ EXEEXT\@|$(EXEEXT)|" -e "s|\ VERSION\@|$(BASE_VERSION)|" -e "s|\ INTERFACE_VERSION\@|$(INTERFACE_VERSION)|" $< > $@'
+EVO_SUBST_SERVER_RULE='%.server.in: %.server.in.in ; sed -e "s|\ BINDIR\@|$(bindir)|" -e "s|\ LIBEXECDIR\@|$(libexecdir)|" -e "s|\ COMPONENTDIR\@|$(componentdir)|" -e "s|\ IMPORTERSDIR\@|$(importersdir)|" -e "s|\ EXEEXT\@|$(EXEEXT)|" -e "s|\ VERSION\@|$(BASE_VERSION)|" -e "s|\ API_VERSION\@|$(API_VERSION)|" -e "s|\ INTERFACE_VERSION\@|$(INTERFACE_VERSION)|" $< > $@'
 EVO_NAME_SERVER_RULE='%_$(API_VERSION).server: %.server ; mv $< $@'
 AC_SUBST(EVO_SUBST_SERVER_RULE)
 AC_SUBST(EVO_NAME_SERVER_RULE)
Index: src/GNOME_Evolution_DataServer.server.in.in
===================================================================
RCS file: /cvs/gnome/evolution-data-server/src/GNOME_Evolution_DataServer.server.in.in,v
retrieving revision 1.4
diff -u -r1.4 GNOME_Evolution_DataServer.server.in.in
--- src/GNOME_Evolution_DataServer.server.in.in	28 Jul 2005 19:01:56 -0000	1.4
+++ src/GNOME_Evolution_DataServer.server.in.in	17 Oct 2005 05:16:32 -0000
@@ -2,7 +2,7 @@
 
 <oaf_server iid="OAFIID:GNOME_Evolution_DataServer_BookFactory:@VERSION@"
             type="exe"
-            location="@LIBEXECDIR@/evolution-data-server- VERSION@@EXEEXT@">
+            location="@LIBEXECDIR@/evolution-data-server- API_VERSION@/evolution-data-server- VERSION@@EXEEXT@">
 
 	<oaf_attribute name="repo_ids" type="stringv">
 		<item value="IDL:GNOME/Evolution/DataServer/BookFactory:@VERSION@"/>
@@ -15,7 +15,7 @@
 
 <oaf_server iid="OAFIID:GNOME_Evolution_DataServer_CalFactory:@VERSION@"
             type="exe"
-            location="@LIBEXECDIR@/evolution-data-server- VERSION@@EXEEXT@">
+            location="@LIBEXECDIR@/evolution-data-server- API_VERSION@/evolution-data-server- VERSION@@EXEEXT@">
 
 	<oaf_attribute name="repo_ids" type="stringv">
 		<item value="IDL:GNOME/Evolution/DataServer/CalFactory:@VERSION@"/>
@@ -28,7 +28,7 @@
 
 <oaf_server iid="OAFIID:GNOME_Evolution_DataServer_InterfaceCheck"
             type="exe"
-            location="@LIBEXECDIR@/evolution-data-server- VERSION@@EXEEXT@">
+            location="@LIBEXECDIR@/evolution-data-server- API_VERSION@/evolution-data-server VERSION@@EXEEXT@">
 
 	<oaf_attribute name="repo_ids" type="stringv">
 		<item value="IDL:GNOME/Evolution/ServerInterfaceCheck:1.0"/>
@@ -40,7 +40,7 @@
 
 <oaf_server iid="OAFIID:GNOME_Evolution_DataServer_Logging"
             type="exe"
-            location="@LIBEXECDIR@/evolution-data-server- VERSION@@EXEEXT@">
+            location="@LIBEXECDIR@/evolution-data-server- API_VERSION@/evolution-data-server- VERSION@@EXEEXT@">
 
 	<oaf_attribute name="repo_ids" type="stringv">
 		<item value="IDL:GNOME/Evolution/ServerLogging:1.0"/>
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/src/Makefile.am,v
retrieving revision 1.21
diff -u -r1.21 Makefile.am
--- src/Makefile.am	14 Oct 2005 11:31:43 -0000	1.21
+++ src/Makefile.am	17 Oct 2005 05:16:32 -0000
@@ -57,8 +57,8 @@
 	$(E_FACTORY_LIBS)
 
 install-evolution-data-servers:
-	$(mkinstalldirs) $(DESTDIR)$(libexecdir)
-	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution-data-server $(DESTDIR)$(libexecdir)/evolution-data-server-$(BASE_VERSION)
+	$(mkinstalldirs) $(DESTDIR)$(libexecdir)/evolution-data-server-$(API_VERSION)
+	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution-data-server $(DESTDIR)$(libexecdir)/evolution-data-server-$(API_VERSION)/evolution-data-server-$(BASE_VERSION)
 
 SERVER_IN_FILE=GNOME_Evolution_DataServer.server.in.in
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]