From 339758d122acc888c2d2992360c2f95f78238f56 Mon Sep 17 00:00:00 2001 From: David Zeuthen Date: Apr 09 2009 18:36:06 +0000 Subject: - Avoid automounting device-mapper devices and similar (#494144) --- diff --git a/gvfs-1.2.1-only-mount-the-metal.patch b/gvfs-1.2.1-only-mount-the-metal.patch new file mode 100644 index 0000000..54c9d13 --- /dev/null +++ b/gvfs-1.2.1-only-mount-the-metal.patch @@ -0,0 +1,59 @@ +--- gvfs-1.2.1/monitor/gdu/ggduvolume.c.orig 2009-04-09 14:13:39.000000000 -0400 ++++ gvfs-1.2.1/monitor/gdu/ggduvolume.c 2009-04-09 14:28:51.000000000 -0400 +@@ -293,6 +293,56 @@ update_volume (GGduVolume *volume) + volume->should_automount = FALSE; + } + ++ /* Avoid automounting volumes from ++ * ++ * 1. drives on a 'virtual' or unset bus ++ * 2. volumes without a drive ++ * ++ * This is to avoid interference with things like Fedora's ++ * livecd-tools that use device-mapper to set up images. See ++ * https://bugzilla.redhat.com/show_bug.cgi?id=494144 for more ++ * background. ++ * ++ * In the future we might want to relax 1. so automounting ++ * things like Linux MD and LVM2 devices work. ++ */ ++ if (volume->drive != NULL) ++ { ++ GduPresentable *drive_presentable; ++ drive_presentable = g_gdu_drive_get_presentable (volume->drive); ++ if (drive_presentable != NULL) ++ { ++ GduDevice *drive_device; ++ drive_device = gdu_presentable_get_device (drive_presentable); ++ if (drive_device != NULL) ++ { ++ const gchar *bus; ++ bus = gdu_device_drive_get_connection_interface (drive_device); ++ if (bus == NULL || strlen (bus) == 0 || g_strcmp0 (bus, "virtual") == 0) ++ { ++ volume->should_automount = FALSE; ++ } ++ g_object_unref (drive_device); ++ } ++ else ++ { ++ volume->should_automount = FALSE; ++ } ++ } ++ else ++ { ++ volume->should_automount = FALSE; ++ } ++ } ++ else ++ { ++ volume->should_automount = FALSE; ++ } ++ ++ g_debug ("should_automount = %d for %s", ++ volume->should_automount, ++ device != NULL ? gdu_device_get_device_file (device) : "(none)"); ++ + g_free (activation_uri); + } + diff --git a/gvfs.spec b/gvfs.spec index ea1eed6..0915f9d 100644 --- a/gvfs.spec +++ b/gvfs.spec @@ -1,7 +1,7 @@ Summary: Backends for the gio framework in GLib Name: gvfs Version: 1.2.1 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org @@ -40,6 +40,9 @@ Patch3: gvfs-1.1.7-gdu-monitor-empty-drives.patch # http://bugzilla.gnome.org/show_bug.cgi?id=573826 Patch4: gvfs-1.1.7-gdu-computer-expose-devices.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=494144 +Patch5: gvfs-1.2.1-only-mount-the-metal.patch + %description The gvfs package provides backend implementations for the gio framework in GLib. It includes ftp, sftp, cifs. @@ -124,6 +127,7 @@ media players (Media Transfer Protocol) to applications using gvfs. %patch2 -p0 -b .gdu %patch3 -p1 -b .gdu-volumes-typo %patch4 -p1 -b .computer-gdu +%patch5 -p1 -b .metal %build @@ -267,6 +271,9 @@ update-desktop-database &> /dev/null ||: %changelog +* Thu Apr 9 2009 David Zeuthen - 1.2.1-2 +- Avoid automounting device-mapper devices and similar (#494144) + * Thu Apr 2 2009 Matthias Clasen - 1.2.1-1 - Update to 1.2.1