summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lord <chris@openedhand.com>2005-10-03 16:44:39 +0000
committerChris Lord <chris@openedhand.com>2005-10-03 16:44:39 +0000
commit96b751e6b740a5af338335110bc2f9c8eef11874 (patch)
treee4e6cb979930004b7e695e4315ed7b69ce99b3c9
parente6e82748ee44a424571a99fde359927ba03e5bef (diff)
downloadopenembedded-core-96b751e6b740a5af338335110bc2f9c8eef11874.tar.gz
openembedded-core-96b751e6b740a5af338335110bc2f9c8eef11874.tar.bz2
openembedded-core-96b751e6b740a5af338335110bc2f9c8eef11874.tar.xz
openembedded-core-96b751e6b740a5af338335110bc2f9c8eef11874.zip
Apply e-cal-backend-file.c patch to eds-dbus svn
git-svn-id: https://svn.o-hand.com/repos/poky@105 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--openembedded/packages/eds/eds-dbus/no_gnomevfs3.patch392
-rwxr-xr-xopenembedded/packages/eds/eds-dbus_svn.bb3
2 files changed, 1 insertions, 394 deletions
diff --git a/openembedded/packages/eds/eds-dbus/no_gnomevfs3.patch b/openembedded/packages/eds/eds-dbus/no_gnomevfs3.patch
deleted file mode 100644
index a9e911670..000000000
--- a/openembedded/packages/eds/eds-dbus/no_gnomevfs3.patch
+++ /dev/null
@@ -1,392 +0,0 @@
---- trunk/calendar/backends/file/e-cal-backend-file.c.old 2005-10-03 13:19:26.000000000 +0100
-+++ trunk/calendar/backends/file/e-cal-backend-file.c 2005-10-03 15:46:10.000000000 +0100
-@@ -29,7 +29,6 @@
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <glib/gi18n-lib.h>
--#include <libgnomevfs/gnome-vfs.h>
- #include <libedataserver/e-util.h>
- #include <libedataserver/e-xml-hash-utils.h>
- #include <libecal-dbus/e-cal-recur.h>
-@@ -106,17 +105,21 @@
- g_free (obj_data);
- }
-
--/* Saves the calendar data */
-+static const char *
-+find_path_from_uri (const char *uri)
-+{
-+ g_assert (strncasecmp (uri, "file:", 5) == 0);
-+
-+ return uri + 5;
-+}
-+
-+ /* Saves the calendar data */
- static gboolean
- save_file_when_idle (gpointer user_data)
- {
- ECalBackendFilePrivate *priv;
-- GnomeVFSURI *uri, *backup_uri;
-- GnomeVFSHandle *handle = NULL;
-- GnomeVFSResult result = GNOME_VFS_ERROR_BAD_FILE;
-- GnomeVFSFileSize out;
-- gchar *tmp, *backup_uristr;
-- char *buf;
-+ const char *path, *buf;
-+ gboolean result;
- ECalBackendFile *cbfile = user_data;
-
- priv = cbfile->priv;
-@@ -130,52 +133,14 @@
- return FALSE;
- }
-
-- uri = gnome_vfs_uri_new (priv->uri);
-- if (!uri)
-+ path = find_path_from_uri (priv->uri);
-+ if (!path)
- goto error_malformed_uri;
-
-- /* save calendar to backup file */
-- tmp = gnome_vfs_uri_to_string (uri, GNOME_VFS_URI_HIDE_NONE);
-- if (!tmp) {
-- gnome_vfs_uri_unref (uri);
-- goto error_malformed_uri;
-- }
--
-- backup_uristr = g_strconcat (tmp, "~", NULL);
-- backup_uri = gnome_vfs_uri_new (backup_uristr);
--
-- g_free (tmp);
-- g_free (backup_uristr);
--
-- if (!backup_uri) {
-- gnome_vfs_uri_unref (uri);
-- goto error_malformed_uri;
-- }
--
-- result = gnome_vfs_create_uri (&handle, backup_uri,
-- GNOME_VFS_OPEN_WRITE,
-- FALSE, 0666);
-- if (result != GNOME_VFS_OK) {
-- gnome_vfs_uri_unref (uri);
-- gnome_vfs_uri_unref (backup_uri);
-- goto error;
-- }
--
-+ /* save calendar */
- buf = icalcomponent_as_ical_string (priv->icalcomp);
-- result = gnome_vfs_write (handle, buf, strlen (buf) * sizeof (char), &out);
-- gnome_vfs_close (handle);
-- if (result != GNOME_VFS_OK) {
-- gnome_vfs_uri_unref (uri);
-- gnome_vfs_uri_unref (backup_uri);
-- goto error;
-- }
--
-- /* now copy the temporary file to the real file */
-- result = gnome_vfs_move_uri (backup_uri, uri, TRUE);
--
-- gnome_vfs_uri_unref (uri);
-- gnome_vfs_uri_unref (backup_uri);
-- if (result != GNOME_VFS_OK)
-+ result = g_file_set_contents (path, buf, -1, NULL);
-+ if (!result)
- goto error;
-
- priv->is_dirty = FALSE;
-@@ -193,7 +158,8 @@
-
- error:
- g_mutex_unlock (priv->idle_save_mutex);
-- e_cal_backend_notify_error (E_CAL_BACKEND (cbfile), gnome_vfs_result_to_string (result));
-+ e_cal_backend_notify_error (E_CAL_BACKEND (cbfile),
-+ _("Can't save calendar data: Error writing to file."));
- return TRUE;
- }
-
-@@ -310,7 +276,7 @@
- return obj_data ? obj_data->full_object : NULL;
- }
-
--
-+
-
- /* Calendar backend methods */
-
-@@ -592,14 +558,12 @@
- }
- }
-
--static char *
-+G_GNUC_DEPRECATED static char *
- get_uri_string_for_gnome_vfs (ECalBackend *backend)
- {
- ECalBackendFile *cbfile;
- ECalBackendFilePrivate *priv;
- const char *master_uri;
-- char *full_uri, *str_uri;
-- GnomeVFSURI *uri;
-
- cbfile = E_CAL_BACKEND_FILE (backend);
- priv = cbfile->priv;
-@@ -609,44 +573,41 @@
- /* FIXME Check the error conditions a little more elegantly here */
- if (g_strrstr ("tasks.ics", master_uri) || g_strrstr ("calendar.ics", master_uri)) {
- g_warning (G_STRLOC ": Existing file name %s", master_uri);
--
- return NULL;
- }
-
-- full_uri = g_strdup_printf ("%s%s%s", master_uri, G_DIR_SEPARATOR_S, priv->file_name);
-- uri = gnome_vfs_uri_new (full_uri);
-- g_free (full_uri);
--
-- if (!uri)
-- return NULL;
--
-- str_uri = gnome_vfs_uri_to_string (uri,
-- (GNOME_VFS_URI_HIDE_USER_NAME
-- | GNOME_VFS_URI_HIDE_PASSWORD
-- | GNOME_VFS_URI_HIDE_HOST_NAME
-- | GNOME_VFS_URI_HIDE_HOST_PORT
-- | GNOME_VFS_URI_HIDE_TOPLEVEL_METHOD));
-- gnome_vfs_uri_unref (uri);
-+ return g_strdup_printf ("%s%s%s", master_uri, G_DIR_SEPARATOR_S, priv->file_name);
-+}
-
-- if (!str_uri || !strlen (str_uri)) {
-- g_free (str_uri);
-+/**
-+ * Get the full path to this calendar file.
-+ */
-+static char *
-+get_path (ECalBackend *backend)
-+{
-+ ECalBackendFile *cbfile;
-+ const char *topuri, *dirname;
-+ char *filename;
-
-- return NULL;
-- }
-+ g_return_val_if_fail (E_IS_CAL_BACKEND_FILE (backend), NULL);
-
-- return str_uri;
-+ cbfile = E_CAL_BACKEND_FILE (backend);
-+ topuri = e_cal_backend_get_uri (backend);
-+ dirname = find_path_from_uri (topuri);
-+ filename = g_build_filename (dirname, cbfile->priv->file_name, NULL);
-+ return filename;
- }
-
- /* Parses an open iCalendar file and loads it into the backend */
- static ECalBackendSyncStatus
--open_cal (ECalBackendFile *cbfile, const char *uristr)
-+open_cal (ECalBackendFile *cbfile, const char *path)
- {
- ECalBackendFilePrivate *priv;
- icalcomponent *icalcomp;
-
- priv = cbfile->priv;
-
-- icalcomp = e_cal_util_parse_ics_file (uristr);
-+ icalcomp = e_cal_util_parse_ics_file (path);
- if (!icalcomp)
- return GNOME_Evolution_Calendar_OtherError;
-
-@@ -759,7 +720,7 @@
- }
-
- static ECalBackendSyncStatus
--reload_cal (ECalBackendFile *cbfile, const char *uristr)
-+reload_cal (ECalBackendFile *cbfile, const char *path)
- {
- ECalBackendFilePrivate *priv;
- icalcomponent *icalcomp, *icalcomp_old;
-@@ -767,7 +728,7 @@
-
- priv = cbfile->priv;
-
-- icalcomp = e_cal_util_parse_ics_file (uristr);
-+ icalcomp = e_cal_util_parse_ics_file (path);
- if (!icalcomp)
- return GNOME_Evolution_Calendar_OtherError;
-
-@@ -811,7 +772,7 @@
- }
-
- static ECalBackendSyncStatus
--create_cal (ECalBackendFile *cbfile, const char *uristr)
-+create_cal (ECalBackendFile *cbfile, const char *path)
- {
- char *dirname;
- ECalBackendFilePrivate *priv;
-@@ -819,7 +780,7 @@
- priv = cbfile->priv;
-
- /* Create the directory to contain the file */
-- dirname = g_path_get_dirname (uristr);
-+ dirname = g_path_get_dirname (path);
- if (e_util_mkdir_hier (dirname, 0700) != 0) {
- g_free (dirname);
- return GNOME_Evolution_Calendar_NoSuchCal;
-@@ -840,18 +801,6 @@
- return GNOME_Evolution_Calendar_Success;
- }
-
--static char *
--get_uri_string (ECalBackend *backend)
--{
-- gchar *str_uri, *full_uri;
--
-- str_uri = get_uri_string_for_gnome_vfs (backend);
-- full_uri = gnome_vfs_unescape_string (str_uri, "");
-- g_free (str_uri);
--
-- return full_uri;
--}
--
- /* Open handler for the file backend */
- static ECalBackendSyncStatus
- e_cal_backend_file_open (ECalBackendSync *backend, EDataCal *cal, gboolean only_if_exists,
-@@ -859,7 +808,7 @@
- {
- ECalBackendFile *cbfile;
- ECalBackendFilePrivate *priv;
-- char *str_uri;
-+ char *filename;
- ECalBackendSyncStatus status;
-
- cbfile = E_CAL_BACKEND_FILE (backend);
-@@ -869,22 +818,20 @@
- if (priv->uri && priv->comp_uid_hash)
- return GNOME_Evolution_Calendar_Success;
-
-- str_uri = get_uri_string (E_CAL_BACKEND (backend));
-- if (!str_uri)
-- return GNOME_Evolution_Calendar_OtherError;
--
-- if (access (str_uri, R_OK) == 0) {
-- status = open_cal (cbfile, str_uri);
-- if (access (str_uri, W_OK) != 0)
-+ filename = get_path (E_CAL_BACKEND (backend));
-+
-+ if (access (filename, R_OK) == 0) {
-+ status = open_cal (cbfile, filename);
-+ if (access (filename, W_OK) != 0)
- priv->read_only = TRUE;
- } else {
- if (only_if_exists)
- status = GNOME_Evolution_Calendar_NoSuchCal;
- else
-- status = create_cal (cbfile, str_uri);
-+ status = create_cal (cbfile, filename); // TODO?
- }
-
-- g_free (str_uri);
-+ g_free (filename);
-
- return status;
- }
-@@ -894,7 +841,7 @@
- {
- ECalBackendFile *cbfile;
- ECalBackendFilePrivate *priv;
-- char *str_uri, *dirname;
-+ char *filename, *dirname;
- const char *fname;
- GDir *dir;
- GError *error = NULL;
-@@ -903,21 +850,21 @@
- cbfile = E_CAL_BACKEND_FILE (backend);
- priv = cbfile->priv;
-
-- str_uri = get_uri_string (E_CAL_BACKEND (backend));
-- if (!str_uri)
-+ filename = get_path (E_CAL_BACKEND (backend));
-+ if (!filename)
- return GNOME_Evolution_Calendar_OtherError;
-
-- if (access (str_uri, W_OK) != 0) {
-- g_free (str_uri);
-+ if (access (filename, W_OK) != 0) {
-+ g_free (filename);
-
- return GNOME_Evolution_Calendar_PermissionDenied;
- }
-
- /* remove all files in the directory */
-- dirname = g_path_get_dirname (str_uri);
-+ dirname = g_path_get_dirname (filename);
- dir = g_dir_open (dirname, 0, &error);
- if (!dir) {
-- g_free (str_uri);
-+ g_free (filename);
- g_free (dirname);
-
- return GNOME_Evolution_Calendar_PermissionDenied;
-@@ -929,7 +876,7 @@
- full_path = g_build_filename (dirname, fname, NULL);
- if (unlink (full_path) != 0) {
- g_free (full_path);
-- g_free (str_uri);
-+ g_free (filename);
- g_free (dirname);
- g_dir_close (dir);
-
-@@ -943,7 +890,7 @@
- success = rmdir (dirname) == 0;
-
- g_dir_close (dir);
-- g_free (str_uri);
-+ g_free (filename);
- g_free (dirname);
-
- return success ? GNOME_Evolution_Calendar_Success : GNOME_Evolution_Calendar_OtherError;
-@@ -1506,14 +1453,11 @@
- EXmlHash *ehash;
- ECalBackendFileComputeChangesData be_data;
- GList *i;
-- gchar *unescaped_uri;
-
- priv = cbfile->priv;
-
- /* FIXME Will this always work? */
-- unescaped_uri = gnome_vfs_unescape_string (priv->uri, "");
-- filename = g_strdup_printf ("%s-%s.db", unescaped_uri, change_id);
-- g_free (unescaped_uri);
-+ filename = g_strdup_printf ("%s-%s.db", priv->uri, change_id);
- if (!(ehash = e_xmlhash_new (filename))) {
- g_free (filename);
- return GNOME_Evolution_Calendar_OtherError;
-@@ -2577,23 +2521,23 @@
- e_cal_backend_file_reload (ECalBackendFile *cbfile)
- {
- ECalBackendFilePrivate *priv;
-- char *str_uri;
-+ char *filename;
- ECalBackendSyncStatus status;
-
- priv = cbfile->priv;
-
-- str_uri = get_uri_string (E_CAL_BACKEND (cbfile));
-- if (!str_uri)
-+ filename = get_path (E_CAL_BACKEND (cbfile));
-+ if (!filename)
- return GNOME_Evolution_Calendar_OtherError;
-
-- if (access (str_uri, R_OK) == 0) {
-- status = reload_cal (cbfile, str_uri);
-- if (access (str_uri, W_OK) != 0)
-+ if (access (filename, R_OK) == 0) {
-+ status = reload_cal (cbfile, filename);
-+ if (access (filename, W_OK) != 0)
- priv->read_only = TRUE;
- } else {
- status = GNOME_Evolution_Calendar_NoSuchCal;
- }
-
-- g_free (str_uri);
-+ g_free (filename);
- return status;
- }
diff --git a/openembedded/packages/eds/eds-dbus_svn.bb b/openembedded/packages/eds/eds-dbus_svn.bb
index 6ddb91498..1e24e420e 100755
--- a/openembedded/packages/eds/eds-dbus_svn.bb
+++ b/openembedded/packages/eds/eds-dbus_svn.bb
@@ -4,13 +4,12 @@ RDEPENDS = "gtk+ gconf db libiconv"
MAINTAINER = "Chris Lord <chris@openedhand.com>"
DESCRIPTION = "Evolution database backend server"
PV = "1.4.0cvs${CVSDATE}"
-PR = "r6"
+PR = "r7"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
file://external_libdb.patch;patch=1 \
file://no_gnomevfs.patch;patch=1 \
file://no_gnomevfs2.patch;patch=1 \
- file://no_gnomevfs3.patch;patch=1 \
file://no_iconv_test.patch;patch=1 \
file://iconv-detect.h"