rpms/gvfs/devel consider-logical-partitions.patch, NONE, 1.1 gvfs-1.4.0-mountspec-from-string.patch, NONE, 1.1 http-icons.patch, NONE, 1.1 gvfs.spec, 1.157, 1.158

Tomas Bzatek tbzatek at fedoraproject.org
Thu Oct 8 14:51:35 UTC 2009


Author: tbzatek

Update of /cvs/extras/rpms/gvfs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9237

Modified Files:
	gvfs.spec 
Added Files:
	consider-logical-partitions.patch 
	gvfs-1.4.0-mountspec-from-string.patch http-icons.patch 
Log Message:
Sync to F12 branch


consider-logical-partitions.patch:
 ggduvolumemonitor.c |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 40 insertions(+), 2 deletions(-)

--- NEW FILE consider-logical-partitions.patch ---
>From dfa4b522b5c19c4723004baab3e54592f9875597 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz at redhat.com>
Date: Thu, 1 Oct 2009 16:49:32 -0400
Subject: [PATCH] =?UTF-8?q?Bug=20597041=20=E2=80=93=20Manual=20umount=20triggers=20mount=20request?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We also need to consider logical partitions when determining if a
drive should be ignored.
---
 monitor/gdu/ggduvolumemonitor.c |   41 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 40 insertions(+), 1 deletions(-)

diff --git a/monitor/gdu/ggduvolumemonitor.c b/monitor/gdu/ggduvolumemonitor.c
index ac90ba4..83d8fc2 100644
--- a/monitor/gdu/ggduvolumemonitor.c
+++ b/monitor/gdu/ggduvolumemonitor.c
@@ -871,7 +871,7 @@ should_drive_be_ignored (GduPool *pool, GduDrive *d, GList *fstab_mount_points)
 
   /* never ignore a drive if it has volumes that we don't want to ignore */
   enclosed = gdu_pool_get_enclosed_presentables (pool, GDU_PRESENTABLE (d));
-  for (l = enclosed; l != NULL; l = l->next)
+  for (l = enclosed; l != NULL && all_volumes_are_ignored; l = l->next)
     {
       GduPresentable *enclosed_presentable = GDU_PRESENTABLE (l->data);
 
@@ -879,6 +879,7 @@ should_drive_be_ignored (GduPool *pool, GduDrive *d, GList *fstab_mount_points)
       if (GDU_IS_VOLUME (enclosed_presentable))
         {
           GduVolume *volume = GDU_VOLUME (enclosed_presentable);
+          GduDevice *volume_device;
 
           have_volumes = TRUE;
 
@@ -887,6 +888,44 @@ should_drive_be_ignored (GduPool *pool, GduDrive *d, GList *fstab_mount_points)
               all_volumes_are_ignored = FALSE;
               break;
             }
+
+          /* The volume may be an extended partition - we need to check all logical
+           * partitions as well (#597041)
+           */
+          volume_device = gdu_presentable_get_device (GDU_PRESENTABLE (volume));
+          if (volume_device != NULL)
+            {
+              if (g_strcmp0 (gdu_device_partition_get_scheme (volume_device), "mbr") == 0)
+                {
+                  gint type;
+
+                  type = strtol (gdu_device_partition_get_type (volume_device), NULL, 0);
+                  if (type == 0x05 || type == 0x0f || type == 0x85)
+                    {
+                      GList *enclosed_logical;
+                      GList *ll;
+
+                      enclosed_logical = gdu_pool_get_enclosed_presentables (pool, GDU_PRESENTABLE (volume));
+                      for (ll = enclosed_logical; ll != NULL && all_volumes_are_ignored; ll = ll->next)
+                        {
+                          GduPresentable *enclosed_logical_presentable = GDU_PRESENTABLE (ll->data);
+
+                          if (GDU_IS_VOLUME (enclosed_logical_presentable))
+                            {
+                              if (!should_volume_be_ignored (pool,
+                                                             GDU_VOLUME (enclosed_logical_presentable),
+                                                             fstab_mount_points))
+                                {
+                                  all_volumes_are_ignored = FALSE;
+                                }
+                            }
+                        }
+                      g_list_foreach (enclosed_logical, (GFunc) g_object_unref, NULL);
+                      g_list_free (enclosed_logical);
+                    }
+                }
+              g_object_unref (volume_device);
+            }
         }
     }
 
-- 
1.6.4.4



gvfs-1.4.0-mountspec-from-string.patch:
 gmountspec.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE gvfs-1.4.0-mountspec-from-string.patch ---
>From 7a430e4dc930115b620bf3aa2b9682ee1047dc48 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek at redhat.com>
Date: Thu, 8 Oct 2009 15:48:15 +0200
Subject: [PATCH] Fix creating mount_spec from string

Don't consume the ending character.
---
 common/gmountspec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/gmountspec.c b/common/gmountspec.c
