rpms/file-roller/devel file-roller-gio.patch, NONE, 1.1 file-roller.spec, 1.114, 1.115

Matthias Clasen (mclasen) fedora-extras-commits at redhat.com
Tue Mar 11 04:18:06 UTC 2008


Author: mclasen

Update of /cvs/extras/rpms/file-roller/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12397

Modified Files:
	file-roller.spec 
Added Files:
	file-roller-gio.patch 
Log Message:
port nautilus extension to gio


file-roller-gio.patch:

--- NEW FILE file-roller-gio.patch ---
Index: configure.in
===================================================================
--- configure.in	(revision 2182)
+++ configure.in	(working copy)
@@ -18,13 +18,13 @@
 dnl
 dnl ==========================================================================
 
-GLIB_REQUIRED=2.12.0
+GLIB_REQUIRED=2.15.0
 GTK_REQUIRED=2.10.0
 LIBGNOME_REQUIRED=2.6.0
 LIBGNOMEUI_REQUIRED=2.6.0
 GNOME_VFS_REQUIRED=2.10.0
 LIBGLADE_REQUIRED=2.4.0
-NAUTILUS_REQUIRED=2.10.0
+NAUTILUS_REQUIRED=2.21.0
 
 AC_SUBST(GLIB_REQUIRED)
 AC_SUBST(GTK_REQUIRED)
@@ -38,6 +38,7 @@
 
 PKG_CHECK_MODULES(FR,					\
 	glib-2.0 >= $GLIB_REQUIRED			\
+	gio-2.0 >= $GLIB_REQUIRED			\
 	gthread-2.0					\
 	gtk+-2.0 >= $GTK_REQUIRED			\
 	libgnome-2.0 >= $LIBGNOME_REQUIRED		\
Index: nautilus/nautilus-fileroller.c
===================================================================
--- nautilus/nautilus-fileroller.c	(revision 2182)
+++ nautilus/nautilus-fileroller.c	(working copy)
@@ -24,9 +24,7 @@
 #include <config.h>
 #include <string.h>
 #include <glib/gi18n-lib.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libgnomevfs/gnome-vfs-file-info.h>
-#include <libgnomevfs/gnome-vfs-ops.h>
+#include <gio/gio.h>
 #include <libnautilus-extension/nautilus-extension-types.h>
 #include <libnautilus-extension/nautilus-file-info.h>
 #include <libnautilus-extension/nautilus-menu-provider.h>
@@ -204,34 +202,31 @@
 		return NULL;
 
 	for (scan = files; scan; scan = scan->next) {
-		NautilusFileInfo *file = scan->data;
+                NautilusFileInfo *file = scan->data;
 
-		if (all_archives && ! is_archive (file))
-			all_archives = FALSE;
+                if ((all_archives = is_archive (file)) == FALSE)
+                    break;
 
+                /* FIXME: Here we should get the parent of the current
+                 * file and check if it is the same parent as for the
+                 * other files and then check if the parent is writable
+                 *
+                 * We *MUST NOT* do that synchronous since this function
+                 * gets called very often (every time a selection changed)
+                 * and it could be a remote location. MUST NOT DO SYNC IO.
+                 *
+                 * Nautilus actually already has stat'ed the parent and
+                 * knows if the parent is writable or not. The API is
+                 * just missing. This is filed under bug #521612. Once that
+                 * bug is fixed we can actually implement the funcionality.
+                 * Until then we just set can_write to TRUE. If that is an
+                 * lie we will find out once the user tries to really extract
+                 * stuff.
+                 *
+                 * Christian Kellner 
+                 * */
+        }
 
-		if (can_write) {
-			char             *parent_uri;
-			GnomeVFSFileInfo *info;
-			GnomeVFSResult    result;
-
-			parent_uri = nautilus_file_info_get_parent_uri (file);
-			info = gnome_vfs_file_info_new ();
-			
-			result = gnome_vfs_get_file_info (parent_uri,
-							  info,
-							  (GNOME_VFS_FILE_INFO_FOLLOW_LINKS
-					                   | GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS));
-			if ((result == GNOME_VFS_OK) && (info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS))
-				can_write = (info->permissions & GNOME_VFS_PERM_ACCESS_WRITABLE) || (info->permissions & GNOME_VFS_PERM_USER_WRITE);
-				
-			gnome_vfs_file_info_unref (info);
-			g_free (parent_uri);
-		}
-	}
-
-	/**/
-
 	one_item = (files != NULL) && (files->next == NULL);
 	one_archive = one_item && all_archives;
 


Index: file-roller.spec
===================================================================
RCS file: /cvs/extras/rpms/file-roller/devel/file-roller.spec,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- file-roller.spec	7 Mar 2008 03:30:53 -0000	1.114
+++ file-roller.spec	11 Mar 2008 04:17:31 -0000	1.115
@@ -11,11 +11,13 @@
 Summary:	File Roller is a tool for viewing and creating archives
 Name:		file-roller
 Version:	2.21.92
-Release: 	2%{?dist}
+Release: 	3%{?dist}
 License:	GPLv2+
 Group:		Applications/Archiving
 URL:		http://download.gnome.org/sources/file-roller/
 Source:		http://download.gnome.org/sources/file-roller/2.21/file-roller-%{version}.tar.bz2
+# http://bugzilla.gnome.org/show_bug.cgi?id=501542
+Patch0:		file-roller-gio.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)	
 BuildRequires: glib2-devel >= %{glib2_version}
 BuildRequires: pango-devel >= %{pango_version}
@@ -49,6 +51,7 @@
 
 %prep
 %setup -q
+%patch0 -p0 -b .gio
 
 %build
 %configure --disable-scrollkeeper --disable-static
@@ -125,6 +128,9 @@
 %{_datadir}/icons/hicolor/scalable/apps/file-roller.svg
 
 %changelog
+* Tue Mar 11 2008 Matthias Clasen <mclasen at redhat.com> - 2.21.92-3
+- Port nautilus extension to gio
+
 * Thu Mar  6 2008 Matthias Clasen <mclasen at redhat.com> - 2.21.92-2
 - Don't OnlyShowIn=GNOME
 




More information about the fedora-extras-commits mailing list