summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2008-06-29 22:34:35 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2008-06-29 22:34:35 +0000
commiteecf66c3c8097cbaba51c174cea13170e9e8e59c (patch)
treec915df3c656a71f33da62e0c0fa27cb077903097 /gnome-base
parentAdd more programs for preferred applications capplet, bug #215313. Remove als... (diff)
downloadgentoo-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')
-rw-r--r--gnome-base/nautilus/ChangeLog11
-rw-r--r--gnome-base/nautilus/files/nautilus-2.22.3-open-folder.patch37
-rw-r--r--gnome-base/nautilus/files/nautilus-2.22.3-preserve-metadata.patch12
-rw-r--r--gnome-base/nautilus/files/nautilus-2.22.3-prevent-recursive-mvcp.patch113
-rw-r--r--gnome-base/nautilus/nautilus-2.22.3-r1.ebuild68
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"
+}