After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 323529 - Duplicated files should be removed from evolution/e-util ASAP !!!(This is the cause of Evolution crashing unexpectedly on Solaris)
Duplicated files should be removed from evolution/e-util ASAP !!!(This is the...
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: general
2.4.x (obsolete)
Other Solaris
: Normal blocker
: ---
Assigned To: Shreyas Srinivasan
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2005-12-08 06:37 UTC by Irene Huang
Modified: 2006-02-05 09:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Partial patch for evolution-exchange (1.18 KB, patch)
2005-12-15 07:04 UTC, Irene Huang
none Details | Review
Partial patch for Evolution (7.23 KB, patch)
2005-12-15 07:07 UTC, Irene Huang
none Details | Review
Partial patch for evolution-data-server regarding e-account.* and e-account-list.* (28.87 KB, patch)
2005-12-19 03:20 UTC, Xiurong Simon Zheng
none Details | Review
Partial patch for evolution regarding e-account.* and e-account-list.* (23.21 KB, patch)
2005-12-19 03:28 UTC, Xiurong Simon Zheng
none Details | Review
Partial patch for evolution-exchange regarding e-account.* and e-account-list.* (2.12 KB, patch)
2005-12-19 03:29 UTC, Xiurong Simon Zheng
none Details | Review
Partial patch for evolution-data-server regarding e-util.* (16.61 KB, patch)
2005-12-19 09:37 UTC, Xiurong Simon Zheng
none Details | Review
Partial patch for evolution regarding e-util.* (34.85 KB, patch)
2005-12-23 07:22 UTC, Xiurong Simon Zheng
accepted-commit_now Details | Review
Partial patch for evolution-exchange regarding e-util.* (4.64 KB, patch)
2005-12-23 07:23 UTC, Xiurong Simon Zheng
accepted-commit_now Details | Review
Partial patch for evolution-data-server regarding e-util.* (33.87 KB, patch)
2005-12-23 08:09 UTC, Xiurong Simon Zheng
accepted-commit_now Details | Review
Remove duplicate e-util-marshal.list in evolution/widgets/misc (5.41 KB, patch)
2006-01-10 10:32 UTC, Xiurong Simon Zheng
reviewed Details | Review

Description Irene Huang 2005-12-08 06:37:42 UTC
While evolution-2.4 works fine on Linux, it is quite weird it crashes
occassionally on Solaris. 

Sometimes, it exits unexpectedly right after startup. This is especilly the case
when we build evolution with the option -BDirect on Solaris. 

This is, as we have investigated, because there are huge duplications between
libedataserver and libeutil. A great deal of different APIs have same names.
Therefore, when evolution is running, some of the wrong APIs in libeutil are
used instead of their counterpars in libedataserver, because of duplications.
This is generally the cause of crashes on Solaris. These carshes are harasing
Solaris users of both evolution-2.4 and evolution trunk right now.  

BTW: A webpage has been created for discussing how to settle this problem at
http://live.gnome.org/EvolutionEUtilDieDieDie. A list of overlapping files can
be found there
Comment 1 André Klapper 2005-12-08 15:32:56 UTC
confirming of course.
Comment 2 André Klapper 2005-12-08 15:59:54 UTC
according to today's team meeting, shres and tml are looking into this.
so adding shres to cc.
Comment 3 Irene Huang 2005-12-15 07:04:58 UTC
Created attachment 56010 [details] [review]
Partial patch for evolution-exchange
Comment 4 Irene Huang 2005-12-15 07:07:34 UTC
Created attachment 56011 [details] [review]
Partial patch for Evolution
Comment 5 Irene Huang 2005-12-15 07:08:09 UTC
patches have already commited to community head
Comment 6 Shreyas Srinivasan 2005-12-15 14:05:45 UTC
whats the story with e-xml-utils.c, has anyone checked why the e-util files and
the libedataserver files differ so much ?
Comment 7 Xiurong Simon Zheng 2005-12-19 03:20:03 UTC
Created attachment 56133 [details] [review]
Partial patch for evolution-data-server regarding e-account.* and e-account-list.*
Comment 8 Xiurong Simon Zheng 2005-12-19 03:25:20 UTC
Comment on attachment 56133 [details] [review]
Partial patch for evolution-data-server regarding e-account.* and e-account-list.*

Patches is regarding the four following files. e-account.h, e-account.c e-account-list.h e-account-list.c

As the copies in evolution/e-util have been developed further. Merge these changes into the copy in libedataserver and drop the copies in e-util.
Comment 9 Xiurong Simon Zheng 2005-12-19 03:28:33 UTC
Created attachment 56134 [details] [review]
Partial patch for evolution regarding e-account.* and e-account-list.*
Comment 10 Xiurong Simon Zheng 2005-12-19 03:29:10 UTC
Created attachment 56135 [details] [review]
Partial patch for evolution-exchange regarding e-account.* and e-account-list.*
Comment 11 Xiurong Simon Zheng 2005-12-19 09:37:44 UTC
Created attachment 56146 [details] [review]
Partial patch for evolution-data-server regarding e-util.*

e-util.* are very different between evolution/e-util and evolution-data-server/libedataserver. Thus, merging may not a good idea. Instead of merging, we can rename these files in evolution-data-server/libedataserver, like e-data-server-util.h, e-data-server-util.c.
Comment 12 Xiurong Simon Zheng 2005-12-23 07:19:39 UTC
Comment on attachment 56146 [details] [review]
Partial patch for evolution-data-server regarding e-util.*

Index: evolution-data-server/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/ChangeLog,v
retrieving revision 1.350
diff -u -p -r1.350 ChangeLog
--- evolution-data-server/ChangeLog	13 Dec 2005 14:07:16 -0000	1.350
+++ evolution-data-server/ChangeLog	21 Dec 2005 10:31:25 -0000
@@ -1,3 +1,15 @@
+2005-12-21  Simon.zheng  <simon.zheng@sun.com>
+
+	* libedataserver/e-util.c (e_util_mkdir_hier): Merge the change of
+	evolution/e-util/e-util.c (e_mkdir_hier) into this copy. 
+
+	(e_util_strstrcase): Merge the change of evolution/e-util/e-util.c 
+	into this copy. 
+	
+	Rename e-util.c as e-data-server-util.c.
+	
+	* libedataserver/e-util.h : Rename this file as e-data-server-util.h
+
 2005-12-13  Tor Lillqvist  <tml@novell.com>
 
 	* libedataserver/e-uid.c (e_uid_new): Use g_get_host_name() when
Index: evolution-data-server/addressbook/backends/file/e-book-backend-file.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/file/e-book-backend-file.c,v
retrieving revision 1.39
diff -u -p -r1.39 e-book-backend-file.c
--- evolution-data-server/addressbook/backends/file/e-book-backend-file.c	8 Dec 2005 04:29:33 -0000	1.39
+++ evolution-data-server/addressbook/backends/file/e-book-backend-file.c	21 Dec 2005 10:31:26 -0000
@@ -42,7 +42,7 @@
 
 #include "libedataserver/e-dbhash.h"
 #include "libedataserver/e-db3-utils.h"
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "libebook/e-contact.h"
 
Index: evolution-data-server/addressbook/backends/groupwise/e-book-backend-groupwise.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/groupwise/e-book-backend-groupwise.c,v
retrieving revision 1.70
diff -u -p -r1.70 e-book-backend-groupwise.c
--- evolution-data-server/addressbook/backends/groupwise/e-book-backend-groupwise.c	8 Dec 2005 04:34:48 -0000	1.70
+++ evolution-data-server/addressbook/backends/groupwise/e-book-backend-groupwise.c	21 Dec 2005 10:31:26 -0000
@@ -35,7 +35,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "libedataserver/e-sexp.h"
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 #include "libedataserver/e-url.h" 
 #include "libebook/e-contact.h"
 #include "libedata-book/e-book-backend-sexp.h"
Index: evolution-data-server/addressbook/backends/vcf/e-book-backend-vcf.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/vcf/e-book-backend-vcf.c,v
retrieving revision 1.21
diff -u -p -r1.21 e-book-backend-vcf.c
--- evolution-data-server/addressbook/backends/vcf/e-book-backend-vcf.c	8 Dec 2005 04:40:34 -0000	1.21
+++ evolution-data-server/addressbook/backends/vcf/e-book-backend-vcf.c	21 Dec 2005 10:31:26 -0000
@@ -40,7 +40,7 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "libebook/e-contact.h"
  
Index: evolution-data-server/addressbook/libebook/e-address-western.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libebook/e-address-western.c,v
retrieving revision 1.3
diff -u -p -r1.3 e-address-western.c
--- evolution-data-server/addressbook/libebook/e-address-western.c	4 May 2005 08:46:12 -0000	1.3
+++ evolution-data-server/addressbook/libebook/e-address-western.c	21 Dec 2005 10:31:26 -0000
@@ -14,7 +14,7 @@
 #include <glib.h>
 
 #include "e-address-western.h"
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 
 /* These are the keywords that will distinguish the start of an extended
    address. */
Index: evolution-data-server/addressbook/libebook/e-contact.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libebook/e-contact.c,v
retrieving revision 1.54
diff -u -p -r1.54 e-contact.c
--- evolution-data-server/addressbook/libebook/e-contact.c	25 Nov 2005 03:28:51 -0000	1.54
+++ evolution-data-server/addressbook/libebook/e-contact.c	21 Dec 2005 10:31:26 -0000
@@ -33,7 +33,7 @@
 #include "e-name-western.h"
 
 #ifdef G_OS_WIN32
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #undef EVOLUTION_LOCALEDIR
 #define EVOLUTION_LOCALEDIR e_util_get_localedir ()
 #endif
Index: evolution-data-server/addressbook/libedata-book/e-book-backend-sexp.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libedata-book/e-book-backend-sexp.c,v
retrieving revision 1.14
diff -u -p -r1.14 e-book-backend-sexp.c
--- evolution-data-server/addressbook/libedata-book/e-book-backend-sexp.c	9 Dec 2005 10:56:46 -0000	1.14
+++ evolution-data-server/addressbook/libedata-book/e-book-backend-sexp.c	21 Dec 2005 10:31:26 -0000
@@ -20,7 +20,7 @@
 
 #include <string.h>
 #include <libedataserver/e-sexp.h>
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include "e-book-backend-sexp.h"
 
 static GObjectClass *parent_class;
Index: evolution-data-server/addressbook/libedata-book/e-book-backend-summary.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/addressbook/libedata-book/e-book-backend-summary.c,v
retrieving revision 1.13
diff -u -p -r1.13 e-book-backend-summary.c
--- evolution-data-server/addressbook/libedata-book/e-book-backend-summary.c	9 Dec 2005 10:56:46 -0000	1.13
+++ evolution-data-server/addressbook/libedata-book/e-book-backend-summary.c	21 Dec 2005 10:31:26 -0000
@@ -34,7 +34,7 @@
 #include <glib/gstdio.h>
 
 #include "libedataserver/e-sexp.h"
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "libebook/e-contact.h"
 
Index: evolution-data-server/calendar/backends/file/e-cal-backend-file.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/file/e-cal-backend-file.c,v
retrieving revision 1.68
diff -u -p -r1.68 e-cal-backend-file.c
--- evolution-data-server/calendar/backends/file/e-cal-backend-file.c	8 Dec 2005 06:17:19 -0000	1.68
+++ evolution-data-server/calendar/backends/file/e-cal-backend-file.c	21 Dec 2005 10:31:26 -0000
@@ -33,7 +33,7 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 #include <libgnomevfs/gnome-vfs.h>
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include <libedataserver/e-xml-hash-utils.h>
 #include <libecal/e-cal-recur.h>
 #include <libecal/e-cal-time-util.h>
Index: evolution-data-server/calendar/backends/weather/e-weather-source-ccf.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/weather/e-weather-source-ccf.c,v
retrieving revision 1.4
diff -u -p -r1.4 e-weather-source-ccf.c
--- evolution-data-server/calendar/backends/weather/e-weather-source-ccf.c	9 Dec 2005 11:27:19 -0000	1.4
+++ evolution-data-server/calendar/backends/weather/e-weather-source-ccf.c	21 Dec 2005 10:31:26 -0000
@@ -39,7 +39,7 @@
 
 #ifdef G_OS_WIN32
 
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 
 /* The localtime_r() in <pthread.h> doesn't guard against localtime()
  * returning NULL
Index: evolution-data-server/calendar/libecal/e-cal-util.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-util.c,v
retrieving revision 1.13
diff -u -p -r1.13 e-cal-util.c
--- evolution-data-server/calendar/libecal/e-cal-util.c	9 Dec 2005 11:33:55 -0000	1.13
+++ evolution-data-server/calendar/libecal/e-cal-util.c	21 Dec 2005 10:31:27 -0000
@@ -25,7 +25,7 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 #include "e-cal-util.h"
 
 
Index: evolution-data-server/calendar/libedata-cal/e-cal-backend-sexp.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libedata-cal/e-cal-backend-sexp.c,v
retrieving revision 1.21
diff -u -p -r1.21 e-cal-backend-sexp.c
--- evolution-data-server/calendar/libedata-cal/e-cal-backend-sexp.c	6 May 2005 11:22:28 -0000	1.21
+++ evolution-data-server/calendar/libedata-cal/e-cal-backend-sexp.c	21 Dec 2005 10:31:27 -0000
@@ -24,7 +24,7 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include <libecal/e-cal-time-util.h>
 
 #include "e-cal-backend-sexp.h"
Index: evolution-data-server/camel/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/ChangeLog,v
retrieving revision 1.2510
diff -u -p -r1.2510 ChangeLog
--- evolution-data-server/camel/ChangeLog	13 Dec 2005 13:54:59 -0000	1.2510
+++ evolution-data-server/camel/ChangeLog	21 Dec 2005 10:31:27 -0000
@@ -1,3 +1,8 @@
+2005-12-21  Simon Zheng  <Simon.Zheng@sun.com>
+
+	* camel-file-utils.c : Delete camel_mkdir(), and all the callers 
+	use e_util_mkdir_hier() instead.
+
 2005-12-13  Tor Lillqvist  <tml@novell.com>
 
 	* camel-filter-driver.c: Use gstdio wrappers. Use
Index: evolution-data-server/camel/camel-data-cache.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-data-cache.c,v
retrieving revision 1.19
diff -u -p -r1.19 camel-data-cache.c
--- evolution-data-server/camel/camel-data-cache.c	1 Dec 2005 11:21:12 -0000	1.19
+++ evolution-data-server/camel/camel-data-cache.c	21 Dec 2005 10:31:27 -0000
@@ -35,6 +35,7 @@
 
 #include <glib/gstdio.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include "camel-i18n.h"
 #include "camel-data-cache.h"
 #include "camel-exception.h"
@@ -130,7 +131,7 @@ camel_data_cache_new(const char *path, g
 {
 	CamelDataCache *cdc;
 
-	if (camel_mkdir (path, 0700) == -1) {
+	if (e_util_mkdir_hier (path, 0700) == -1) {
 		camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM,
 				     _("Unable to create cache path"));
 		return NULL;
@@ -246,7 +247,7 @@ data_cache_path(CamelDataCache *cdc, int
 	if (access (dir, F_OK) == -1) {
 #endif
 		if (create)
-			camel_mkdir (dir, 0700);
+			e_util_mkdir_hier (dir, 0700);
 	} else if (cdc->priv->expire_inc == hash
 		   && (cdc->expire_age != -1 || cdc->expire_access != -1)) {
 		time_t now;
Index: evolution-data-server/camel/camel-debug.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-debug.c,v
retrieving revision 1.5
diff -u -p -r1.5 camel-debug.c
--- evolution-data-server/camel/camel-debug.c	15 Sep 2005 12:24:59 -0000	1.5
+++ evolution-data-server/camel/camel-debug.c	21 Dec 2005 10:31:27 -0000
@@ -25,7 +25,7 @@
 
 #include <pthread.h>
 
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 #include "camel-debug.h"
 
 int camel_verbose_debug;
Index: evolution-data-server/camel/camel-file-utils.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-file-utils.c,v
retrieving revision 1.15
diff -u -p -r1.15 camel-file-utils.c
--- evolution-data-server/camel/camel-file-utils.c	8 Dec 2005 06:41:55 -0000	1.15
+++ evolution-data-server/camel/camel-file-utils.c	21 Dec 2005 10:31:27 -0000
@@ -41,7 +41,7 @@
 #define EWOULDBLOCK EAGAIN
 #endif
 
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "camel-file-utils.h"
 #include "camel-operation.h"
@@ -316,46 +316,6 @@ camel_file_util_decode_string (FILE *in,
 	return 0;
 }
 
-
-/**
- * camel_mkdir:
- * @path: directory path to create
- * @mode: permissions
- *
- * Creates the directory path described in @path, creating any parent
- * directories as necessary.
- *
- * Returns 0 on success or -1 on fail. In the case of failure, errno
- * will be set appropriately.
- **/
-int
-camel_mkdir (const char *path, mode_t mode)
-{
-#if GLIB_CHECK_VERSION(2,8,0)
-	g_assert(path && g_path_is_absolute (path));
-	return g_mkdir_with_parents (path, mode);
-#else
-	char *copy, *p;
-	
-	g_assert(path && path[0] == '/');
-	
-	p = copy = g_alloca (strlen (path) + 1);
-	strcpy(copy, path);
-	do {
-		p = strchr(p + 1, '/');
-		if (p)
-			*p = '\0';
-		if (access(copy, F_OK) == -1) {
-			if (mkdir(copy, mode) == -1)
-				return -1;
-		}
-		if (p)
-			*p = '/';
-	} while (p);
-	
-	return 0;
-#endif
-}
 
 /**
  * camel_file_util_safe_filename:
Index: evolution-data-server/camel/camel-file-utils.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-file-utils.h,v
retrieving revision 1.10
diff -u -p -r1.10 camel-file-utils.h
--- evolution-data-server/camel/camel-file-utils.h	30 Nov 2005 09:54:54 -0000	1.10
+++ evolution-data-server/camel/camel-file-utils.h	21 Dec 2005 10:31:27 -0000
@@ -55,7 +55,6 @@ int camel_file_util_decode_size_t (FILE 
 int camel_file_util_encode_string (FILE *out, const char *);
 int camel_file_util_decode_string (FILE *in, char **);
 
-int camel_mkdir (const char *path, mode_t mode);
 char *camel_file_util_safe_filename (const char *name);
 
 /* Code that intends to be portable to Win32 should use camel_read()
Index: evolution-data-server/camel/camel-object.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-object.c,v
retrieving revision 1.57
diff -u -p -r1.57 camel-object.c
--- evolution-data-server/camel/camel-object.c	13 Dec 2005 04:58:42 -0000	1.57
+++ evolution-data-server/camel/camel-object.c	21 Dec 2005 10:31:28 -0000
@@ -31,6 +31,7 @@
 
 #include "libedataserver/e-memory.h"
 #include "libedataserver/e-msgport.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "camel-file-utils.h"
 #include "camel-object.h"
@@ -1844,7 +1845,7 @@ int camel_object_state_write(void *vo)
 
 	savename = camel_file_util_savename(file);
 	dirname = g_path_get_dirname(savename);
-	camel_mkdir(dirname, 0777);
+	e_util_mkdir_hier(dirname, 0777);
 	g_free(dirname);
 	fp = g_fopen(savename, "wb");
 	if (fp != NULL) {
Index: evolution-data-server/camel/camel-session.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-session.c,v
retrieving revision 1.114
diff -u -p -r1.114 camel-session.c
--- evolution-data-server/camel/camel-session.c	14 Dec 2005 13:15:22 -0000	1.114
+++ evolution-data-server/camel/camel-session.c	21 Dec 2005 10:31:28 -0000
@@ -36,6 +36,7 @@
 
 #include <glib/gstdio.h>
 
+#include "libedataserver/e-data-server-util.h"
 #include "camel-exception.h"
 #include "camel-file-utils.h"
 #include "camel-i18n.h"
@@ -285,7 +286,7 @@ get_storage_path (CamelSession *session,
 #endif
 		return path;
 
-	if (camel_mkdir (path, S_IRWXU) == -1) {
+	if (e_util_mkdir_hier (path, S_IRWXU) == -1) {
 		camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
 				      _("Could not create directory %s:\n%s"),
 				      path, g_strerror (errno));
Index: evolution-data-server/camel/camel-uid-cache.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-uid-cache.c,v
retrieving revision 1.16
diff -u -p -r1.16 camel-uid-cache.c
--- evolution-data-server/camel/camel-uid-cache.c	30 Nov 2005 09:54:54 -0000	1.16
+++ evolution-data-server/camel/camel-uid-cache.c	21 Dec 2005 10:31:28 -0000
@@ -34,6 +34,7 @@
 
 #include <glib/gstdio.h>
 
+#include "libedataserver/e-data-server-util.h"
 #include "camel-file-utils.h"
 #include "camel-private.h"
 #include "camel-uid-cache.h"
@@ -63,7 +64,7 @@ camel_uid_cache_new (const char *filenam
 	int fd, i;
 	
 	dirname = g_path_get_dirname (filename);
-	if (camel_mkdir (dirname, 0777) == -1) {
+	if (e_util_mkdir_hier (dirname, 0777) == -1) {
 		g_free (dirname);
 		return NULL;
 	}
Index: evolution-data-server/camel/camel-win32.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-win32.c,v
retrieving revision 1.4
diff -u -p -r1.4 camel-win32.c
--- evolution-data-server/camel/camel-win32.c	1 Dec 2005 10:32:30 -0000	1.4
+++ evolution-data-server/camel/camel-win32.c	21 Dec 2005 10:31:28 -0000
@@ -31,7 +31,7 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 
 #include "camel.h"
 
Index: evolution-data-server/camel/providers/imap/camel-imap-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/camel-imap-folder.c,v
retrieving revision 1.357
diff -u -p -r1.357 camel-imap-folder.c
--- evolution-data-server/camel/providers/imap/camel-imap-folder.c	8 Dec 2005 11:04:40 -0000	1.357
+++ evolution-data-server/camel/providers/imap/camel-imap-folder.c	21 Dec 2005 10:31:28 -0000
@@ -36,6 +36,7 @@
 
 /*#include "libedataserver/e-path.h"*/
 #include "libedataserver/e-time-utils.h"
+#include "libedataserver/e-data-server-util.h"
 
 #include "camel-imap-folder.h"
 #include "camel-imap-command.h"
@@ -227,7 +228,7 @@ camel_imap_folder_new (CamelStore *paren
 	const char *short_name;
 	char *summary_file, *state_file;
 
-	if (camel_mkdir (folder_dir, S_IRWXU) != 0) {
+	if (e_util_mkdir_hier (folder_dir, S_IRWXU) != 0) {
 		camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
 				      _("Could not create directory %s: %s"),
 				      folder_dir, g_strerror (errno));
Index: evolution-data-server/camel/providers/imap4/camel-imap4-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap4/camel-imap4-folder.c,v
retrieving revision 1.46
diff -u -p -r1.46 camel-imap4-folder.c
--- evolution-data-server/camel/providers/imap4/camel-imap4-folder.c	31 Aug 2005 04:26:05 -0000	1.46
+++ evolution-data-server/camel/providers/imap4/camel-imap4-folder.c	21 Dec 2005 10:31:28 -0000
@@ -35,6 +35,7 @@
 #include <errno.h>
 #include <time.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include <camel/camel-utf8.h>
 #include <camel/camel-private.h>
 #include <camel/camel-file-utils.h>
@@ -345,7 +346,7 @@ camel_imap4_folder_new (CamelStore *stor
 	
 	folder->summary = camel_imap4_summary_new (folder);
 	imap4_folder->cachedir = imap4_store_build_filename (store, folder->full_name);
-	camel_mkdir (imap4_folder->cachedir, 0777);
+	e_util_mkdir_hier (imap4_folder->cachedir, 0777);
 	
 	imap4_folder->cache = camel_data_cache_new (imap4_folder->cachedir, 0, NULL);
 	
Index: evolution-data-server/camel/providers/imapp/camel-imapp-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imapp/camel-imapp-folder.c,v
retrieving revision 1.6
diff -u -p -r1.6 camel-imapp-folder.c
--- evolution-data-server/camel/providers/imapp/camel-imapp-folder.c	31 Aug 2005 04:26:05 -0000	1.6
+++ evolution-data-server/camel/providers/imapp/camel-imapp-folder.c	21 Dec 2005 10:31:30 -0000
@@ -42,6 +42,7 @@
 #include "camel-imapp-exception.h"
 
 #include <libedataserver/md5-utils.h>
+#include <libedataserver/e-data-server-util.h>
 
 #include <stdlib.h>
 #include <string.h>
@@ -134,7 +135,7 @@ camel_imapp_folder_new(CamelStore *store
 		char *base = g_build_filename(root, path, NULL);
 		char *file = g_build_filename(base, ".ev-summary", NULL);
 
-		camel_mkdir(base, 0777);
+		e_util_mkdir_hier(base, 0777);
 		g_free(base);
 
 		camel_folder_summary_set_filename(folder->summary, file);
Index: evolution-data-server/camel/providers/local/camel-local-store.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/local/camel-local-store.c,v
retrieving revision 1.40
diff -u -p -r1.40 camel-local-store.c
--- evolution-data-server/camel/providers/local/camel-local-store.c	8 Dec 2005 11:28:47 -0000	1.40
+++ evolution-data-server/camel/providers/local/camel-local-store.c	21 Dec 2005 10:31:30 -0000
@@ -32,6 +32,7 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include "camel/camel-exception.h"
 #include "camel/camel-file-utils.h"
 #include "camel/camel-i18n.h"
@@ -174,7 +175,7 @@ get_folder(CamelStore * store, const cha
 	}
 	
 	/* need to create the dir heirarchy */
-	if (camel_mkdir (path, 0777) == -1 && errno != EEXIST) {
+	if (e_util_mkdir_hier (path, 0777) == -1 && errno != EEXIST) {
 		camel_exception_setv (ex, CAMEL_EXCEPTION_STORE_NO_FOLDER,
 				      _("Cannot get folder: %s: %s"),
 				      path, g_strerror (errno));
Index: evolution-data-server/camel/providers/local/camel-mbox-store.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/local/camel-mbox-store.c,v
retrieving revision 1.43
diff -u -p -r1.43 camel-mbox-store.c
--- evolution-data-server/camel/providers/local/camel-mbox-store.c	8 Dec 2005 11:28:47 -0000	1.43
+++ evolution-data-server/camel/providers/local/camel-mbox-store.c	21 Dec 2005 10:31:30 -0000
@@ -32,6 +32,7 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include "camel/camel-exception.h"
 #include "camel/camel-file-utils.h"
 #include "camel/camel-i18n.h"
@@ -168,7 +169,7 @@ get_folder(CamelStore *store, const char
 		g_free (basename);
 		
 		dirname = g_path_get_dirname(name);
-		if (camel_mkdir(dirname, 0777) == -1 && errno != EEXIST) {
+		if (e_util_mkdir_hier(dirname, 0777) == -1 && errno != EEXIST) {
 			camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM,
 					     _("Cannot create folder `%s': %s"),
 					     folder_name, g_strerror (errno));
@@ -359,7 +360,7 @@ create_folder(CamelStore *store, const c
 	path = camel_local_store_get_full_path(store, name);
 	
 	dir = g_path_get_dirname(path);
-	if (camel_mkdir(dir, 0777) == -1 && errno != EEXIST) {
+	if (e_util_mkdir_hier(dir, 0777) == -1 && errno != EEXIST) {
 		camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot create directory `%s': %s."),
 				     dir, g_strerror(errno));
 		
@@ -477,7 +478,7 @@ rename_folder(CamelStore *store, const c
 	newibex = camel_local_store_get_meta_path(store, new, ".ibex");
 	
 	newdir = g_path_get_dirname(newibex);
-	if (camel_mkdir(newdir, 0777) == -1) {
+	if (e_util_mkdir_hier(newdir, 0777) == -1) {
 		if (errno != EEXIST) {
 			camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM,
 					     _("Could not rename `%s': `%s': %s"),
Index: evolution-data-server/camel/providers/local/camel-spool-store.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/local/camel-spool-store.c,v
retrieving revision 1.26
diff -u -p -r1.26 camel-spool-store.c
--- evolution-data-server/camel/providers/local/camel-spool-store.c	31 Aug 2005 04:26:06 -0000	1.26
+++ evolution-data-server/camel/providers/local/camel-spool-store.c	21 Dec 2005 10:31:30 -0000
@@ -36,6 +36,7 @@
 #include <stdio.h>
 #include <dirent.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include "camel-spool-store.h"
 #include "camel-spool-folder.h"
 #include "camel-exception.h"
@@ -492,7 +493,7 @@ spool_get_meta_path(CamelLocalStore *ls,
 	if (root == NULL)
 		return NULL;
 
-	camel_mkdir(root, 0777);
+	e_util_mkdir_hier(root, 0777);
 	key = camel_file_util_safe_filename(full_name);
 	path = g_strdup_printf("%s/%s%s", root, key, ext);
 	g_free(key);
Index: evolution-data-server/camel/providers/nntp/camel-nntp-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/nntp/camel-nntp-folder.c,v
retrieving revision 1.53
diff -u -p -r1.53 camel-nntp-folder.c
--- evolution-data-server/camel/providers/nntp/camel-nntp-folder.c	30 Nov 2005 16:04:02 -0000	1.53
+++ evolution-data-server/camel/providers/nntp/camel-nntp-folder.c	21 Dec 2005 10:31:30 -0000
@@ -31,6 +31,7 @@
 #include <unistd.h>
 #include <errno.h>
 
+#include <libedataserver/e-data-server-util.h>
 #include "camel/camel-file-utils.h"
 #include "camel/camel-stream-mem.h"
 #include "camel/camel-data-wrapper.h"
@@ -491,7 +492,7 @@ camel_nntp_folder_new (CamelStore *paren
 		return NULL;
 	
 	/* If this doesn't work, stuff wont save, but let it continue anyway */
-	camel_mkdir (root, 0777);
+	e_util_mkdir_hier (root, 0777);
 	
 	folder = (CamelFolder *) camel_object_new (CAMEL_NNTP_FOLDER_TYPE);
 	nntp_folder = (CamelNNTPFolder *)folder;
Index: evolution-data-server/docs/reference/camel/camel-sections.txt
===================================================================
RCS file: /cvs/gnome/evolution-data-server/docs/reference/camel/camel-sections.txt,v
retrieving revision 1.11
diff -u -p -r1.11 camel-sections.txt
--- evolution-data-server/docs/reference/camel/camel-sections.txt	13 May 2005 20:34:32 -0000	1.11
+++ evolution-data-server/docs/reference/camel/camel-sections.txt	21 Dec 2005 10:31:30 -0000
@@ -2913,7 +2913,6 @@ camel_file_util_encode_size_t
 camel_file_util_decode_size_t
 camel_file_util_encode_string
 camel_file_util_decode_string
-camel_mkdir
 camel_file_util_safe_filename
 camel_read
 camel_write
Index: evolution-data-server/docs/reference/camel/tmpl/camel-file-utils.sgml
===================================================================
RCS file: /cvs/gnome/evolution-data-server/docs/reference/camel/tmpl/camel-file-utils.sgml,v
retrieving revision 1.1
diff -u -p -r1.1 camel-file-utils.sgml
--- evolution-data-server/docs/reference/camel/tmpl/camel-file-utils.sgml	18 May 2005 14:00:52 -0000	1.1
+++ evolution-data-server/docs/reference/camel/tmpl/camel-file-utils.sgml	21 Dec 2005 10:31:30 -0000
@@ -134,16 +134,6 @@ camel-file-utils
 @Returns: 
 
 
-<!-- ##### FUNCTION camel_mkdir ##### -->
-<para>
-
-</para>
-
-@path: 
-@mode: 
-@Returns: 
-
-
 <!-- ##### FUNCTION camel_file_util_safe_filename ##### -->
 <para>
 
Index: evolution-data-server/libedataserver/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/Makefile.am,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile.am
--- evolution-data-server/libedataserver/Makefile.am	8 Dec 2005 07:43:36 -0000	1.27
+++ evolution-data-server/libedataserver/Makefile.am	21 Dec 2005 10:31:31 -0000
@@ -39,7 +39,7 @@ libedataserver_1_2_la_SOURCES =		\
 	e-time-utils.c			\
 	e-uid.c				\
 	e-url.c				\
-	e-util.c			\
+	e-data-server-util.c			\
 	e-trie.c			\
 	e-xml-utils.c			\
 	e-xml-hash-utils.c		\
@@ -80,7 +80,7 @@ libedataserverinclude_HEADERS =		\
 	e-trie.h			\
 	e-uid.h				\
 	e-url.h				\
-	e-util.h			\
+	e-data-server-util.h			\
 	e-xml-utils.h			\
 	e-xml-hash-utils.h		\
 	md5-utils.h
Index: evolution-data-server/libedataserver/e-file-cache.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-file-cache.c,v
retrieving revision 1.15
diff -u -p -r1.15 e-file-cache.c
--- evolution-data-server/libedataserver/e-file-cache.c	8 Dec 2005 07:50:28 -0000	1.15
+++ evolution-data-server/libedataserver/e-file-cache.c	21 Dec 2005 10:31:31 -0000
@@ -27,7 +27,7 @@
 #include <glib/gstdio.h>
 
 #include "e-file-cache.h"
-#include "e-util.h"
+#include "e-data-server-util.h"
 #include "e-xml-hash-utils.h"
 
 struct _EFileCachePrivate {
Index: evolution-data-server/libedataserver/e-msgport.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-msgport.c,v
retrieving revision 1.5
diff -u -p -r1.5 e-msgport.c
--- evolution-data-server/libedataserver/e-msgport.c	9 Dec 2005 10:14:14 -0000	1.5
+++ evolution-data-server/libedataserver/e-msgport.c	21 Dec 2005 10:31:31 -0000
@@ -44,7 +44,7 @@
 #endif
 
 #include "e-msgport.h"
-#include "e-util.h"
+#include "e-data-server-util.h"
 
 #define m(x)			/* msgport debug */
 #define t(x)			/* thread debug */
Index: evolution-data-server/libedataserver/e-time-utils.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-time-utils.c,v
retrieving revision 1.5
diff -u -p -r1.5 e-time-utils.c
--- evolution-data-server/libedataserver/e-time-utils.c	25 Nov 2005 01:48:30 -0000	1.5
+++ evolution-data-server/libedataserver/e-time-utils.c	21 Dec 2005 10:31:31 -0000
@@ -27,7 +27,7 @@
 #include <glib.h>
 #include <glib/gi18n-lib.h>
 #include "e-time-utils.h"
-#include "e-util.h"
+#include "e-data-server-util.h"
 
 #ifdef G_OS_WIN32
 /* The localtime_r() definition in pthreads-win32's pthread.h doesn't guard
Index: evolution-data-server/libedataserver/e-util.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-util.c,v
retrieving revision 1.14
diff -u -p -r1.14 e-util.c
--- evolution-data-server/libedataserver/e-util.c	9 Dec 2005 10:31:38 -0000	1.14
+++ evolution-data-server/libedataserver/e-util.c	21 Dec 2005 10:31:31 -0000
@@ -28,7 +28,7 @@
 
 #include <glib.h>
 
-#include "e-util.h"
+#include "e-data-server-util.h"
 
 /**
  * e_util_mkdir_hier:
@@ -50,7 +50,7 @@ e_util_mkdir_hier (const char *path, mod
 #else
         char *copy, *p;
                                                                                 
-        if (path[0] == '/') {
+        if (g_path_is_absolute (path)) {
                 p = copy = g_strdup (path);
         } else {
                 gchar *current_dir = g_get_current_dir();
@@ -58,18 +58,29 @@ e_util_mkdir_hier (const char *path, mod
 		g_free (current_dir);
         }
                                                                                 
+	p = (char *)g_path_skip_root (p);                                                                       
         do {
-                p = strchr (p + 1, '/');
-                if (p)
-                        *p = '\0';
-                if (access (copy, F_OK) == -1) {
-                        if (mkdir (copy, mode) == -1) {
-                                g_free (copy);
-                                return -1;
-                        }
-               }
-                if (p)
-                        *p = '/';
+                char *p1 = strchr (p, '/');
+#ifdef G_OS_WIN32
+		{
+			char *p2 = strchr (p, '\\');
+			if (p1 == NULL ||
+			    (p2 != NULL && p2 < p1))
+				p1 = p2;
+		}
+#endif
+		p = p1;
+		if (p)
+			*p = '\0';
+		if (!g_file_test (copy, G_FILE_TEST_IS_DIR)) {
+			if (g_mkdir (copy, mode) == -1) {
+				g_free (copy);
+				return -1;
+			}
+		}
+		if (p) {
+			*p++ = '/';
+		}
         } while (p);
                                                                                 
         g_free (copy);
@@ -337,7 +348,7 @@ size_t e_strftime(char *s, size_t max, c
 		ff = c;
 	}
 
-	ff = fmt;
+	ff = ffmt;
 	while ((c = strstr(ff, "%k")) != NULL) {
 		c[1] = 'H';
 		ff = c;
Index: evolution-data-server/servers/exchange/lib/e2k-autoconfig.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/lib/e2k-autoconfig.c,v
retrieving revision 1.10
diff -u -p -r1.10 e2k-autoconfig.c
--- evolution-data-server/servers/exchange/lib/e2k-autoconfig.c	19 Dec 2005 13:27:49 -0000	1.10
+++ evolution-data-server/servers/exchange/lib/e2k-autoconfig.c	21 Dec 2005 10:31:31 -0000
@@ -63,7 +63,7 @@
 #include "e2k-xml-utils.h"
 #include "xntlm.h"
 
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #include <libedataserverui/e-passwords.h>
 #include <gconf/gconf-client.h>
 #include <libxml/tree.h>
Index: evolution-data-server/servers/exchange/storage/e-folder-exchange.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/e-folder-exchange.c,v
retrieving revision 1.8
diff -u -p -r1.8 e-folder-exchange.c
--- evolution-data-server/servers/exchange/storage/e-folder-exchange.c	13 Dec 2005 03:54:29 -0000	1.8
+++ evolution-data-server/servers/exchange/storage/e-folder-exchange.c	21 Dec 2005 10:31:32 -0000
@@ -36,7 +36,7 @@
 #include <glib/gstdio.h>
 
 #include "libedataserver/e-source-list.h"
-#include "libedataserver/e-util.h"
+#include "libedataserver/e-data-server-util.h"
 #include "libedataserver/e-xml-utils.h"
 
 #include "e-folder-exchange.h"
Index: evolution-data-server/servers/exchange/storage/e-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/e-folder.c,v
retrieving revision 1.4
diff -u -p -r1.4 e-folder.c
--- evolution-data-server/servers/exchange/storage/e-folder.c	31 Aug 2005 04:26:09 -0000	1.4
+++ evolution-data-server/servers/exchange/storage/e-folder.c	21 Dec 2005 10:31:32 -0000
@@ -29,7 +29,7 @@
 
 #include <string.h>
 #include <glib.h>
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 
 #define PARENT_TYPE G_TYPE_OBJECT
 static GObjectClass *parent_class = NULL;
Index: evolution-data-server/servers/exchange/storage/e-storage.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/e-storage.c,v
retrieving revision 1.4
diff -u -p -r1.4 e-storage.c
--- evolution-data-server/servers/exchange/storage/e-storage.c	31 Aug 2005 04:26:09 -0000	1.4
+++ evolution-data-server/servers/exchange/storage/e-storage.c	21 Dec 2005 10:31:32 -0000
@@ -30,7 +30,7 @@
 #include "e-shell-marshal.h"
 
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 
 #include <string.h>
 
Index: evolution-data-server/src/server.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/src/server.c,v
retrieving revision 1.29
diff -u -p -r1.29 server.c
--- evolution-data-server/src/server.c	25 Nov 2005 03:53:43 -0000	1.29
+++ evolution-data-server/src/server.c	21 Dec 2005 10:31:32 -0000
@@ -48,7 +48,7 @@
 #include <libedata-cal/e-data-cal-factory.h>
 
 #ifdef G_OS_WIN32
-#include <libedataserver/e-util.h>
+#include <libedataserver/e-data-server-util.h>
 #endif
 
 #include "server-interface-check.h"
Comment 13 Xiurong Simon Zheng 2005-12-23 07:22:58 UTC
Created attachment 56324 [details] [review]
Partial patch for evolution regarding e-util.*
Comment 14 Xiurong Simon Zheng 2005-12-23 07:23:43 UTC
Created attachment 56325 [details] [review]
Partial patch for evolution-exchange regarding e-util.*
Comment 15 Xiurong Simon Zheng 2005-12-23 08:09:50 UTC
Created attachment 56327 [details] [review]
Partial patch for evolution-data-server regarding e-util.*

updated the new patch
Comment 16 Xiurong Simon Zheng 2006-01-06 07:38:42 UTC
Three patches for e-account.[ch] and e-accout-list.[ch] have been committed. BTW, the other three patches for e-util.[ch] need to be reviewed or commented.
Comment 17 Harish Krishnaswamy 2006-01-09 11:05:04 UTC
Shres, could you test this out if it goes fine on Mac ?
Comment 18 Shreyas Srinivasan 2006-01-09 17:24:02 UTC
Looks good to commit. As a result of all these patches i can now build Evolution-Exchange on MAC OS X. Thanks a lot for fixing all those issues. 
Comment 19 Xiurong Simon Zheng 2006-01-10 08:29:36 UTC
Patches for e-util.[ch] has been committed to cvs HEAD.
Comment 20 Harish Krishnaswamy 2006-01-10 08:39:21 UTC
Er...My review was confined to Linux and I wanted to ensure Mac and Win builds go w/o symbol resolution problems too. Still awaiting a positive vote from Srinivasa Ragavan. Since, it is already committed - please wait on resolving this bug till Srini gives us a yes too.
Comment 21 Xiurong Simon Zheng 2006-01-10 10:32:17 UTC
Created attachment 57095 [details] [review]
Remove duplicate e-util-marshal.list in evolution/widgets/misc

There's two copies of e-util-marshal.list in and evo/e-util and evo/widgets/misc. They're 100% identical. What's more, I notice the other modules, such as evo/widgets/table and wevolution/widgets/text, use the copy in evo/e-util rather than their own built-in copies. I think the one in evo/widgets/misc should be droped.
Comment 22 Harish Krishnaswamy 2006-01-11 06:16:41 UTC
Simon, additionally note e-util-marshal.list and e-marshal.list are identical too in evolution/e-util.
BTW, the previous commit still had one reference to e-util.h in e-menus.c which borked fresh builds. Chen has committed a fix for the same.
Shreyas, pl. ensure you use a fresh checkout (or at least a careful make uninstall and a make clean) while testing patches that rename or remove files/libraries.
Comment 23 Xiurong Simon Zheng 2006-01-11 08:18:00 UTC
Sorry for breaking builds. It's my mistake.:-(
Comment 24 Shreyas Srinivasan 2006-02-05 05:29:59 UTC
Ummm... This one is fixed right?
Comment 25 Xiurong Simon Zheng 2006-02-05 08:44:32 UTC
Yes, it has been fixed completely. Please close it. Thanks.