diff -u glib2.0-2.20.1/debian/changelog glib2.0-2.20.1/debian/changelog --- glib2.0-2.20.1/debian/changelog +++ glib2.0-2.20.1/debian/changelog @@ -1,3 +1,11 @@ +glib2.0 (2.20.1-0ubuntu2.1) jaunty; urgency=low + + * Add debian/patches/61_disable-setting-mode-nofollow-symlinks.patch + - Fix for nautilus changing permissions when moving symlinks (LP: #418135) + Source: http://bugzilla-attachments.gnome.org/attachment.cgi?id=142220 + + -- Arand Nash Tue, 01 Sep 2009 13:34:27 +0200 + glib2.0 (2.20.1-0ubuntu2) jaunty; urgency=low * Build-depend on libgamin-dev | libfam-dev, not libfam-dev | libgamin-dev; diff -u glib2.0-2.20.1/debian/patches/series glib2.0-2.20.1/debian/patches/series --- glib2.0-2.20.1/debian/patches/series +++ glib2.0-2.20.1/debian/patches/series @@ -6,0 +7 @@ +61_disable-setting-mode-nofollow-symlinks.patch only in patch2: unchanged: --- glib2.0-2.20.1.orig/debian/patches/61_disable-setting-mode-nofollow-symlinks.patch +++ glib2.0-2.20.1/debian/patches/61_disable-setting-mode-nofollow-symlinks.patch @@ -0,0 +1,44 @@ +Index: glib2.0-2.20.1/gio/glocalfileinfo.c +=================================================================== +--- glib2.0-2.20.1.orig/gio/glocalfileinfo.c 2009-04-08 15:42:48.000000000 +0200 ++++ glib2.0-2.20.1/gio/glocalfileinfo.c 2009-09-01 13:08:33.265836170 +0200 +@@ -1815,6 +1815,7 @@ + + static gboolean + set_unix_mode (char *filename, ++ GFileQueryInfoFlags flags, + const GFileAttributeValue *value, + GError **error) + { +@@ -1823,6 +1824,13 @@ + if (!get_uint32 (value, &val, error)) + return FALSE; + ++ if (flags & G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS) { ++ g_set_error_literal (error, G_IO_ERROR, ++ G_IO_ERROR_NOT_SUPPORTED, ++ _("Cannot set permissions on symlinks")); ++ return FALSE; ++ } ++ + if (g_chmod (filename, val) == -1) + { + int errsv = errno; +@@ -2116,7 +2124,7 @@ + _g_file_attribute_value_set_from_pointer (&value, type, value_p, FALSE); + + if (strcmp (attribute, G_FILE_ATTRIBUTE_UNIX_MODE) == 0) +- return set_unix_mode (filename, &value, error); ++ return set_unix_mode (filename, flags, &value, error); + + #ifdef HAVE_CHOWN + else if (strcmp (attribute, G_FILE_ATTRIBUTE_UNIX_UID) == 0) +@@ -2229,7 +2237,7 @@ + value = _g_file_info_get_attribute_value (info, G_FILE_ATTRIBUTE_UNIX_MODE); + if (value) + { +- if (!set_unix_mode (filename, value, error)) ++ if (!set_unix_mode (filename, flags, value, error)) + { + value->status = G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING; + res = FALSE;