220 lines
5.9 KiB
Diff
220 lines
5.9 KiB
Diff
migrate from gnome-vfs to gio, as gnome-vfs is obsolete.
|
|
|
|
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Index: git/src/main.c
|
|
===================================================================
|
|
--- git.orig/src/main.c 2011-06-21 10:35:31.000000000 +0800
|
|
+++ git/src/main.c 2011-06-21 10:44:12.000000000 +0800
|
|
@@ -44,7 +44,6 @@
|
|
#include <gtk/gtk.h>
|
|
#include <glade/glade.h>
|
|
#include <glib.h>
|
|
-#include <libgnomevfs/gnome-vfs.h>
|
|
#include <gconf/gconf-client.h>
|
|
#include <glib/gi18n.h>
|
|
|
|
@@ -1005,8 +1004,7 @@
|
|
/* Cleanup the old archive */
|
|
archive_full_cleanup ();
|
|
|
|
- if (gnome_vfs_initialized())
|
|
- gnome_vfs_shutdown ();
|
|
+ g_type_init();
|
|
|
|
g_free(opui_config->host);
|
|
g_free(opui_config->opcontrol_params);
|
|
Index: git/src/archive.c
|
|
===================================================================
|
|
--- git.orig/src/archive.c 2011-06-21 10:38:57.000000000 +0800
|
|
+++ git/src/archive.c 2011-06-21 10:54:16.000000000 +0800
|
|
@@ -45,7 +45,6 @@
|
|
#include <glade/glade.h>
|
|
#include <glib.h>
|
|
#include <glib/gstdio.h>
|
|
-#include <libgnomevfs/gnome-vfs.h>
|
|
|
|
#include "oprofileui.h"
|
|
#include "response.h"
|
|
@@ -86,56 +85,113 @@
|
|
|
|
if (ret < 0)
|
|
{
|
|
- /* Use gnomevfs to copy the file as a fallback */
|
|
- GnomeVFSURI *src_uri, *dst_uri;
|
|
- GnomeVFSResult res;
|
|
-
|
|
- src_uri = gnome_vfs_uri_new (gnome_vfs_get_uri_from_local_path(src));
|
|
- dst_uri = gnome_vfs_uri_new (gnome_vfs_get_uri_from_local_path(dest));
|
|
- res = gnome_vfs_xfer_uri (src_uri, dst_uri,
|
|
- GNOME_VFS_XFER_DEFAULT |
|
|
- GNOME_VFS_XFER_NEW_UNIQUE_DIRECTORY,
|
|
- GNOME_VFS_XFER_ERROR_MODE_ABORT,
|
|
- GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE,
|
|
- NULL, NULL);
|
|
- if (res != GNOME_VFS_OK)
|
|
+ /* Use gio to copy the file as a fallback */
|
|
+ GFile *src_file, *dst_file;
|
|
+ gboolean res;
|
|
+ GError *error = NULL;
|
|
+
|
|
+ src_file = g_file_new_for_path (src);
|
|
+ dst_file = g_file_new_for_path (dest);
|
|
+
|
|
+ res = g_file_copy(src_file, dst_file,
|
|
+ G_FILE_COPY_NOFOLLOW_SYMLINKS |
|
|
+ G_FILE_COPY_OVERWRITE,
|
|
+ NULL,
|
|
+ NULL,
|
|
+ NULL,
|
|
+ &error);
|
|
+
|
|
+ if (!res && error)
|
|
{
|
|
- const gchar *err_string = gnome_vfs_result_to_string (res);
|
|
+ printf ("GIO: error %s (%s to %s)\n", error->message, src, dest);
|
|
|
|
- printf ("GNOME-VFS: error %s (%s to %s)\n", err_string, src, dest);
|
|
+ g_error_free(error);
|
|
}
|
|
+
|
|
+ g_object_unref(src_file);
|
|
+ g_object_unref(dst_file);
|
|
+
|
|
+ }
|
|
+}
|
|
+
|
|
+#define IS_IO_ERROR(__error, KIND) (((__error)->domain == G_IO_ERROR && (__error)->code == G_IO_ERROR_ ## KIND))
|
|
+
|
|
+static gboolean
|
|
+remove_target_recursively(GFile *file)
|
|
+{
|
|
+ GFileEnumerator *enumerator;
|
|
+ GError *error = NULL;
|
|
+ GFile *child;
|
|
+ GFileInfo *info;
|
|
+ gboolean stop = FALSE;
|
|
+
|
|
+ enumerator = g_file_enumerate_children(file,
|
|
+ G_FILE_ATTRIBUTE_STANDARD_NAME,
|
|
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
|
+ NULL,
|
|
+ &error);
|
|
+
|
|
+ if (enumerator)
|
|
+ {
|
|
+ error = NULL;
|
|
+
|
|
+ while ( (info = g_file_enumerator_next_file(enumerator, NULL, &error))
|
|
+ != NULL ) {
|
|
+
|
|
+ child = g_file_get_child(file, g_file_info_get_name(info));
|
|
+ if (!remove_target_recursively(child))
|
|
+ {
|
|
+ stop = TRUE;
|
|
+ break;
|
|
+ }
|
|
+ g_object_unref(child);
|
|
+ g_object_unref(info);
|
|
+ }
|
|
+
|
|
+ g_object_unref(enumerator);
|
|
+ }
|
|
+ else if (IS_IO_ERROR(error, NOT_DIRECTORY))
|
|
+ {
|
|
+ g_error_free(error);
|
|
}
|
|
+ else
|
|
+ {
|
|
+ g_error_free(error);
|
|
+ stop = TRUE;
|
|
+ }
|
|
+
|
|
+ if (stop)
|
|
+ return FALSE;
|
|
+
|
|
+ error = NULL;
|
|
+ if (!g_file_delete(file, NULL, &error))
|
|
+ {
|
|
+ char *path = g_file_get_path(file);
|
|
+ printf ("GIO: error %s when deleteing file %s.\n", error->message, path);
|
|
+ g_free(path);
|
|
+
|
|
+ g_error_free(error);
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
+ return TRUE;
|
|
+
|
|
}
|
|
|
|
/* Delete the directory specified by path */
|
|
static void
|
|
archive_removedir(gchar *path)
|
|
{
|
|
- GnomeVFSResult res;
|
|
- GnomeVFSURI *src_uri;
|
|
- GList uri_list;
|
|
+ GFile *src_file;
|
|
|
|
if (path == NULL)
|
|
return;
|
|
|
|
- gnome_vfs_init ();
|
|
-
|
|
- src_uri = gnome_vfs_uri_new (gnome_vfs_get_uri_from_local_path(path));
|
|
-
|
|
- uri_list.data = src_uri;
|
|
- uri_list.next = NULL;
|
|
- uri_list.prev = NULL;
|
|
+ src_file = g_file_new_for_path (path);
|
|
|
|
- res = gnome_vfs_xfer_delete_list (&uri_list,
|
|
- GNOME_VFS_XFER_ERROR_MODE_ABORT,
|
|
- GNOME_VFS_XFER_EMPTY_DIRECTORIES,
|
|
- NULL, NULL);
|
|
-
|
|
- if (res != GNOME_VFS_OK)
|
|
+ if (! remove_target_recursively(src_file))
|
|
{
|
|
- const gchar *err_string = gnome_vfs_result_to_string (res);
|
|
-
|
|
- printf ("GNOME-VFS: error %s\n", err_string);
|
|
+ printf ("GIO:remove %s failed", path);
|
|
}
|
|
}
|
|
|
|
@@ -242,8 +298,6 @@
|
|
gchar **tmp;
|
|
int i;
|
|
|
|
- gnome_vfs_init ();
|
|
-
|
|
tmp = g_strsplit (reply->payload, "\n", 0);
|
|
|
|
for (i=0; i < g_strv_length (tmp); i++)
|
|
@@ -436,8 +490,6 @@
|
|
{
|
|
gint counter;
|
|
|
|
- gnome_vfs_init ();
|
|
-
|
|
downloaded_files = g_slist_append (downloaded_files, g_strdup("/var/lib/oprofile/.converted"));
|
|
|
|
archive_save_window_show (g_slist_length (downloaded_files) +
|
|
Index: git/configure.ac
|
|
===================================================================
|
|
--- git.orig/configure.ac 2011-06-21 10:49:40.000000000 +0800
|
|
+++ git/configure.ac 2011-06-21 10:49:58.000000000 +0800
|
|
@@ -29,7 +29,7 @@
|
|
AM_CONDITIONAL(ENABLE_SERVER, test x$enable_server = xyes)
|
|
AM_CONDITIONAL(ENABLE_CLIENT, test x$enable_client = xyes)
|
|
|
|
-PKG_CHECK_MODULES(OPROFILEUI, [glib-2.0 libglade-2.0 gtk+-2.0 libxml-2.0 gnome-vfs-2.0 gconf-2.0])
|
|
+PKG_CHECK_MODULES(OPROFILEUI, [glib-2.0 libglade-2.0 gtk+-2.0 libxml-2.0 gconf-2.0])
|
|
AC_SUBST(OPROFILEUI_CFLAGS)
|
|
AC_SUBST(OPROFILEUI_LIBS)
|
|
|