diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2008-06-29 22:34:35 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2008-06-29 22:34:35 +0000 |
commit | eecf66c3c8097cbaba51c174cea13170e9e8e59c (patch) | |
tree | c915df3c656a71f33da62e0c0fa27cb077903097 /gnome-base | |
parent | Add more programs for preferred applications capplet, bug #215313. Remove als... (diff) | |
download | gentoo-2-eecf66c3c8097cbaba51c174cea13170e9e8e59c.tar.gz gentoo-2-eecf66c3c8097cbaba51c174cea13170e9e8e59c.tar.bz2 gentoo-2-eecf66c3c8097cbaba51c174cea13170e9e8e59c.zip |
add patches from bugs #229719, #229723, #216391
(Portage version: 2.2_rc1/cvs/Linux 2.6.24-gentoo-r8-mactel x86_64)
Diffstat (limited to 'gnome-base')
5 files changed, 240 insertions, 1 deletions
diff --git a/gnome-base/nautilus/ChangeLog b/gnome-base/nautilus/ChangeLog index 88f0bb02c57a..b122915743c5 100644 --- a/gnome-base/nautilus/ChangeLog +++ b/gnome-base/nautilus/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for gnome-base/nautilus # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.265 2008/06/08 20:51:58 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.266 2008/06/29 22:34:34 eva Exp $ + +*nautilus-2.22.3-r1 (29 Jun 2008) + + 29 Jun 2008; Gilles Dartiguelongue <eva@gentoo.org> + +files/nautilus-2.22.3-open-folder.patch, + +files/nautilus-2.22.3-preserve-metadata.patch, + +files/nautilus-2.22.3-prevent-recursive-mvcp.patch, + +nautilus-2.22.3-r1.ebuild: + add patches from bugs #229719, #229723, #216391 08 Jun 2008; Gilles Dartiguelongue <eva@gentoo.org> -nautilus-2.18.1-r1.ebuild, -nautilus-2.18.3-r1.ebuild, diff --git a/gnome-base/nautilus/files/nautilus-2.22.3-open-folder.patch b/gnome-base/nautilus/files/nautilus-2.22.3-open-folder.patch new file mode 100644 index 000000000000..1622374851e9 --- /dev/null +++ b/gnome-base/nautilus/files/nautilus-2.22.3-open-folder.patch @@ -0,0 +1,37 @@ +diff -up nautilus-2.22.2/libnautilus-private/nautilus-autorun.c.fix-open-folder nautilus-2.22.2/libnautilus-private/nautilus-autorun.c +--- nautilus-2.22.2/libnautilus-private/nautilus-autorun.c.fix-open-folder 2008-04-17 22:30:04.000000000 -0400 ++++ nautilus-2.22.2/libnautilus-private/nautilus-autorun.c 2008-04-17 22:30:10.000000000 -0400 +@@ -1200,15 +1200,6 @@ typedef struct { + gpointer user_data; + } AutorunData; + +- +-static void +-autorun_open_folder_for_mount (AutorunData *data) +-{ +- if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_MEDIA_AUTOMOUNT_OPEN) && +- data->open_window_func != NULL) +- data->open_window_func (data->mount, data->user_data); +-} +- + static void + autorun_guessed_content_type_callback (GObject *source_object, + GAsyncResult *res, +@@ -1237,13 +1228,14 @@ autorun_guessed_content_type_callback (G + } + g_strfreev (guessed_content_type); + } else { +- open_folder = TRUE; ++ if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_MEDIA_AUTOMOUNT_OPEN)) ++ open_folder = TRUE; + } + } + + /* only open the folder once.. */ +- if (open_folder) { +- autorun_open_folder_for_mount (data); ++ if (open_folder && data->open_window_func != NULL) { ++ data->open_window_func (data->mount, data->user_data); + } + + g_object_unref (data->mount); diff --git a/gnome-base/nautilus/files/nautilus-2.22.3-preserve-metadata.patch b/gnome-base/nautilus/files/nautilus-2.22.3-preserve-metadata.patch new file mode 100644 index 000000000000..6a00eeb83756 --- /dev/null +++ b/gnome-base/nautilus/files/nautilus-2.22.3-preserve-metadata.patch @@ -0,0 +1,12 @@ +diff -ru nautilus-2.22.1.orig/libnautilus-private/nautilus-file-operations.c nautilus-2.22.1/libnautilus-private/nautilus-file-operations.c +--- nautilus-2.22.1.orig/libnautilus-private/nautilus-file-operations.c 2008-03-28 08:13:32.000000000 -0400 ++++ nautilus-2.22.1/libnautilus-private/nautilus-file-operations.c 2008-04-05 16:24:39.674861333 -0400 +@@ -3245,7 +3245,7 @@ + retry: + + error = NULL; +- flags = G_FILE_COPY_NOFOLLOW_SYMLINKS; ++ flags = G_FILE_COPY_NOFOLLOW_SYMLINKS | G_FILE_COPY_ALL_METADATA; + if (overwrite) { + flags |= G_FILE_COPY_OVERWRITE; + } diff --git a/gnome-base/nautilus/files/nautilus-2.22.3-prevent-recursive-mvcp.patch b/gnome-base/nautilus/files/nautilus-2.22.3-prevent-recursive-mvcp.patch new file mode 100644 index 000000000000..128475e08cf8 --- /dev/null +++ b/gnome-base/nautilus/files/nautilus-2.22.3-prevent-recursive-mvcp.patch @@ -0,0 +1,113 @@ +Index: libnautilus-private/nautilus-file-operations.c +=================================================================== +--- libnautilus-private/nautilus-file-operations.c (revision 14108) ++++ libnautilus-private/nautilus-file-operations.c (working copy) +@@ -3224,6 +3224,24 @@ + } + } + ++static gboolean ++g_file_struct_contains (GFile *child, GFile *root) ++{ ++ GFile *f; ++ ++ f = g_file_dup (child); ++ while (f) { ++ if (g_file_equal (f, root)) { ++ g_object_unref (f); ++ return TRUE; ++ } ++ f = g_file_get_parent (f); ++ } ++ ++ if (f) g_object_unref (f); ++ return FALSE; ++} ++ + /* Debuting files is non-NULL only for toplevel items */ + static void + copy_move_file (CopyMoveJob *copy_job, +@@ -3264,6 +3282,41 @@ + dest = get_target_file (src, dest_dir, same_fs); + } + ++ ++ /* Don't allow recursive move/copy into itself. ++ * (We would get a file system error if we proceeded but it is nicer to ++ * detect and report it at this level) */ ++ if (g_file_struct_contains (dest_dir, src)) { ++ if (job->skip_all_error) { ++ g_error_free (error); ++ goto out; ++ } ++ ++ /* the run_warning() frees all strings passed in automatically */ ++ primary = copy_job->is_move ? g_strdup (_("You cannot move a folder into itself.")) ++ : g_strdup (_("You cannot copy a folder into itself.")); ++ secondary = g_strdup (_("The destination folder is inside the source folder.")); ++ ++ response = run_warning (job, ++ primary, ++ secondary, ++ NULL, ++ GTK_STOCK_CANCEL, SKIP_ALL, SKIP, ++ NULL); ++ ++ if (response == 0 || response == GTK_RESPONSE_DELETE_EVENT) { ++ abort_job (job); ++ } else if (response == 1) { /* skip all */ ++ job->skip_all_error = TRUE; ++ } else if (response == 2) { /* skip */ ++ /* do nothing */ ++ } else { ++ g_assert_not_reached (); ++ } ++ ++ goto out; ++ } ++ + retry: + + error = NULL; +@@ -3791,6 +3844,41 @@ + + dest = get_target_file (src, dest_dir, same_fs); + ++ ++ /* Don't allow recursive move/copy into itself. ++ * (We would get a file system error if we proceeded but it is nicer to ++ * detect and report it at this level) */ ++ if (g_file_struct_contains (dest_dir, src)) { ++ if (job->skip_all_error) { ++ g_error_free (error); ++ goto out; ++ } ++ ++ /* the run_warning() frees all strings passed in automatically */ ++ primary = move_job->is_move ? g_strdup (_("You cannot move a folder into itself.")) ++ : g_strdup (_("You cannot copy a folder into itself.")); ++ secondary = g_strdup (_("The destination folder is inside the source folder.")); ++ ++ response = run_warning (job, ++ primary, ++ secondary, ++ NULL, ++ GTK_STOCK_CANCEL, SKIP_ALL, SKIP, ++ NULL); ++ ++ if (response == 0 || response == GTK_RESPONSE_DELETE_EVENT) { ++ abort_job (job); ++ } else if (response == 1) { /* skip all */ ++ job->skip_all_error = TRUE; ++ } else if (response == 2) { /* skip */ ++ /* do nothing */ ++ } else { ++ g_assert_not_reached (); ++ } ++ ++ goto out; ++ } ++ + retry: + + flags = G_FILE_COPY_NOFOLLOW_SYMLINKS | G_FILE_COPY_NO_FALLBACK_FOR_MOVE; diff --git a/gnome-base/nautilus/nautilus-2.22.3-r1.ebuild b/gnome-base/nautilus/nautilus-2.22.3-r1.ebuild new file mode 100644 index 000000000000..bf7a278cece4 --- /dev/null +++ b/gnome-base/nautilus/nautilus-2.22.3-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.22.3-r1.ebuild,v 1.1 2008/06/29 22:34:34 eva Exp $ + +inherit virtualx eutils gnome2 + +DESCRIPTION="A file manager for the GNOME desktop" +HOMEPAGE="http://www.gnome.org/projects/nautilus/" + +LICENSE="GPL-2 LGPL-2 FDL-1.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="beagle gnome tracker" + +RDEPEND=">=x11-libs/startup-notification-0.8 + >=gnome-base/libbonobo-2.1 + >=gnome-base/eel-2.21.90 + >=dev-libs/glib-2.15.6 + >=gnome-base/gnome-desktop-2.10 + >=gnome-base/orbit-2.4 + >=x11-libs/pango-1.1.2 + >=x11-libs/gtk+-2.11.6 + >=gnome-base/librsvg-2.0.1 + >=dev-libs/libxml2-2.4.7 + >=media-libs/libexif-0.5.12 + >=gnome-base/gconf-2.0 + >=gnome-base/gvfs-0.1.2 + beagle? ( || ( + dev-libs/libbeagle + =app-misc/beagle-0.2* + ) ) + tracker? ( >=app-misc/tracker-0.6.4 ) + >=gnome-base/libgnome-2.14 + >=gnome-base/libgnomeui-2.6" +DEPEND="${RDEPEND} + sys-devel/gettext + >=dev-util/pkgconfig-0.9 + >=dev-util/intltool-0.35" +PDEPEND="gnome? ( >=x11-themes/gnome-icon-theme-1.1.91 )" + +DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS README THANKS TODO" + +pkg_setup() { + G2CONF="--disable-update-mimedb $(use_enable beagle) $(use_enable tracker)" +} + +src_unpack() { + gnome2_src_unpack + + # bug #229719, #229723, #216391 + epatch "${FILESDIR}/${P}-open-folder.patch" + epatch "${FILESDIR}/${P}-prevent-recursive-mvcp.patch" + epatch "${FILESDIR}/${P}-preserve-metadata.patch" +} + +src_test() { + addwrite "/root/.gnome2_private" + unset SESSION_MANAGER + Xemake check || die "Test phase failed" +} + +pkg_postinst() { + gnome2_pkg_postinst + + elog "nautilus can use gstreamer to preview audio files. Just make sure" + elog "to have the necessary plugins available to play the media type you" + elog "want to preview" +} |