index c55f996..1a9a60a 100644
--- a/common/gmountspec.c
+++ b/common/gmountspec.c
@@ -514,7 +514,7 @@ g_mount_spec_new_from_string (const gchar     *str,
   if (colon)
     {
       item.key = g_strdup ("type");
-      item.value = g_strndup (str, colon - str - 1);
+      item.value = g_strndup (str, colon - str);
       g_array_append_val (items, item);
       str = colon + 1;
     }
-- 
1.6.5.rc2


http-icons.patch:
 gvfsbackendhttp.c |   46 ++++++++++++++++++++++------------------------
 1 file changed, 22 insertions(+), 24 deletions(-)

--- NEW FILE http-icons.patch ---
diff --git a/daemon/gvfsbackendhttp.c b/daemon/gvfsbackendhttp.c
index 45ea54d..97c6ce7 100644
--- a/daemon/gvfsbackendhttp.c
+++ b/daemon/gvfsbackendhttp.c
@@ -47,6 +47,7 @@
 #include "gvfsjobqueryattributes.h"
 #include "gvfsjobenumerate.h"
 #include "gvfsdaemonprotocol.h"
+#include "gvfsdaemonutils.h"
 
 #include "soup-input-stream.h"
 
@@ -539,10 +540,12 @@ query_info_ready (SoupSession *session,
   const char            *text;
   GFileInfo             *info;
   char                  *basename;
+  char                  *ed_name;
 
   job     = G_VFS_JOB_QUERY_INFO (user_data);
   info    = job->file_info;
   matcher = job->attribute_matcher;
+  ed_name = NULL;
 
   if (! SOUP_STATUS_IS_SUCCESSFUL (msg->status_code))
     {
@@ -562,30 +565,18 @@ query_info_ready (SoupSession *session,
       g_file_attribute_matcher_matches (matcher,
                                         G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME))
     {
-      char *display_name = g_filename_display_name (basename);
-
-      if (strstr (display_name, "\357\277\275") != NULL)
-        {
-          char *p = display_name;
-          display_name = g_strconcat (display_name, _(" (invalid encoding)"), NULL);
-          g_free (p);
-        }
-
-      g_file_info_set_display_name (info, display_name);
-      g_free (display_name);
+      ed_name = gvfs_file_info_populate_names_as_local (info, basename);
     }
 
-  if (basename != NULL &&
+  if (ed_name != NULL &&
       g_file_attribute_matcher_matches (matcher,
                                         G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME))
     {
-      char *edit_name = g_filename_display_name (basename);
-      g_file_info_set_edit_name (info, edit_name);
-      g_free (edit_name);
-    } 
+      g_file_info_set_edit_name (info, ed_name);
+    }
 
   g_free (basename);
-
+  g_free (ed_name);
 
   text = soup_message_headers_get (msg->response_headers,
                                    "Content-Length");
@@ -601,15 +592,22 @@ query_info_ready (SoupSession *session,
   if (text)
     {
       char *p = strchr (text, ';');
+      char *tmp = NULL;
+      GIcon *icon;
 
       if (p != NULL)
-        {
-          char *tmp = g_strndup (text, p - text);
-          g_file_info_set_content_type (info, tmp);
-          g_free (tmp);
-        }
-      else
-        g_file_info_set_content_type (info, text);
+        text = tmp = g_strndup (text, p - text);
+
+      g_file_info_set_file_type (info, G_FILE_TYPE_REGULAR);
+      g_file_info_set_content_type (info, text);
+      g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE, text);
+
+      icon = g_content_type_get_icon (text);
+      g_file_info_set_icon (info, icon);
+      g_object_unref (icon);
+
+      g_free (tmp);
+
     }
 
 


Index: gvfs.spec
===================================================================
RCS file: /cvs/extras/rpms/gvfs/devel/gvfs.spec,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -p -r1.157 -r1.158
--- gvfs.spec	21 Sep 2009 15:09:47 -0000	1.157
+++ gvfs.spec	8 Oct 2009 14:51:35 -0000	1.158
@@ -1,7 +1,7 @@
 Summary: Backends for the gio framework in GLib
 Name: gvfs
 Version: 1.4.0
-Release: 1%{?dist}
+Release: 4%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
@@ -34,9 +34,16 @@ Requires(postun): desktop-file-utils
 BuildRequires: automake autoconf
 BuildRequires: libtool
 # http://bugzilla.gnome.org/show_bug.cgi?id=567235
-Patch1: gvfs-archive-integration.patch
+Patch0: gvfs-archive-integration.patch
 # http://bugzilla.gnome.org/show_bug.cgi?id=591005
-Patch10: 0001-Add-AFC-backend.patch
+Patch1: 0001-Add-AFC-backend.patch
+# from upstream
+Patch2: http-icons.patch
+# from upstream
+Patch3: consider-logical-partitions.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=526892
+# Nautilus not displaying friendly icons for SSH-connected system
+Patch4: gvfs-1.4.0-mountspec-from-string.patch
 
 %description
 The gvfs package provides backend implementations for the gio
@@ -128,8 +135,11 @@ and iPod Touches to applications using g
 
 %prep
 %setup -q
-%patch1 -p1 -b .archive-integration
-%patch10 -p1 -b .afc
+%patch0 -p1 -b .archive-integration
+%patch1 -p1 -b .afc
+%patch2 -p1 -b .http-icons
+%patch3 -p1 -b .logical-partitions
+%patch4 -p1 -b .favicons
 
 %build
 
@@ -283,6 +293,16 @@ update-desktop-database &> /dev/null ||:
 %{_datadir}/gvfs/remote-volume-monitors/afc.monitor
 
 %changelog
+* Thu Oct  8 2009 Tomas Bzatek <tbzatek at redhat.com> - 1.4.0-4
+- Fix Nautilus not displaying friendly icons for SSH-connected system (#526892)
+- Actually apply the logical partitions patch
+
+* Thu Oct  1 2009 Matthias Clasen <mclasen at redhat.com> - 1.4.0-3
+- Consider logical partitions when deciding if a drive should be ignored
+
+* Tue Sep 29 2009 Matthias Clasen <mclasen at redhat.com> - 1.4.0-2
+- Fix the lack of icons in the http backend
+
 * Mon Sep 21 2009 Tomas Bzatek <tbzatek at redhat.com> - 1.4.0-1
 - Update to 1.4.0
 




More information about the fedora-extras-commits mailing list