diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49fa89c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/nautilus-3.28.1.tar.xz diff --git a/.nautilus.metadata b/.nautilus.metadata new file mode 100644 index 0000000..57a13a4 --- /dev/null +++ b/.nautilus.metadata @@ -0,0 +1 @@ +f5fb5185ad922f906a22bc0aeae4cc76a243200d SOURCES/nautilus-3.28.1.tar.xz diff --git a/SOURCES/0001-dbus-manager-Implement-trashing-files.patch b/SOURCES/0001-dbus-manager-Implement-trashing-files.patch new file mode 100644 index 0000000..7d64a59 --- /dev/null +++ b/SOURCES/0001-dbus-manager-Implement-trashing-files.patch @@ -0,0 +1,69 @@ +From db2b7aea67c994ba8a6e5a9ffec245b1daebcdfb Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Mon, 6 Aug 2018 17:32:00 +0200 +Subject: [PATCH 01/11] dbus-manager: Implement trashing files + +So desktop icons extension can use it. +--- + data/dbus-interfaces.xml | 3 +++ + src/nautilus-dbus-manager.c | 24 ++++++++++++++++++++++++ + 2 files changed, 27 insertions(+) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 35fb9945b..4588762a9 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -35,5 +35,8 @@ + + + ++ ++ ++ + + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 3611a2358..4da1c727b 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -131,6 +131,26 @@ handle_empty_trash (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++static gboolean ++handle_trash_files (NautilusDBusFileOperations *object, ++ GDBusMethodInvocation *invocation, ++ const gchar **sources) ++{ ++ g_autolist (GFile) source_files = NULL; ++ gint idx; ++ ++ for (idx = 0; sources[idx] != NULL; idx++) ++ { ++ source_files = g_list_prepend (source_files, ++ g_file_new_for_uri (sources[idx])); ++ } ++ ++ nautilus_file_operations_trash_or_delete (source_files, NULL, NULL, NULL); ++ ++ nautilus_dbus_file_operations_complete_trash_files (object, invocation); ++ return TRUE; /* invocation was handled */ ++} ++ + static void + nautilus_dbus_manager_init (NautilusDBusManager *self) + { +@@ -148,6 +168,10 @@ nautilus_dbus_manager_init (NautilusDBusManager *self) + "handle-empty-trash", + G_CALLBACK (handle_empty_trash), + self); ++ g_signal_connect (self->file_operations, ++ "handle-trash-files", ++ G_CALLBACK (handle_trash_files), ++ self); + } + + static void +-- +2.17.1 + diff --git a/SOURCES/0002-dbus-manager-Implement-creation-of-new-folders.patch b/SOURCES/0002-dbus-manager-Implement-creation-of-new-folders.patch new file mode 100644 index 0000000..d2cba70 --- /dev/null +++ b/SOURCES/0002-dbus-manager-Implement-creation-of-new-folders.patch @@ -0,0 +1,71 @@ +From d2be99e4528759d28985246a55c9d4513e78f918 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Mon, 6 Aug 2018 20:11:31 +0200 +Subject: [PATCH 02/11] dbus-manager: Implement creation of new folders + +For the integration with the desktop icons extension. +--- + data/dbus-interfaces.xml | 3 +++ + src/nautilus-dbus-manager.c | 26 ++++++++++++++++++++++++++ + 2 files changed, 29 insertions(+) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 4588762a9..4e67f1393 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -38,5 +38,8 @@ + + + ++ ++ ++ + + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 4da1c727b..337a73262 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -94,6 +94,28 @@ handle_copy_file (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++static gboolean ++handle_create_folder (NautilusDBusFileOperations *object, ++ GDBusMethodInvocation *invocation, ++ const gchar *uri) ++{ ++ g_autoptr (GFile) file = NULL; ++ g_autoptr (GFile) parent_file = NULL; ++ g_autofree gchar *basename = NULL; ++ g_autofree gchar *parent_file_uri = NULL; ++ ++ file = g_file_new_for_uri (uri); ++ basename = g_file_get_basename (file); ++ parent_file = g_file_get_parent (file); ++ parent_file_uri = g_file_get_uri (parent_file); ++ ++ nautilus_file_operations_new_folder (NULL, parent_file_uri, basename, ++ NULL, NULL); ++ ++ nautilus_dbus_file_operations_complete_create_folder (object, invocation); ++ return TRUE; /* invocation was handled */ ++} ++ + static gboolean + handle_copy_uris (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, +@@ -172,6 +194,10 @@ nautilus_dbus_manager_init (NautilusDBusManager *self) + "handle-trash-files", + G_CALLBACK (handle_trash_files), + self); ++ g_signal_connect (self->file_operations, ++ "handle-create-folder", ++ G_CALLBACK (handle_create_folder), ++ self); + } + + static void +-- +2.17.1 + diff --git a/SOURCES/0003-dbus-manager-Implement-undo-redo.patch b/SOURCES/0003-dbus-manager-Implement-undo-redo.patch new file mode 100644 index 0000000..5e7edcf --- /dev/null +++ b/SOURCES/0003-dbus-manager-Implement-undo-redo.patch @@ -0,0 +1,88 @@ +From 42ea37f93c134d55cd622e3e346726babaf56139 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Mon, 6 Aug 2018 20:12:00 +0200 +Subject: [PATCH 03/11] dbus-manager: Implement undo/redo + +For the integration with the desktop icons extension. +--- + data/dbus-interfaces.xml | 4 ++++ + src/nautilus-dbus-manager.c | 35 +++++++++++++++++++++++++++++++++++ + 2 files changed, 39 insertions(+) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 4e67f1393..2133bb99c 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -41,5 +41,9 @@ + + + ++ ++ ++ ++ + + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 337a73262..bce6b5c4d 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -26,6 +26,7 @@ + #include "nautilus-generated.h" + + #include "nautilus-file-operations.h" ++#include "nautilus-file-undo-manager.h" + + #define DEBUG_FLAG NAUTILUS_DEBUG_DBUS + #include "nautilus-debug.h" +@@ -94,6 +95,32 @@ handle_copy_file (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++static gboolean ++handle_redo (NautilusDBusFileOperations *object, ++ GDBusMethodInvocation *invocation) ++{ ++ g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ ++ undo_manager = nautilus_file_undo_manager_get (); ++ nautilus_file_undo_manager_redo (NULL); ++ ++ nautilus_dbus_file_operations_complete_redo (object, invocation); ++ return TRUE; /* invocation was handled */ ++} ++ ++static gboolean ++handle_undo (NautilusDBusFileOperations *object, ++ GDBusMethodInvocation *invocation) ++{ ++ g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ ++ undo_manager = nautilus_file_undo_manager_get (); ++ nautilus_file_undo_manager_undo (NULL); ++ ++ nautilus_dbus_file_operations_complete_undo (object, invocation); ++ return TRUE; /* invocation was handled */ ++} ++ + static gboolean + handle_create_folder (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, +@@ -198,6 +225,14 @@ nautilus_dbus_manager_init (NautilusDBusManager *self) + "handle-create-folder", + G_CALLBACK (handle_create_folder), + self); ++ g_signal_connect (self->file_operations, ++ "handle-undo", ++ G_CALLBACK (handle_undo), ++ self); ++ g_signal_connect (self->file_operations, ++ "handle-redo", ++ G_CALLBACK (handle_redo), ++ self); + } + + static void +-- +2.17.1 + diff --git a/SOURCES/0004-dbus-manager-Use-a-more-robust-copy-operation.patch b/SOURCES/0004-dbus-manager-Use-a-more-robust-copy-operation.patch new file mode 100644 index 0000000..325a0bb --- /dev/null +++ b/SOURCES/0004-dbus-manager-Use-a-more-robust-copy-operation.patch @@ -0,0 +1,46 @@ +From ef022816e3fe321d9ee9b5a2deab96ca718f7215 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 7 Aug 2018 10:47:28 +0200 +Subject: [PATCH 04/11] dbus-manager: Use a more robust copy operation + +We were using the copy_file operation which seems to be quite buggy, +Nautilus should probably drop that one soon, specially since no other +part of Nautilus uses it. +--- + src/nautilus-dbus-manager.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index bce6b5c4d..8135c9650 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -150,22 +150,17 @@ handle_copy_uris (NautilusDBusFileOperations *object, + const gchar *destination) + { + GList *source_files = NULL; +- GFile *dest_dir; + gint idx; + +- dest_dir = g_file_new_for_uri (destination); +- + for (idx = 0; sources[idx] != NULL; idx++) + { +- source_files = g_list_prepend (source_files, +- g_file_new_for_uri (sources[idx])); ++ source_files = g_list_prepend (source_files, g_strdup (sources[idx])); + } + +- nautilus_file_operations_copy (source_files, dest_dir, NULL, NULL, NULL); +- +- g_list_free_full (source_files, g_object_unref); +- g_object_unref (dest_dir); ++ nautilus_file_operations_copy_move (source_files, destination, ++ GDK_ACTION_COPY, NULL, NULL, NULL); + ++ g_list_free_full (source_files, g_free); + nautilus_dbus_file_operations_complete_copy_uris (object, invocation); + return TRUE; /* invocation was handled */ + } +-- +2.17.1 + diff --git a/SOURCES/0005-file-operations-Don-t-crash-if-source-file-not-prese.patch b/SOURCES/0005-file-operations-Don-t-crash-if-source-file-not-prese.patch new file mode 100644 index 0000000..0b72e41 --- /dev/null +++ b/SOURCES/0005-file-operations-Don-t-crash-if-source-file-not-prese.patch @@ -0,0 +1,88 @@ +From 32f347bd83495edf2bda746d17e613c868a7c379 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 7 Aug 2018 11:51:54 +0200 +Subject: [PATCH 05/11] file-operations: Don't crash if source file not present + on creation + +When creating a file it was checking if the file already exists, and if +so it tried to give a new name based on the original file that was being +duplicated from which is the case for the regular copy/paste and the +template creation. + +However, creating a file is not only about duplicating from another one, +it also can come from creating a folder, that although in the UI it +prevents doing so, it can still be done through the dbus operation. + +Fix that by checking whether there is an actual source file, and if not, +use the name provided as base name. +--- + src/nautilus-file-operations.c | 36 ++++++++++++++++------------------ + 1 file changed, 17 insertions(+), 19 deletions(-) + +diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c +index 4d84b98be..cf5e7f46b 100644 +--- a/src/nautilus-file-operations.c ++++ b/src/nautilus-file-operations.c +@@ -7324,20 +7324,18 @@ retry: + { + g_autofree char *filename2 = NULL; + g_autofree char *suffix = NULL; +- NautilusFile *file; + +- file = nautilus_file_get (job->src); +- if (nautilus_file_is_directory (file)) +- { +- filename_base = filename; +- } +- else ++ filename_base = filename; ++ if (job->src != NULL) + { +- filename_base = eel_filename_strip_extension (filename); ++ g_autoptr (NautilusFile) file = NULL; ++ file = nautilus_file_get (job->src); ++ if (!nautilus_file_is_directory (file)) ++ { ++ filename_base = eel_filename_strip_extension (filename); ++ } + } + +- nautilus_file_unref (file); +- + offset = strlen (filename_base); + suffix = g_strdup (filename + offset); + +@@ -7377,21 +7375,21 @@ retry: + { + g_autofree char *suffix = NULL; + g_autofree gchar *filename2 = NULL; +- NautilusFile *file; + + g_clear_object (&dest); + +- file = nautilus_file_get (job->src); +- if (nautilus_file_is_directory (file)) +- { +- filename_base = filename; +- } +- else ++ filename_base = filename; ++ if (job->src != NULL) + { +- filename_base = eel_filename_strip_extension (filename); ++ g_autoptr (NautilusFile) file = NULL; ++ ++ file = nautilus_file_get (job->src); ++ if (!nautilus_file_is_directory (file)) ++ { ++ filename_base = eel_filename_strip_extension (filename); ++ } + } + +- nautilus_file_unref (file); + + offset = strlen (filename_base); + suffix = g_strdup (filename + offset); +-- +2.17.1 + diff --git a/SOURCES/0006-properties-window-Keep-alive-properties-window-if-ca.patch b/SOURCES/0006-properties-window-Keep-alive-properties-window-if-ca.patch new file mode 100644 index 0000000..fc32c8a --- /dev/null +++ b/SOURCES/0006-properties-window-Keep-alive-properties-window-if-ca.patch @@ -0,0 +1,359 @@ +From 965a1fb9dcd468b9fc0b87279f3a4a33b6bd635c Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 7 Aug 2018 12:40:42 +0200 +Subject: [PATCH 06/11] properties-window: Keep alive properties window if + called through DBus + +The properties window can be used from within Nautilus, and therefore a +dialog window makes sense, or from outside Nautilus, such as the +FileManager dbus free desktop standard. + +In the later, used for integration with things like desktop icons +extensions, we need to keep the application alive since GApplication +would close the application if no application window is alive after a +timeout. + +To fix this, this work makes the window hint a regular window if used +from those cases. +--- + src/nautilus-files-view.c | 6 +- + src/nautilus-freedesktop-dbus.c | 10 ++- + src/nautilus-pathbar.c | 3 +- + src/nautilus-properties-window.c | 106 ++++++++++++++++++++++--------- + src/nautilus-properties-window.h | 10 ++- + src/nautilus-window.c | 3 +- + 6 files changed, 101 insertions(+), 37 deletions(-) + +diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c +index 8aff33e25..5395390e7 100644 +--- a/src/nautilus-files-view.c ++++ b/src/nautilus-files-view.c +@@ -2435,14 +2435,16 @@ action_properties (GSimpleAction *action, + { + files = g_list_append (NULL, nautilus_file_ref (priv->directory_as_file)); + +- nautilus_properties_window_present (files, GTK_WIDGET (view), NULL); ++ nautilus_properties_window_present (files, GTK_WIDGET (view), NULL, ++ NULL, NULL); + + nautilus_file_list_free (files); + } + } + else + { +- nautilus_properties_window_present (selection, GTK_WIDGET (view), NULL); ++ nautilus_properties_window_present (selection, GTK_WIDGET (view), NULL, ++ NULL, NULL); + } + } + +diff --git a/src/nautilus-freedesktop-dbus.c b/src/nautilus-freedesktop-dbus.c +index c4657aba3..b88809908 100644 +--- a/src/nautilus-freedesktop-dbus.c ++++ b/src/nautilus-freedesktop-dbus.c +@@ -114,6 +114,12 @@ skeleton_handle_show_folders_cb (NautilusFreedesktopFileManager1 *object, + return TRUE; + } + ++static void ++properties_window_on_finished (gpointer user_data) ++{ ++ g_application_release (g_application_get_default ()); ++} ++ + static gboolean + skeleton_handle_show_item_properties_cb (NautilusFreedesktopFileManager1 *object, + GDBusMethodInvocation *invocation, +@@ -133,7 +139,9 @@ skeleton_handle_show_item_properties_cb (NautilusFreedesktopFileManager1 *object + + files = g_list_reverse (files); + +- nautilus_properties_window_present (files, NULL, startup_id); ++ g_application_hold (g_application_get_default ()); ++ nautilus_properties_window_present (files, NULL, startup_id, ++ properties_window_on_finished, NULL); + + nautilus_file_list_free (files); + +diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c +index 630b8ed33..ea3d2b53f 100644 +--- a/src/nautilus-pathbar.c ++++ b/src/nautilus-pathbar.c +@@ -211,7 +211,8 @@ action_pathbar_properties (GSimpleAction *action, + + files = g_list_append (NULL, nautilus_file_ref (priv->context_menu_file)); + +- nautilus_properties_window_present (files, GTK_WIDGET (self), NULL); ++ nautilus_properties_window_present (files, GTK_WIDGET (self), NULL, NULL, ++ NULL); + + nautilus_file_list_free (files); + } +diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c +index 8bd335a07..5405435cd 100644 +--- a/src/nautilus-properties-window.c ++++ b/src/nautilus-properties-window.c +@@ -152,6 +152,9 @@ typedef struct + char *startup_id; + char *pending_key; + GHashTable *pending_files; ++ NautilusPropertiesWindowCallback callback; ++ gpointer callback_data; ++ NautilusPropertiesWindow *window; + } StartupData; + + /* drag and drop definitions */ +@@ -197,8 +200,6 @@ static void is_directory_ready_callback (NautilusFile *file, + gpointer data); + static void cancel_group_change_callback (GroupChange *change); + static void cancel_owner_change_callback (OwnerChange *change); +-static void parent_widget_destroyed_callback (GtkWidget *widget, +- gpointer callback_data); + static void select_image_button_callback (GtkWidget *widget, + NautilusPropertiesWindow *properties_window); + static void set_icon (const char *icon_path, +@@ -4811,12 +4812,15 @@ get_pending_key (GList *file_list) + } + + static StartupData * +-startup_data_new (GList *original_files, +- GList *target_files, +- const char *pending_key, +- GtkWidget *parent_widget, +- GtkWindow *parent_window, +- const char *startup_id) ++startup_data_new (GList *original_files, ++ GList *target_files, ++ const char *pending_key, ++ GtkWidget *parent_widget, ++ GtkWindow *parent_window, ++ const char *startup_id, ++ NautilusPropertiesWindowCallback callback, ++ gpointer callback_data, ++ NautilusPropertiesWindow *window) + { + StartupData *data; + GList *l; +@@ -4830,6 +4834,9 @@ startup_data_new (GList *original_files, + data->pending_key = g_strdup (pending_key); + data->pending_files = g_hash_table_new (g_direct_hash, + g_direct_equal); ++ data->callback = callback; ++ data->callback_data = callback_data; ++ data->window = window; + + for (l = data->target_files; l != NULL; l = l->next) + { +@@ -5149,7 +5156,7 @@ remove_window (NautilusPropertiesWindow *window) + } + } + +-static GtkWindow * ++static NautilusPropertiesWindow * + get_existing_window (GList *file_list) + { + if (!file_list->next) +@@ -5160,10 +5167,28 @@ get_existing_window (GList *file_list) + return NULL; + } + ++static void ++properties_window_finish (StartupData *data) ++{ ++ if (data->parent_widget != NULL) ++ { ++ g_signal_handlers_disconnect_by_data (data->parent_widget, ++ data); ++ } ++ if (data->window != NULL) ++ { ++ g_signal_handlers_disconnect_by_data (data->window, ++ data); ++ } ++ ++ remove_pending (data, TRUE, TRUE, FALSE); ++ startup_data_free (data); ++} ++ + static void + cancel_create_properties_window_callback (gpointer callback_data) + { +- remove_pending ((StartupData *) callback_data, TRUE, FALSE, TRUE); ++ properties_window_finish ((StartupData *) callback_data); + } + + static void +@@ -5172,7 +5197,7 @@ parent_widget_destroyed_callback (GtkWidget *widget, + { + g_assert (widget == ((StartupData *) callback_data)->parent_widget); + +- remove_pending ((StartupData *) callback_data, TRUE, TRUE, FALSE); ++ properties_window_finish ((StartupData *) callback_data); + } + + static void +@@ -5203,16 +5228,24 @@ remove_pending (StartupData *startup_data, + eel_timed_wait_stop + (cancel_create_properties_window_callback, startup_data); + } +- if (cancel_destroy_handler && startup_data->parent_widget) ++ g_hash_table_remove (pending_lists, startup_data->pending_key); ++} ++ ++static gboolean ++widget_on_destroy (GtkWidget *widget, ++ gpointer user_data) ++{ ++ StartupData *data = (StartupData *) user_data; ++ ++ ++ if (data->callback != NULL) + { +- g_signal_handlers_disconnect_by_func (startup_data->parent_widget, +- G_CALLBACK (parent_widget_destroyed_callback), +- startup_data); ++ data->callback (data->callback_data); + } + +- g_hash_table_remove (pending_lists, startup_data->pending_key); ++ properties_window_finish (data); + +- startup_data_free (startup_data); ++ return GDK_EVENT_PROPAGATE; + } + + static void +@@ -5232,29 +5265,34 @@ is_directory_ready_callback (NautilusFile *file, + new_window = create_properties_window (startup_data); + + add_window (new_window); ++ startup_data->window = new_window; + + remove_pending (startup_data, FALSE, TRUE, TRUE); + + gtk_window_present (GTK_WINDOW (new_window)); ++ g_signal_connect(GTK_WIDGET (new_window), "destroy", ++ G_CALLBACK (widget_on_destroy), startup_data); + } + } + +- + void +-nautilus_properties_window_present (GList *original_files, +- GtkWidget *parent_widget, +- const gchar *startup_id) ++nautilus_properties_window_present (GList *original_files, ++ GtkWidget *parent_widget, ++ const gchar *startup_id, ++ NautilusPropertiesWindowCallback callback, ++ gpointer callback_data) + { + GList *l, *next; +- GtkWidget *parent_window; ++ GtkWindow *parent_window; + StartupData *startup_data; + GList *target_files; +- GtkWindow *existing_window; ++ NautilusPropertiesWindow *existing_window; + char *pending_key; + + g_return_if_fail (original_files != NULL); + g_return_if_fail (parent_widget == NULL || GTK_IS_WIDGET (parent_widget)); + ++ + /* Create the hash tables first time through. */ + if (windows == NULL) + { +@@ -5272,15 +5310,19 @@ nautilus_properties_window_present (GList *original_files, + { + if (parent_widget) + { +- gtk_window_set_screen (existing_window, ++ gtk_window_set_screen (GTK_WINDOW (existing_window), + gtk_widget_get_screen (parent_widget)); + } + else if (startup_id) + { +- gtk_window_set_startup_id (existing_window, startup_id); ++ gtk_window_set_startup_id (GTK_WINDOW (existing_window), startup_id); + } + +- gtk_window_present (existing_window); ++ gtk_window_present (GTK_WINDOW (existing_window)); ++ startup_data = startup_data_new (NULL, NULL, NULL, NULL, NULL, NULL, ++ callback, callback_data, existing_window); ++ g_signal_connect(GTK_WIDGET (existing_window), "destroy", ++ G_CALLBACK (widget_on_destroy), startup_data); + return; + } + +@@ -5290,6 +5332,9 @@ nautilus_properties_window_present (GList *original_files, + /* Look to see if we're already waiting for a window for this file. */ + if (g_hash_table_lookup (pending_lists, pending_key) != NULL) + { ++ /* FIXME: No callback is done if this happen. In practice, it's a quite ++ * corner case ++ */ + return; + } + +@@ -5297,7 +5342,7 @@ nautilus_properties_window_present (GList *original_files, + + if (parent_widget) + { +- parent_window = gtk_widget_get_ancestor (parent_widget, GTK_TYPE_WINDOW); ++ parent_window = GTK_WINDOW (gtk_widget_get_ancestor (parent_widget, GTK_TYPE_WINDOW)); + } + else + { +@@ -5308,8 +5353,11 @@ nautilus_properties_window_present (GList *original_files, + target_files, + pending_key, + parent_widget, +- GTK_WINDOW (parent_window), +- startup_id); ++ parent_window, ++ startup_id, ++ callback, ++ callback_data, ++ NULL); + + nautilus_file_list_free (target_files); + g_free (pending_key); +diff --git a/src/nautilus-properties-window.h b/src/nautilus-properties-window.h +index 9eff54c4e..e8d6a90e9 100644 +--- a/src/nautilus-properties-window.h ++++ b/src/nautilus-properties-window.h +@@ -59,8 +59,12 @@ typedef struct NautilusPropertiesWindowClass NautilusPropertiesWindowClass; + + GType nautilus_properties_window_get_type (void); + +-void nautilus_properties_window_present (GList *files, +- GtkWidget *parent_widget, +- const gchar *startup_id); ++typedef void (* NautilusPropertiesWindowCallback) (gpointer callback_data); ++ ++void nautilus_properties_window_present (GList *files, ++ GtkWidget *parent_widget, ++ const gchar *startup_id, ++ NautilusPropertiesWindowCallback callback, ++ gpointer callback_data); + + #endif /* NAUTILUS_PROPERTIES_WINDOW_H */ +diff --git a/src/nautilus-window.c b/src/nautilus-window.c +index 41c4623be..a6ee4d489 100644 +--- a/src/nautilus-window.c ++++ b/src/nautilus-window.c +@@ -1309,7 +1309,8 @@ action_properties (GSimpleAction *action, + file = nautilus_file_get (priv->selected_file); + + list = g_list_append (NULL, file); +- nautilus_properties_window_present (list, GTK_WIDGET (window), NULL); ++ nautilus_properties_window_present (list, GTK_WIDGET (window), NULL, NULL, ++ NULL); + nautilus_file_list_free (list); + + g_clear_object (&priv->selected_file); +-- +2.17.1 + diff --git a/SOURCES/0007-dbus-manager-Keep-application-alive-for-operations.patch b/SOURCES/0007-dbus-manager-Keep-application-alive-for-operations.patch new file mode 100644 index 0000000..f17a70e --- /dev/null +++ b/SOURCES/0007-dbus-manager-Keep-application-alive-for-operations.patch @@ -0,0 +1,149 @@ +From 80b807d9e52fdc3e5e0af5a2d4dd61fdb0a39bc8 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 7 Aug 2018 21:08:21 +0200 +Subject: [PATCH 07/11] dbus-manager: Keep application alive for operations + +Operations started from Nautilus windows have the persistence handler, +however, when not using windows like when invoked through DBus the +application could die after a timeout. + +This would stop the operation in the middle of its process, with +possible data loss. + +Make sure we keep the application alive while this is happening. +--- + src/nautilus-dbus-manager.c | 55 +++++++++++++++++++++++++++++++++++-- + 1 file changed, 52 insertions(+), 3 deletions(-) + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 8135c9650..0d5137292 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -95,13 +95,29 @@ handle_copy_file (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++static void ++undo_redo_on_finished (gpointer user_data) ++{ ++ g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ int *handler_id = (int *) user_data; ++ ++ undo_manager = nautilus_file_undo_manager_get (); ++ g_signal_handler_disconnect (undo_manager, *handler_id); ++ g_application_release (g_application_get_default ()); ++ g_free (handler_id); ++} ++ + static gboolean + handle_redo (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation) + { + g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ gint *handler_id = g_new0(int, 1); + + undo_manager = nautilus_file_undo_manager_get (); ++ *handler_id = g_signal_connect_swapped (undo_manager, "undo-changed", ++ G_CALLBACK (undo_redo_on_finished), ++ handler_id); + nautilus_file_undo_manager_redo (NULL); + + nautilus_dbus_file_operations_complete_redo (object, invocation); +@@ -113,14 +129,26 @@ handle_undo (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation) + { + g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ gint *handler_id = g_new0(int, 1); + + undo_manager = nautilus_file_undo_manager_get (); ++ *handler_id = g_signal_connect_swapped (undo_manager, "undo-changed", ++ G_CALLBACK (undo_redo_on_finished), ++ handler_id); + nautilus_file_undo_manager_undo (NULL); + + nautilus_dbus_file_operations_complete_undo (object, invocation); + return TRUE; /* invocation was handled */ + } + ++static void ++create_folder_on_finished (GFile *new_file, ++ gboolean success, ++ gpointer callback_data) ++{ ++ g_application_release (g_application_get_default ()); ++} ++ + static gboolean + handle_create_folder (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, +@@ -136,13 +164,22 @@ handle_create_folder (NautilusDBusFileOperations *object, + parent_file = g_file_get_parent (file); + parent_file_uri = g_file_get_uri (parent_file); + ++ g_application_hold (g_application_get_default ()); + nautilus_file_operations_new_folder (NULL, parent_file_uri, basename, +- NULL, NULL); ++ create_folder_on_finished, NULL); + + nautilus_dbus_file_operations_complete_create_folder (object, invocation); + return TRUE; /* invocation was handled */ + } + ++static void ++copy_on_finished (GHashTable *debutting_uris, ++ gboolean success, ++ gpointer callback_data) ++{ ++ g_application_release (g_application_get_default ()); ++} ++ + static gboolean + handle_copy_uris (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, +@@ -157,14 +194,16 @@ handle_copy_uris (NautilusDBusFileOperations *object, + source_files = g_list_prepend (source_files, g_strdup (sources[idx])); + } + ++ g_application_hold (g_application_get_default ()); + nautilus_file_operations_copy_move (source_files, destination, +- GDK_ACTION_COPY, NULL, NULL, NULL); ++ GDK_ACTION_COPY, NULL, copy_on_finished, NULL); + + g_list_free_full (source_files, g_free); + nautilus_dbus_file_operations_complete_copy_uris (object, invocation); + return TRUE; /* invocation was handled */ + } + ++/* FIXME: Needs a callback for maintaining alive the application */ + static gboolean + handle_empty_trash (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation) +@@ -175,6 +214,14 @@ handle_empty_trash (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++static void ++trash_on_finished (GHashTable *debutting_uris, ++ gboolean user_cancel, ++ gpointer callback_data) ++{ ++ g_application_release (g_application_get_default ()); ++} ++ + static gboolean + handle_trash_files (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation, +@@ -189,7 +236,9 @@ handle_trash_files (NautilusDBusFileOperations *object, + g_file_new_for_uri (sources[idx])); + } + +- nautilus_file_operations_trash_or_delete (source_files, NULL, NULL, NULL); ++ g_application_hold (g_application_get_default ()); ++ nautilus_file_operations_trash_or_delete (source_files, NULL, ++ trash_on_finished, NULL); + + nautilus_dbus_file_operations_complete_trash_files (object, invocation); + return TRUE; /* invocation was handled */ +-- +2.17.1 + diff --git a/SOURCES/0008-dbus-manager-Drop-copy-file-operation.patch b/SOURCES/0008-dbus-manager-Drop-copy-file-operation.patch new file mode 100644 index 0000000..bfb598a --- /dev/null +++ b/SOURCES/0008-dbus-manager-Drop-copy-file-operation.patch @@ -0,0 +1,209 @@ +From 474ed07f64df1381440b8692d7d500d26014c618 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 7 Aug 2018 21:25:01 +0200 +Subject: [PATCH 08/11] dbus-manager: Drop copy file operation + +It was truly unreliable and not working clearly. We have a more powerful +and simpler API with CopyURIs, so there is no point to have this one. + +This commits drops the DBus API. Note that the DBus version is not +bumped, I believe this DBus API is not used by any external service +given how broken was it. +--- + data/dbus-interfaces.xml | 6 --- + src/nautilus-dbus-manager.c | 69 ++++++++++++++-------------------- + src/nautilus-file-operations.c | 41 -------------------- + src/nautilus-file-operations.h | 7 ---- + 4 files changed, 29 insertions(+), 94 deletions(-) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 2133bb99c..20ffadde1 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -29,12 +29,6 @@ + + + " +- +- +- +- +- +- + + + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 0d5137292..1ac6e12c2 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -61,40 +61,6 @@ nautilus_dbus_manager_dispose (GObject *object) + G_OBJECT_CLASS (nautilus_dbus_manager_parent_class)->dispose (object); + } + +-static gboolean +-handle_copy_file (NautilusDBusFileOperations *object, +- GDBusMethodInvocation *invocation, +- const gchar *source_uri, +- const gchar *source_display_name, +- const gchar *dest_dir_uri, +- const gchar *dest_name) +-{ +- GFile *source_file, *target_dir; +- const gchar *target_name = NULL, *source_name = NULL; +- +- source_file = g_file_new_for_uri (source_uri); +- target_dir = g_file_new_for_uri (dest_dir_uri); +- +- if (dest_name != NULL && dest_name[0] != '\0') +- { +- target_name = dest_name; +- } +- +- if (source_display_name != NULL && source_display_name[0] != '\0') +- { +- source_name = source_display_name; +- } +- +- nautilus_file_operations_copy_file (source_file, target_dir, source_name, target_name, +- NULL, NULL, NULL); +- +- g_object_unref (source_file); +- g_object_unref (target_dir); +- +- nautilus_dbus_file_operations_complete_copy_file (object, invocation); +- return TRUE; /* invocation was handled */ +-} +- + static void + undo_redo_on_finished (gpointer user_data) + { +@@ -173,9 +139,9 @@ handle_create_folder (NautilusDBusFileOperations *object, + } + + static void +-copy_on_finished (GHashTable *debutting_uris, +- gboolean success, +- gpointer callback_data) ++copy_move_on_finished (GHashTable *debutting_uris, ++ gboolean success, ++ gpointer callback_data) + { + g_application_release (g_application_get_default ()); + } +@@ -196,7 +162,30 @@ handle_copy_uris (NautilusDBusFileOperations *object, + + g_application_hold (g_application_get_default ()); + nautilus_file_operations_copy_move (source_files, destination, +- GDK_ACTION_COPY, NULL, copy_on_finished, NULL); ++ GDK_ACTION_COPY, NULL, copy_move_on_finished, NULL); ++ ++ g_list_free_full (source_files, g_free); ++ nautilus_dbus_file_operations_complete_copy_uris (object, invocation); ++ return TRUE; /* invocation was handled */ ++} ++ ++static gboolean ++handle_move_uris (NautilusDBusFileOperations *object, ++ GDBusMethodInvocation *invocation, ++ const gchar **sources, ++ const gchar *destination) ++{ ++ GList *source_files = NULL; ++ gint idx; ++ ++ for (idx = 0; sources[idx] != NULL; idx++) ++ { ++ source_files = g_list_prepend (source_files, g_strdup (sources[idx])); ++ } ++ ++ g_application_hold (g_application_get_default ()); ++ nautilus_file_operations_copy_move (source_files, destination, ++ GDK_ACTION_MOVE, NULL, copy_move_on_finished, NULL); + + g_list_free_full (source_files, g_free); + nautilus_dbus_file_operations_complete_copy_uris (object, invocation); +@@ -254,8 +243,8 @@ nautilus_dbus_manager_init (NautilusDBusManager *self) + G_CALLBACK (handle_copy_uris), + self); + g_signal_connect (self->file_operations, +- "handle-copy-file", +- G_CALLBACK (handle_copy_file), ++ "handle-move-uris", ++ G_CALLBACK (handle_move_uris), + self); + g_signal_connect (self->file_operations, + "handle-empty-trash", +diff --git a/src/nautilus-file-operations.c b/src/nautilus-file-operations.c +index cf5e7f46b..e306e7eff 100644 +--- a/src/nautilus-file-operations.c ++++ b/src/nautilus-file-operations.c +@@ -5705,47 +5705,6 @@ copy_task_thread_func (GTask *task, + &source_info, &transfer_info); + } + +-void +-nautilus_file_operations_copy_file (GFile *source_file, +- GFile *target_dir, +- const gchar *source_display_name, +- const gchar *new_name, +- GtkWindow *parent_window, +- NautilusCopyCallback done_callback, +- gpointer done_callback_data) +-{ +- GTask *task; +- CopyMoveJob *job; +- +- job = op_job_new (CopyMoveJob, parent_window); +- job->done_callback = done_callback; +- job->done_callback_data = done_callback_data; +- job->files = g_list_append (NULL, g_object_ref (source_file)); +- job->destination = g_object_ref (target_dir); +- /* Need to indicate the destination for the operation notification open +- * button. */ +- nautilus_progress_info_set_destination (((CommonJob *) job)->progress, target_dir); +- job->target_name = g_strdup (new_name); +- job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); +- +- if (source_display_name != NULL) +- { +- gchar *path; +- +- path = g_build_filename ("/", source_display_name, NULL); +- job->fake_display_source = g_file_new_for_path (path); +- +- g_free (path); +- } +- +- inhibit_power_manager ((CommonJob *) job, _("Copying Files")); +- +- task = g_task_new (NULL, job->common.cancellable, copy_task_done, job); +- g_task_set_task_data (task, job, NULL); +- g_task_run_in_thread (task, copy_task_thread_func); +- g_object_unref (task); +-} +- + void + nautilus_file_operations_copy (GList *files, + GFile *target_dir, +diff --git a/src/nautilus-file-operations.h b/src/nautilus-file-operations.h +index e8c6ed393..2a9c6a6a0 100644 +--- a/src/nautilus-file-operations.h ++++ b/src/nautilus-file-operations.h +@@ -57,13 +57,6 @@ void nautilus_file_operations_copy_move (const GList *item_uris, + GtkWidget *parent_view, + NautilusCopyCallback done_callback, + gpointer done_callback_data); +-void nautilus_file_operations_copy_file (GFile *source_file, +- GFile *target_dir, +- const gchar *source_display_name, +- const gchar *new_name, +- GtkWindow *parent_window, +- NautilusCopyCallback done_callback, +- gpointer done_callback_data); + void nautilus_file_operations_empty_trash (GtkWidget *parent_view); + void nautilus_file_operations_new_folder (GtkWidget *parent_view, + const char *parent_dir_uri, +-- +2.17.1 + diff --git a/SOURCES/0009-dbus-Implement-move-operation.patch b/SOURCES/0009-dbus-Implement-move-operation.patch new file mode 100644 index 0000000..66359f5 --- /dev/null +++ b/SOURCES/0009-dbus-Implement-move-operation.patch @@ -0,0 +1,28 @@ +From 60ba10283b631f08bd7e763a63a1a8e048b66379 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Wed, 8 Aug 2018 14:07:48 +0200 +Subject: [PATCH 09/11] dbus: Implement move operation + +Analog to the copy operation. +--- + data/dbus-interfaces.xml | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 20ffadde1..64176225c 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -27,6 +27,10 @@ + + + ++ ++ ++ ++ + + " + +-- +2.17.1 + diff --git a/SOURCES/0010-dbus-manager-Fix-double-free.patch b/SOURCES/0010-dbus-manager-Fix-double-free.patch new file mode 100644 index 0000000..672c6e6 --- /dev/null +++ b/SOURCES/0010-dbus-manager-Fix-double-free.patch @@ -0,0 +1,45 @@ +From 7cea30b7357cf246cbab67e895c90ebb5cc6a772 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Wed, 8 Aug 2018 14:32:00 +0200 +Subject: [PATCH 10/11] dbus-manager: Fix double free + +nautilus_undo_manager_get doesn't return a new reference, so we +shouldn't use g_autoptr. +--- + src/nautilus-dbus-manager.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 1ac6e12c2..728b1dea2 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -64,7 +64,7 @@ nautilus_dbus_manager_dispose (GObject *object) + static void + undo_redo_on_finished (gpointer user_data) + { +- g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ NautilusFileUndoManager *undo_manager = NULL; + int *handler_id = (int *) user_data; + + undo_manager = nautilus_file_undo_manager_get (); +@@ -77,7 +77,7 @@ static gboolean + handle_redo (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation) + { +- g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ NautilusFileUndoManager *undo_manager = NULL; + gint *handler_id = g_new0(int, 1); + + undo_manager = nautilus_file_undo_manager_get (); +@@ -94,7 +94,7 @@ static gboolean + handle_undo (NautilusDBusFileOperations *object, + GDBusMethodInvocation *invocation) + { +- g_autoptr (NautilusFileUndoManager) undo_manager = NULL; ++ NautilusFileUndoManager *undo_manager = NULL; + gint *handler_id = g_new0(int, 1); + + undo_manager = nautilus_file_undo_manager_get (); +-- +2.17.1 + diff --git a/SOURCES/0011-dbus-manager-Fix-not-holding-application.patch b/SOURCES/0011-dbus-manager-Fix-not-holding-application.patch new file mode 100644 index 0000000..a87488c --- /dev/null +++ b/SOURCES/0011-dbus-manager-Fix-not-holding-application.patch @@ -0,0 +1,36 @@ +From 12fa036ee7689774cfdf941ae7fda04d18d34ae8 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Wed, 8 Aug 2018 14:32:56 +0200 +Subject: [PATCH 11/11] dbus-manager: Fix not holding application + +The code was releasing it on the callback but forgot to put the hold +on the initial call. +--- + src/nautilus-dbus-manager.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index 728b1dea2..f11ede0ad 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -80,6 +80,8 @@ handle_redo (NautilusDBusFileOperations *object, + NautilusFileUndoManager *undo_manager = NULL; + gint *handler_id = g_new0(int, 1); + ++ g_application_hold (g_application_get_default ()); ++ + undo_manager = nautilus_file_undo_manager_get (); + *handler_id = g_signal_connect_swapped (undo_manager, "undo-changed", + G_CALLBACK (undo_redo_on_finished), +@@ -97,6 +99,8 @@ handle_undo (NautilusDBusFileOperations *object, + NautilusFileUndoManager *undo_manager = NULL; + gint *handler_id = g_new0(int, 1); + ++ g_application_hold (g_application_get_default ()); ++ + undo_manager = nautilus_file_undo_manager_get (); + *handler_id = g_signal_connect_swapped (undo_manager, "undo-changed", + G_CALLBACK (undo_redo_on_finished), +-- +2.17.1 + diff --git a/SOURCES/0012-clipboard-Use-text-based-clipboard-only.patch b/SOURCES/0012-clipboard-Use-text-based-clipboard-only.patch new file mode 100644 index 0000000..f943a51 --- /dev/null +++ b/SOURCES/0012-clipboard-Use-text-based-clipboard-only.patch @@ -0,0 +1,552 @@ +From 228971be31f92625f641531e1b78b8c8e63677b0 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Tue, 31 Jul 2018 22:10:03 +0200 +Subject: [PATCH] clipboard: Use text based clipboard only + +--- + src/nautilus-canvas-view.c | 13 ++++++------- + src/nautilus-clipboard.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------- + src/nautilus-clipboard.h | 5 +++-- + src/nautilus-files-view.c | 112 +++++++++++++++++++++++++++++++++------------------------------------------------------------------------------- + src/nautilus-list-view.c | 13 ++++++------- + 5 files changed, 102 insertions(+), 154 deletions(-) + +diff --git a/src/nautilus-canvas-view.c b/src/nautilus-canvas-view.c +index f99ddd9..7de0808 100644 +--- a/src/nautilus-canvas-view.c ++++ b/src/nautilus-canvas-view.c +@@ -549,9 +549,9 @@ nautilus_canvas_view_begin_loading (NautilusFilesView *view) + } + + static void +-on_clipboard_contents_received (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer user_data) ++on_clipboard_contents_received (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer user_data) + { + NautilusCanvasView *canvas_view; + +@@ -590,10 +590,9 @@ static void + update_clipboard_status (NautilusCanvasView *view) + { + g_object_ref (view); /* Need to keep the object alive until we get the reply */ +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- on_clipboard_contents_received, +- view); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ on_clipboard_contents_received, ++ view); + } + + static void +diff --git a/src/nautilus-clipboard.c b/src/nautilus-clipboard.c +index 267d7a3..752ff13 100644 +--- a/src/nautilus-clipboard.c ++++ b/src/nautilus-clipboard.c +@@ -33,30 +33,32 @@ + #include + #include + +-static GdkAtom copied_files_atom; +- + typedef struct + { + gboolean cut; + GList *files; + } ClipboardInfo; + + static GList * +-convert_lines_to_str_list (char **lines) ++convert_selection_data_to_str_list (const gchar *data) + { + int i; + GList *result; ++ size_t number_of_lines; ++ gchar **lines; + +- if (lines[0] == NULL) +- { +- return NULL; +- } +- ++ lines = g_strsplit (data, "\n", 0); + result = NULL; +- for (i = 0; lines[i] != NULL; i++) ++ number_of_lines = g_strv_length (lines); ++ /* Also, this skips the last line, since it would be an ++ * empty string from the split */ ++ for (i = 0; i < number_of_lines - 1; i++) + { + result = g_list_prepend (result, g_strdup (lines[i])); + } ++ ++ g_strfreev (lines); ++ + return g_list_reverse (result); + } + +@@ -77,7 +79,8 @@ convert_file_list_to_string (ClipboardInfo *info, + } + else + { +- uris = g_string_new (info->cut ? "cut" : "copy"); ++ uris = g_string_new ("x-special/nautilus-clipboard\n"); ++ g_string_append (uris, info->cut ? "cut\n" : "copy\n"); + } + + for (i = 0, l = info->files; l != NULL; l = l->next, i++) +@@ -100,16 +103,12 @@ convert_file_list_to_string (ClipboardInfo *info, + g_string_append (uris, uri); + } + +- /* skip newline for last element */ +- if (i + 1 < g_list_length (info->files)) +- { +- g_string_append_c (uris, '\n'); +- } ++ g_string_append_c (uris, '\n'); + } + else + { +- g_string_append_c (uris, '\n'); + g_string_append (uris, uri); ++ g_string_append_c (uris, '\n'); + } + + g_free (uri); +@@ -120,43 +119,60 @@ convert_file_list_to_string (ClipboardInfo *info, + } + + static GList * +-get_item_list_from_selection_data (GtkSelectionData *selection_data) ++get_item_list_from_selection_data (const gchar *selection_data) + { +- GList *items; +- char **lines; ++ GList *items = NULL; + +- if (gtk_selection_data_get_data_type (selection_data) != copied_files_atom +- || gtk_selection_data_get_length (selection_data) <= 0) ++ if (selection_data != NULL) + { +- items = NULL; +- } +- else +- { +- gchar *data; ++ gboolean valid_data = TRUE; + /* Not sure why it's legal to assume there's an extra byte + * past the end of the selection data that it's safe to write + * to. But gtk_editable_selection_received does this, so I + * think it is OK. + */ +- data = (gchar *) gtk_selection_data_get_data (selection_data); +- data[gtk_selection_data_get_length (selection_data)] = '\0'; +- lines = g_strsplit (data, "\n", 0); +- items = convert_lines_to_str_list (lines); +- g_strfreev (lines); ++ items = convert_selection_data_to_str_list (selection_data); ++ if (items == NULL || g_strcmp0 (items->data, "x-special/nautilus-clipboard") != 0) ++ { ++ valid_data = FALSE; ++ } ++ else if (items->next == NULL) ++ { ++ valid_data = FALSE; ++ } ++ else if (g_strcmp0 (items->next->data, "cut") != 0 && ++ g_strcmp0 (items->next->data, "copy") != 0) ++ { ++ valid_data = FALSE; ++ } ++ ++ if (!valid_data) ++ { ++ g_list_free_full (items, g_free); ++ items = NULL; ++ } + } + + return items; + } + ++gboolean ++nautilus_clipboard_is_data_valid_from_selection_data (const gchar *selection_data) ++{ ++ return nautilus_clipboard_get_uri_list_from_selection_data (selection_data) != NULL; ++} ++ + GList * +-nautilus_clipboard_get_uri_list_from_selection_data (GtkSelectionData *selection_data) ++nautilus_clipboard_get_uri_list_from_selection_data (const gchar *selection_data) + { + GList *items; + + items = get_item_list_from_selection_data (selection_data); + if (items) + { +- /* Line 0 is "cut" or "copy", so uris start at line 1. */ ++ /* Line 0 is x-special/nautilus-clipboard. */ ++ items = g_list_remove (items, items->data); ++ /* Line 1 is "cut" or "copy", so uris start at line 2. */ + items = g_list_remove (items, items->data); + } + +@@ -174,13 +190,12 @@ void + nautilus_clipboard_clear_if_colliding_uris (GtkWidget *widget, + const GList *item_uris) + { +- GtkSelectionData *data; ++ g_autofree gchar *data = NULL; + GList *clipboard_item_uris, *l; + gboolean collision; + + collision = FALSE; +- data = gtk_clipboard_wait_for_contents (nautilus_clipboard_get (widget), +- copied_files_atom); ++ data = gtk_clipboard_wait_for_text (nautilus_clipboard_get (widget)); + if (data == NULL) + { + return; +@@ -210,14 +225,14 @@ nautilus_clipboard_clear_if_colliding_uris (GtkWidget *widget, + } + + gboolean +-nautilus_clipboard_is_cut_from_selection_data (GtkSelectionData *selection_data) ++nautilus_clipboard_is_cut_from_selection_data (const gchar *selection_data) + { + GList *items; + gboolean is_cut_from_selection_data; + + items = get_item_list_from_selection_data (selection_data); + is_cut_from_selection_data = items != NULL && +- g_strcmp0 ((gchar *) items->data, "cut") == 0; ++ g_strcmp0 ((gchar *) items->next->data, "cut") == 0; + + g_list_free_full (items, g_free); + +@@ -262,17 +277,8 @@ on_get_clipboard (GtkClipboard *clipboard, + char *str; + gsize len; + +- str = convert_file_list_to_string (clipboard_info, TRUE, &len); +- gtk_selection_data_set_text (selection_data, str, len); +- g_free (str); +- } +- else if (target == copied_files_atom) +- { +- char *str; +- gsize len; +- + str = convert_file_list_to_string (clipboard_info, FALSE, &len); +- gtk_selection_data_set (selection_data, copied_files_atom, 8, (guchar *) str, len); ++ gtk_selection_data_set_text (selection_data, str, len); + g_free (str); + } + } +@@ -303,7 +309,6 @@ nautilus_clipboard_prepare_for_files (GtkClipboard *clipboard, + clipboard_info->files = nautilus_file_list_copy (files); + + target_list = gtk_target_list_new (NULL, 0); +- gtk_target_list_add (target_list, copied_files_atom, 0, 0); + gtk_target_list_add_uri_targets (target_list, 0); + gtk_target_list_add_text_targets (target_list, 0); + +@@ -317,13 +322,3 @@ nautilus_clipboard_prepare_for_files (GtkClipboard *clipboard, + gtk_target_table_free (targets, n_targets); + } + +-GdkAtom +-nautilus_clipboard_get_atom (void) +-{ +- if (!copied_files_atom) +- { +- copied_files_atom = gdk_atom_intern_static_string ("x-special/gnome-copied-files"); +- } +- +- return copied_files_atom; +-} +diff --git a/src/nautilus-clipboard.h b/src/nautilus-clipboard.h +index 613e983..3be19c9 100644 +--- a/src/nautilus-clipboard.h ++++ b/src/nautilus-clipboard.h +@@ -28,11 +28,12 @@ + void nautilus_clipboard_clear_if_colliding_uris (GtkWidget *widget, + const GList *item_uris); + GtkClipboard* nautilus_clipboard_get (GtkWidget *widget); +-GList* nautilus_clipboard_get_uri_list_from_selection_data (GtkSelectionData *selection_data); +-gboolean nautilus_clipboard_is_cut_from_selection_data (GtkSelectionData *selection_data); ++GList* nautilus_clipboard_get_uri_list_from_selection_data (const gchar *selection_data); ++gboolean nautilus_clipboard_is_cut_from_selection_data (const gchar *selection_data); + void nautilus_clipboard_prepare_for_files (GtkClipboard *clipboard, + GList *files, + gboolean cut); + GdkAtom nautilus_clipboard_get_atom (void); ++gboolean nautilus_clipboard_is_data_valid_from_selection_data (const gchar *selection_data); + + #endif /* NAUTILUS_CLIPBOARD_H */ +diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c +index 8aff33e..a74b691 100644 +--- a/src/nautilus-files-view.c ++++ b/src/nautilus-files-view.c +@@ -2551,7 +2551,7 @@ action_open_item_new_window (GSimpleAction *action, + + static void + handle_clipboard_data (NautilusFilesView *view, +- GtkSelectionData *selection_data, ++ const gchar *selection_data, + char *destination_uri, + GdkDragAction action) + { +@@ -2576,7 +2576,7 @@ handle_clipboard_data (NautilusFilesView *view, + + static void + paste_clipboard_data (NautilusFilesView *view, +- GtkSelectionData *selection_data, ++ const gchar *selection_data, + char *destination_uri) + { + GdkDragAction action; +@@ -2594,9 +2594,9 @@ paste_clipboard_data (NautilusFilesView *view, + } + + static void +-paste_clipboard_received_callback (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer data) ++paste_clipboard_text_received_callback (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer data) + { + NautilusFilesView *view; + NautilusFilesViewPrivate *priv; +@@ -2629,16 +2629,15 @@ action_paste_files (GSimpleAction *action, + view = NAUTILUS_FILES_VIEW (user_data); + + g_object_ref (view); +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- paste_clipboard_received_callback, +- view); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ paste_clipboard_text_received_callback, ++ view); + } + + static void +-create_links_clipboard_received_callback (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer data) ++create_links_clipboard_received_callback (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer data) + { + NautilusFilesView *view; + NautilusFilesViewPrivate *priv; +@@ -2671,10 +2670,9 @@ action_create_links (GSimpleAction *action, + view = NAUTILUS_FILES_VIEW (user_data); + + g_object_ref (view); +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- create_links_clipboard_received_callback, +- view); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ create_links_clipboard_received_callback, ++ view); + } + + static void +@@ -6016,9 +6014,9 @@ typedef struct + } PasteIntoData; + + static void +-paste_into_clipboard_received_callback (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer callback_data) ++paste_into_clipboard_received_callback (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer callback_data) + { + NautilusFilesViewPrivate *priv; + PasteIntoData *data; +@@ -6058,10 +6056,9 @@ paste_into (NautilusFilesView *view, + data->view = g_object_ref (view); + data->target = nautilus_file_ref (target); + +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- paste_into_clipboard_received_callback, +- data); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ paste_into_clipboard_received_callback, ++ data); + } + + static void +@@ -6925,18 +6922,19 @@ can_paste_into_file (NautilusFile *file) + } + + static void +-on_clipboard_contents_received (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer user_data) ++on_clipboard_contents_received (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer user_data) + { + NautilusFilesViewPrivate *priv; + NautilusFilesView *view; + gboolean can_link_from_copied_files; + gboolean settings_show_create_link; + gboolean is_read_only; + gboolean selection_contains_recent; + gboolean selection_contains_starred; + GAction *action; ++ gboolean is_data_valid; + + view = NAUTILUS_FILES_VIEW (user_data); + priv = nautilus_files_view_get_instance_private (view); +@@ -6949,77 +6947,41 @@ on_clipboard_contents_received (GtkClipboard *clipboard, + return; + } + ++ is_data_valid = nautilus_clipboard_is_data_valid_from_selection_data (selection_data); + settings_show_create_link = g_settings_get_boolean (nautilus_preferences, + NAUTILUS_PREFERENCES_SHOW_CREATE_LINK); + is_read_only = nautilus_files_view_is_read_only (view); + selection_contains_recent = showing_recent_directory (view); + selection_contains_starred = showing_starred_directory (view); + can_link_from_copied_files = !nautilus_clipboard_is_cut_from_selection_data (selection_data) && + !selection_contains_recent && !selection_contains_starred && +- !is_read_only && gtk_selection_data_get_length (selection_data) > 0; ++ !is_read_only && selection_data != NULL; + + action = g_action_map_lookup_action (G_ACTION_MAP (priv->view_action_group), + "create-link"); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), + can_link_from_copied_files && + settings_show_create_link); + +- g_object_unref (view); +-} +- +-static void +-on_clipboard_targets_received (GtkClipboard *clipboard, +- GdkAtom *targets, +- int n_targets, +- gpointer user_data) +-{ +- NautilusFilesViewPrivate *priv; +- NautilusFilesView *view; +- gboolean is_data_copied; +- int i; +- GAction *action; +- +- view = NAUTILUS_FILES_VIEW (user_data); +- priv = nautilus_files_view_get_instance_private (view); +- is_data_copied = FALSE; +- +- if (priv->slot == NULL || +- !priv->active) +- { +- /* We've been destroyed or became inactive since call */ +- g_object_unref (view); +- return; +- } +- +- if (targets) +- { +- for (i = 0; i < n_targets; i++) +- { +- if (targets[i] == nautilus_clipboard_get_atom ()) +- { +- is_data_copied = TRUE; +- } +- } +- } +- + action = g_action_map_lookup_action (G_ACTION_MAP (priv->view_action_group), + "paste"); + /* Take into account if the action was previously disabled for other reasons, + * like the directory not being writabble */ + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), +- is_data_copied && g_action_get_enabled (action)); ++ is_data_valid && g_action_get_enabled (action)); + + action = g_action_map_lookup_action (G_ACTION_MAP (priv->view_action_group), + "paste-into"); + + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), +- is_data_copied && g_action_get_enabled (action)); ++ is_data_valid && g_action_get_enabled (action)); + + action = g_action_map_lookup_action (G_ACTION_MAP (priv->view_action_group), + "create-link"); + + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), +- is_data_copied && g_action_get_enabled (action)); ++ is_data_valid && g_action_get_enabled (action)); ++ + + g_object_unref (view); + } +@@ -7565,18 +7527,10 @@ real_update_actions_state (NautilusFilesView *view) + !selection_contains_starred && + priv->templates_present); + +- /* Actions that are related to the clipboard need request, request the data +- * and update them once we have the data */ +- g_object_ref (view); /* Need to keep the object alive until we get the reply */ +- gtk_clipboard_request_targets (nautilus_clipboard_get (GTK_WIDGET (view)), +- on_clipboard_targets_received, +- view); +- + g_object_ref (view); /* Need to keep the object alive until we get the reply */ +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- on_clipboard_contents_received, +- view); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ on_clipboard_contents_received, ++ view); + + action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), + "select-all"); +diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c +index d2ba388..4f65080 100644 +--- a/src/nautilus-list-view.c ++++ b/src/nautilus-list-view.c +@@ -3628,9 +3628,9 @@ list_view_scroll_to_file (NautilusFilesView *view, + } + + static void +-on_clipboard_contents_received (GtkClipboard *clipboard, +- GtkSelectionData *selection_data, +- gpointer user_data) ++on_clipboard_contents_received (GtkClipboard *clipboard, ++ const gchar *selection_data, ++ gpointer user_data) + { + NautilusListView *view = NAUTILUS_LIST_VIEW (user_data); + +@@ -3665,10 +3665,9 @@ static void + update_clipboard_status (NautilusListView *view) + { + g_object_ref (view); /* Need to keep the object alive until we get the reply */ +- gtk_clipboard_request_contents (nautilus_clipboard_get (GTK_WIDGET (view)), +- nautilus_clipboard_get_atom (), +- on_clipboard_contents_received, +- view); ++ gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), ++ on_clipboard_contents_received, ++ view); + } + + static void +-- +libgit2 0.26.0 + diff --git a/SOURCES/0013-dbus-manager-Provide-undo-status.patch b/SOURCES/0013-dbus-manager-Provide-undo-status.patch new file mode 100644 index 0000000..42e7bfd --- /dev/null +++ b/SOURCES/0013-dbus-manager-Provide-undo-status.patch @@ -0,0 +1,78 @@ +From 90229bd32fde57feb4dd37bc018d47c7a29e7e93 Mon Sep 17 00:00:00 2001 +From: Carlos Soriano +Date: Sat, 18 Aug 2018 20:31:36 +0200 +Subject: [PATCH] dbus-manager: Provide undo status + +This is interesting for the desktop icons integration, so it can hide +the undo/redo menu items appropriately. +--- + data/dbus-interfaces.xml | 1 + + src/nautilus-dbus-manager.c | 31 +++++++++++++++++++++++++++++-- + 2 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml +index 64176225c..078cf24a2 100644 +--- a/data/dbus-interfaces.xml ++++ b/data/dbus-interfaces.xml +@@ -43,5 +43,6 @@ + + + ++ + + +diff --git a/src/nautilus-dbus-manager.c b/src/nautilus-dbus-manager.c +index f11ede0ad..64f004d88 100644 +--- a/src/nautilus-dbus-manager.c ++++ b/src/nautilus-dbus-manager.c +@@ -237,6 +237,17 @@ handle_trash_files (NautilusDBusFileOperations *object, + return TRUE; /* invocation was handled */ + } + ++ ++static void ++undo_manager_changed (NautilusDBusManager *self) ++{ ++ NautilusFileUndoManagerState undo_state; ++ ++ undo_state = nautilus_file_undo_manager_get_state (); ++ nautilus_dbus_file_operations_set_undo_status (self->file_operations, ++ undo_state); ++} ++ + static void + nautilus_dbus_manager_init (NautilusDBusManager *self) + { +@@ -292,12 +303,28 @@ nautilus_dbus_manager_register (NautilusDBusManager *self, + GDBusConnection *connection, + GError **error) + { +- return g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (self->file_operations), +- connection, "/org/gnome/Nautilus" PROFILE, error); ++ gboolean succes; ++ ++ succes = g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (self->file_operations), ++ connection, "/org/gnome/Nautilus" PROFILE, error); ++ if (succes) ++ { ++ g_signal_connect_object (nautilus_file_undo_manager_get (), ++ "undo-changed", ++ G_CALLBACK (undo_manager_changed), ++ self, ++ G_CONNECT_SWAPPED); ++ ++ undo_manager_changed (self); ++ } ++ ++ return succes; + } + + void + nautilus_dbus_manager_unregister (NautilusDBusManager *self) + { + g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (self->file_operations)); ++ ++ g_signal_handlers_disconnect_by_data (nautilus_file_undo_manager_get (), self); + } +-- +2.17.1 diff --git a/SOURCES/0014-clipboard-Prevent-crash-when-selection-data-is-empty.patch b/SOURCES/0014-clipboard-Prevent-crash-when-selection-data-is-empty.patch new file mode 100644 index 0000000..f100c78 --- /dev/null +++ b/SOURCES/0014-clipboard-Prevent-crash-when-selection-data-is-empty.patch @@ -0,0 +1,59 @@ +From f0e34498a2f2e2ec6644a3af47c1b56ac5b6dec3 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Thu, 2 Aug 2018 22:29:03 +0300 +Subject: [PATCH] clipboard: Prevent crash when selection data is empty + +Somehow, magically, it can happen that the clipboard contains an empty +string, which wreaks havoc in convert_selection_data_to_str_list(), +since the loop counter goes from 0 to the number of lines in the data +string minus one. This commit adds a check for the number of lines and +returns early. Additionally, this introduces automatic cleanup for a +variable and fixes mismatched types. +--- + src/nautilus-clipboard.c | 20 +++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +diff --git a/src/nautilus-clipboard.c b/src/nautilus-clipboard.c +index 752ff131f..2a77cf28f 100644 +--- a/src/nautilus-clipboard.c ++++ b/src/nautilus-clipboard.c +@@ -42,23 +42,29 @@ typedef struct + static GList * + convert_selection_data_to_str_list (const gchar *data) + { +- int i; ++ g_auto (GStrv) lines; ++ guint number_of_lines; + GList *result; +- size_t number_of_lines; +- gchar **lines; + + lines = g_strsplit (data, "\n", 0); +- result = NULL; + number_of_lines = g_strv_length (lines); ++ if (number_of_lines == 0) ++ { ++ /* An empty string will result in g_strsplit() returning an empty ++ * array, so, naturally, 0 - 1 = UINT32_MAX and we read all sorts ++ * of invalid memory. ++ */ ++ return NULL; ++ } ++ result = NULL; ++ + /* Also, this skips the last line, since it would be an + * empty string from the split */ +- for (i = 0; i < number_of_lines - 1; i++) ++ for (guint i = 0; i < number_of_lines - 1; i++) + { + result = g_list_prepend (result, g_strdup (lines[i])); + } + +- g_strfreev (lines); +- + return g_list_reverse (result); + } + +-- +2.17.2 + diff --git a/SPECS/nautilus.spec b/SPECS/nautilus.spec new file mode 100644 index 0000000..ff173cb --- /dev/null +++ b/SPECS/nautilus.spec @@ -0,0 +1,2006 @@ +%global glib2_version 2.55.1 +%global gnome_desktop3_version 3.0.0 +%global gtk3_version 3.22.26 +%global libxml2_version 2.7.8 +%global libexif_version 0.6.20 +%global exempi_version 2.1.0 +%global gsettings_desktop_schemas_version 3.8.0 + +Name: nautilus +Version: 3.28.1 +Release: 5%{?dist} +Summary: File manager for GNOME + +License: GPLv3+ +URL: https://wiki.gnome.org/Apps/Nautilus +Source0: https://download.gnome.org/sources/%{name}/3.28/%{name}-%{version}.tar.xz + +Patch0: 0001-dbus-manager-Implement-trashing-files.patch +Patch1: 0002-dbus-manager-Implement-creation-of-new-folders.patch +Patch2: 0003-dbus-manager-Implement-undo-redo.patch +Patch3: 0004-dbus-manager-Use-a-more-robust-copy-operation.patch +Patch4: 0005-file-operations-Don-t-crash-if-source-file-not-prese.patch +Patch5: 0006-properties-window-Keep-alive-properties-window-if-ca.patch +Patch6: 0007-dbus-manager-Keep-application-alive-for-operations.patch +Patch7: 0008-dbus-manager-Drop-copy-file-operation.patch +Patch8: 0009-dbus-Implement-move-operation.patch +Patch9: 0010-dbus-manager-Fix-double-free.patch +Patch10: 0011-dbus-manager-Fix-not-holding-application.patch +Patch11: 0012-clipboard-Use-text-based-clipboard-only.patch +Patch12: 0013-dbus-manager-Provide-undo-status.patch +Patch13: 0014-clipboard-Prevent-crash-when-selection-data-is-empty.patch + +BuildRequires: gtk-doc +BuildRequires: meson +BuildRequires: gcc +BuildRequires: pkgconfig(exempi-2.0) >= %{exempi_version} +BuildRequires: pkgconfig(gexiv2) +BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} +BuildRequires: pkgconfig(gnome-autoar-0) +BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{gnome_desktop3_version} +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gsettings-desktop-schemas) >= %{gsettings_desktop_schemas_version} +BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} +BuildRequires: pkgconfig(libexif) >= %{libexif_version} +BuildRequires: pkgconfig(libxml-2.0) >= %{libxml2_version} +BuildRequires: pkgconfig(tracker-sparql-2.0) +BuildRequires: pkgconfig(x11) +BuildRequires: /usr/bin/appstream-util +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: libselinux-devel + +Requires: glib2%{_isa} >= %{glib2_version} +Requires: gsettings-desktop-schemas%{_isa} >= %{gsettings_desktop_schemas_version} +Requires: gtk3%{_isa} >= %{gtk3_version} +Requires: gvfs%{_isa} +Requires: libexif%{_isa} >= %{libexif_version} +# the main binary links against libnautilus-extension.so +# don't depend on soname, rather on exact version +Requires: %{name}-extensions%{_isa} = %{version}-%{release} + +# Explicitly conflict with older gedit for "enable-delete" setting removal +Conflicts: gedit < 2:3.16.0 + +%description +Nautilus is the file manager and graphical shell for the GNOME desktop +that makes it easy to manage your files and the rest of your system. +It allows to browse directories on local and remote filesystems, preview +files and launch applications associated with them. +It is also responsible for handling the icons on the GNOME desktop. + +%package extensions +Summary: Nautilus extensions library +License: LGPLv2+ + +%description extensions +This package provides the libraries used by nautilus extensions. + +%package devel +Summary: Support for developing nautilus extensions +License: LGPLv2+ +Requires: %{name}%{_isa} = %{version}-%{release} +Requires: %{name}-extensions%{_isa} = %{version}-%{release} + +%description devel +This package provides libraries and header files needed +for developing nautilus extensions. + +%prep +%autosetup -p1 + +# Remove -Werror from compiler flags +sed -i '/-Werror/d' meson.build + +%build +%meson -Ddocs=true -Dselinux=true +%meson_build + +%install +%meson_install + +%find_lang %name + +%check +appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_datadir}/metainfo/org.gnome.Nautilus.appdata.xml +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop + +%ldconfig_scriptlets extensions + +%files -f %{name}.lang +%doc NEWS README.md +%license LICENSE +%{_datadir}/applications/* +%{_bindir}/* +%{_datadir}/dbus-1/services/org.gnome.Nautilus.service +%{_datadir}/dbus-1/services/org.freedesktop.FileManager1.service +%dir %{_datadir}/gnome-shell +%dir %{_datadir}/gnome-shell/search-providers +%{_datadir}/gnome-shell/search-providers/org.gnome.Nautilus.search-provider.ini +%{_datadir}/icons/hicolor/*/apps/org.gnome.Nautilus.png +%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Nautilus-symbolic.svg +%{_mandir}/man1/nautilus.1* +%{_datadir}/glib-2.0/schemas/org.gnome.nautilus.gschema.xml +%{_datadir}/metainfo/org.gnome.Nautilus.appdata.xml +%dir %{_libdir}/nautilus +%dir %{_libdir}/nautilus/extensions-3.0 +%{_libdir}/nautilus/extensions-3.0/libnautilus-image-properties.so +%{_libdir}/nautilus/extensions-3.0/libnautilus-sendto.so + +%files extensions +%license libnautilus-extension/LICENSE +%{_libdir}/libnautilus-extension.so.* +%{_libdir}/girepository-1.0/*.typelib +%dir %{_libdir}/nautilus + +%files devel +%{_includedir}/nautilus +%{_libdir}/pkgconfig/* +%{_libdir}/*.so +%{_datadir}/gir-1.0/*.gir +%dir %{_datadir}/gtk-doc/ +%dir %{_datadir}/gtk-doc/html/ +%doc %{_datadir}/gtk-doc/html/libnautilus-extension/ + +%changelog +* Mon Nov 26 2018 Carlos Soriano - 3.28.1-5 +- Fix crash with new clipboard handling + Resolves: RHBZ#1629002 + +* Tue Aug 21 2018 Carlos Soriano - 3.28.1-4 +- Provide undo/redo status over dbus for the desktop icons integration + +* Wed Aug 15 2018 Carlos Soriano - 3.28.1-3 +- Implement text based clipboard for desktop icons integration + Resolves: RHBZ#1616190 + +* Tue Aug 14 2018 Carlos Soriano - 3.28.1-2 +- Add desktop icons integration + +* Mon Apr 09 2018 Kalev Lember - 3.28.1-1 +- Update to 3.28.1 +- Fix /usr/share/gnome-shell directory ownership + +* Sat Mar 31 2018 Michael Catanzaro - 3.28.0.1-2 +- Build with -Dselinux=true to turn it on explicitly, and remove downstream screenshots + +* Thu Mar 15 2018 Kalev Lember - 3.28.0.1-1 +- Update to 3.28.0.1 + +* Tue Mar 13 2018 Kalev Lember - 3.28.0-1 +- Update to 3.28.0 + +* Mon Mar 05 2018 Kalev Lember - 3.27.92.1-1 +- Update to 3.27.92.1 +- Remove -Werror from compiler flags + +* Tue Feb 13 2018 Björn Esser - 3.26.2-4 +- Rebuild against newer gnome-desktop3 package + +* Thu Feb 08 2018 Fedora Release Engineering - 3.26.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 3.26.2-2 +- Switch to %%ldconfig_scriptlets + +* Tue Nov 21 2017 Kalev Lember - 3.26.2-1 +- Update to 3.26.2 + +* Wed Nov 08 2017 Igor Gnatenko - 3.26.0-2 +- Remove obsolete scriptlets +- Add BuildRequires: gcc + +* Wed Sep 13 2017 Kalev Lember - 3.26.0-1 +- Update to 3.26.0 + +* Tue Sep 05 2017 Kalev Lember - 3.25.92-1 +- Update to 3.25.92 + +* Tue Aug 15 2017 Kalev Lember - 3.25.90-1 +- Update to 3.25.90 + +* Tue Aug 01 2017 Kalev Lember - 3.25.1-1 +- Update to 3.25.1 +- Switch to the meson build system +- Reflect upstream license change to GPLv3+ + +* Thu Jul 27 2017 Debarshi Ray - 3.24.2.1-3 +- Rebuild against tracker-2.0 + +* Wed Jul 26 2017 Fedora Release Engineering - 3.24.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 18 2017 Kalev Lember - 3.24.2.1-1 +- Update to 3.24.2.1 + +* Tue May 09 2017 Kalev Lember - 3.24.1-1 +- Update to 3.24.1 + +* Tue Mar 21 2017 Kalev Lember - 3.24.0-1 +- Update to 3.24.0 + +* Fri Mar 17 2017 Kalev Lember - 3.23.92-1 +- Update to 3.23.92 + +* Mon Mar 06 2017 Kalev Lember - 3.23.91-1 +- Update to 3.23.91 + +* Wed Feb 15 2017 Richard Hughes - 3.23.90-1 +- Update to 3.23.90 + +* Fri Feb 10 2017 Fedora Release Engineering - 3.22.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 12 2016 David King - 3.22.2-1 +- Update to 3.22.2 + +* Fri Oct 14 2016 Kalev Lember - 3.22.1-1 +- Update to 3.22.1 + +* Wed Sep 21 2016 Kalev Lember - 3.22.0-1 +- Update to 3.22.0 + +* Fri Sep 16 2016 Kalev Lember - 3.21.92-1 +- Update to 3.21.92 + +* Sat Sep 03 2016 Kalev Lember - 3.21.91.1-1 +- Update to 3.21.91.1 +- Filter private libgd from provides and requires +- Use upstream defaults for OnlyShowIn + +* Tue Aug 30 2016 Kalev Lember - 3.20.3-1 +- Update to 3.20.3 +- Don't set group tags + +* Mon Aug 01 2016 Kalev Lember - 3.20.2-1 +- Update to 3.20.2 + +* Thu Jun 02 2016 Kalev Lember - 3.20.1-1 +- Update to 3.20.1 + +* Wed Mar 23 2016 Kalev Lember - 3.20.0-1 +- Update to 3.20.0 + +* Fri Mar 18 2016 Kalev Lember - 3.19.93-1 +- Update to 3.19.93 + +* Mon Mar 14 2016 Richard Hughes - 3.19.91-1 +- Update to 3.19.91 + +* Mon Feb 29 2016 Richard Hughes - 3.19.90-1 +- Update to 3.19.90 + +* Thu Feb 04 2016 Fedora Release Engineering - 3.19.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Dec 14 2015 Kalev Lember - 3.19.2-1 +- Update to 3.19.2 + +* Wed Nov 18 2015 Kalev Lember - 3.18.2-2 +- Bump gtk3 dep to 3.18.5 (#1283246) + +* Fri Nov 13 2015 Kalev Lember - 3.18.2-1 +- Update to 3.18.2 + +* Thu Oct 15 2015 Kalev Lember - 3.18.1-1 +- Update to 3.18.1 + +* Tue Sep 22 2015 Kalev Lember - 3.18.0-1 +- Update to 3.18.0 +- Don't pull in all of nautilus for the -extensions subpackage +- Tighten a dep with the _isa macro +- Drop ancient obsoletes + +* Fri Sep 04 2015 Kalev Lember - 3.17.91-1 +- Update to 3.17.91 + +* Fri Aug 21 2015 Kalev Lember - 3.17.90-1 +- Update to 3.17.90 +- Use make_install macro + +* Mon Jul 27 2015 David King - 3.17.3-1 +- Update to 3.17.3 + +* Tue Jul 21 2015 David King - 3.17.2-3 +- Bump for new gnome-desktop3 + +* Wed Jun 17 2015 Fedora Release Engineering - 3.17.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 29 2015 David King - 3.17.2-1 +- Update to 3.17.2 + +* Wed May 13 2015 Kalev Lember - 3.16.2-1 +- Update to 3.16.2 + +* Mon May 04 2015 David King - 3.16.1-2 +- Add patch to fix misplaced style element + +* Wed Apr 15 2015 Kalev Lember - 3.16.1-1 +- Update to 3.16.1 + +* Mon Mar 30 2015 Richard Hughes - 3.16.0-2 +- Use better AppData screenshots + +* Tue Mar 24 2015 Kalev Lember - 3.16.0-1 +- Update to 3.16.0 + +* Tue Mar 17 2015 Kalev Lember - 3.15.92-1 +- Update to 3.15.92 + +* Thu Mar 12 2015 David King - 3.15.91-1 +- Update to 3.15.91 +- Validate AppData in check + +* Tue Feb 17 2015 Richard Hughes - 3.15.90-1 +- Update to 3.15.90 + +* Sun Jan 25 2015 David King - 3.15.4-1 +- Update to 3.15.4 +- Use pkgconfig for BuildRequires +- Update man page globs in files section +- Use license macro for license texts + +* Tue Nov 25 2014 Kalev Lember - 3.14.2-1 +- Update to 3.14.2 + +* Thu Nov 13 2014 Kalev Lember - 3.14.1-1 +- Update to 3.14.1 + +* Tue Sep 23 2014 Kalev Lember - 3.14.0-2 +- Drop redhat-menus dependency + +* Tue Sep 23 2014 Kalev Lember - 3.14.0-1 +- Update to 3.14.0 + +* Tue Sep 16 2014 Kalev Lember - 3.13.92-1 +- Update to 3.13.92 + +* Wed Sep 03 2014 Kalev Lember - 3.13.91-1 +- Update to 3.13.91 + +* Thu Aug 21 2014 Kalev Lember - 3.13.90-1 +- Update to 3.13.90 + +* Sun Aug 17 2014 Fedora Release Engineering - 3.13.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 12 2014 Rex Dieter 3.13.2-6 +- update mime scriptlet + +* Sat Aug 02 2014 Kalev Lember - 3.13.2-5 +- Fix appdata file name + +* Mon Jul 28 2014 Kalev Lember - 3.13.2-4 +- Rebuilt once more for tracker + +* Mon Jul 28 2014 Peter Robinson 3.13.2-3 +- rebuild (tracker) + +* Tue Jul 22 2014 Kalev Lember - 3.13.2-2 +- Rebuilt for gobject-introspection 1.41.4 + +* Tue Jul 22 2014 Kalev Lember - 3.13.2-1 +- Update to 3.13.2 + +* Sat Jun 07 2014 Fedora Release Engineering - 3.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 01 2014 Kalev Lember - 3.13.1-1 +- Update to 3.13.1 + +* Sat Apr 05 2014 Kalev Lember - 3.12.0-2 +- Update dep versions + +* Tue Mar 25 2014 Kalev Lember - 3.12.0-1 +- Update to 3.12.0 + +* Tue Mar 18 2014 Richard Hughes - 3.11.92-1 +- Update to 3.11.92 + +* Wed Feb 19 2014 Richard Hughes - 3.11.90-2 +- Rebuilt for gnome-desktop soname bump + +* Tue Feb 18 2014 Richard Hughes - 3.11.90-1 +- Update to 3.11.90 + +* Thu Dec 19 2013 Debarshi Ray - 3.11.3-1 +- Update to 3.11.3 + +* Tue Nov 19 2013 Richard Hughes - 3.11.2-1 +- Update to 3.11.2 + +* Mon Nov 04 2013 Kalev Lember - 3.10.1-1 +- Update to 3.10.1 + +* Wed Sep 25 2013 Kalev Lember - 3.10.0-1 +- Update to 3.10.0 + +* Wed Sep 18 2013 Kalev Lember - 3.9.92-1 +- Update to 3.9.92 + +* Wed Sep 04 2013 Kalev Lember - 3.9.91-1 +- Update to 3.9.91 + +* Thu Aug 22 2013 Kalev Lember - 3.9.90-1 +- Update to 3.9.90 + +* Sat Aug 03 2013 Fedora Release Engineering - 3.9.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jun 21 2013 Kalev Lember - 3.9.3-1 +- Update to 3.9.3 +- Use arch-specific deps + +* Sun Jun 16 2013 Matthias Clasen - 3.8.2-1 +- Update to 3.8.2 + +* Tue Apr 16 2013 Kalev Lember - 3.8.1-1 +- Update to 3.8.1 + +* Tue Mar 26 2013 Kalev Lember - 3.8.0-1 +- Update to 3.8.0 + +* Wed Mar 20 2013 Richard Hughes - 3.7.92-1 +- Update to 3.7.92 + +* Thu Mar 7 2013 Matthias Clasen - 3.7.91-1 +- Update to 3.7.91 + +* Wed Feb 20 2013 Kalev Lember - 3.7.90-2 +- Rebuilt for libgnome-desktop soname bump + +* Tue Feb 19 2013 Richard Hughes - 3.7.90-1 +- Update to 3.7.90 + +* Fri Feb 8 2013 Tomas Bzatek - 3.7.5-2 +- Disable smp build to fix intltool issues + +* Thu Feb 07 2013 Richard Hughes - 3.7.5-1 +- Update to 3.7.5 + +* Sun Jan 27 2013 Kalev Lember - 3.7.4-2 +- Rebuilt for tracker 0.16 ABI + +* Wed Jan 16 2013 Richard Hughes - 3.7.4-1 +- Update to 3.7.4 + +* Fri Dec 21 2012 Kalev Lember - 3.7.3-1 +- Update to 3.7.3 + +* Thu Dec 6 2012 Tomas Bzatek - 3.7.2-2 +- nautilus-devel should require nautilus-extensions + +* Tue Nov 20 2012 Richard Hughes - 3.7.2-1 +- Update to 3.7.2 + +* Fri Nov 09 2012 Kalev Lember - 3.7.1-1 +- Update to 3.7.1 +- Own the gtk-doc directories + +* Mon Oct 15 2012 Cosimo Cecchi - 3.6.1-1 +- Update to 3.6.1 + +* Tue Sep 25 2012 Cosimo Cecchi - 3.6.0-1 +- Update to 3.6.0 + +* Tue Sep 18 2012 Cosimo Cecchi - 3.5.92-1 +- Update to 3.5.92 + +* Tue Sep 04 2012 Cosimo Cecchi - 3.5.91-1 +- Update to 3.5.91 + +* Tue Aug 21 2012 Cosimo Cecchi - 3.5.90-1 +- Update to 3.5.90 + +* Fri Aug 10 2012 Cosimo Cecchi - 3.5.5-1 +- Update to 3.5.5 + +* Fri Jul 27 2012 Fedora Release Engineering - 3.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Cosimo Cecchi - 3.5.4-2 +- Enable tracker support + +* Tue Jul 17 2012 Richard Hughes - 3.5.4-1 +- Update to 3.5.4 + +* Sat Jul 14 2012 Ville Skyttä - 3.5.3-2 +- Move ldconfig calls from main package to -extensions. + +* Tue Jun 26 2012 Richard Hughes - 3.5.3-1 +- Update to 3.5.3 + +* Thu Jun 07 2012 Richard Hughes - 3.5.2-1 +- Update to 3.5.2 + +* Sat May 05 2012 Kalev Lember - 3.5.1-1 +- Update to 3.5.1 + +* Tue Apr 24 2012 Kalev Lember - 3.4.1-2 +- Silence rpm scriptlet output + +* Mon Apr 16 2012 Richard Hughes - 3.4.1-1 +- Update to 3.4.1 + +* Mon Mar 26 2012 Cosimo Cecchi - 3.4.0-1 +- Update to 3.4.0 + +* Tue Mar 20 2012 Cosimo Cecchi - 3.3.92-1 +- Update to 3.3.92 + +* Tue Mar 06 2012 Cosimo Cecchi - 3.3.91-1 +- Update to 3.3.91 + +* Sun Feb 26 2012 Matthias Clasen - 3.3.90-1 +- Update to 3.3.90 + +* Tue Feb 7 2012 Cosimo Cecchi - 3.3.5-1 +- Update to 3.3.5 + +* Tue Jan 17 2012 Matthias Clasen - 3.3.4-1 +- Update to 3.3.4 + +* Fri Jan 13 2012 Fedora Release Engineering - 3.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Matthias Clasen - 3.3.3-1 +- Update to 3.3.3 + +* Wed Nov 2 2011 Matthias Clasen - 3.3.1.1-1 +- Update to 3.3.1.1 + +* Wed Oct 26 2011 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for glibc bug#747377 + +* Tue Oct 18 2011 Cosimo Cecchi - 3.2.1-1 +- Update to 3.2.1 + +* Tue Sep 27 2011 Cosimo Cecchi - 3.2.0-1 +- Update to 3.2.0 + +* Mon Sep 19 2011 Cosimo Cecchi - 3.1.92-1 +- Update to 3.1.92 + +* Wed Aug 31 2011 Matthias Clasen 3.1.90-1 +- Update to 3.1.90 + +* Mon Jul 25 2011 Matthias Clasen 3.1.4-1 +- Update to 3.1.4 + +* Mon Jul 04 2011 Bastien Nocera 3.1.3-1 +- Update to 3.1.3 + +* Tue Jun 14 2011 Cosimo Cecchi - 3.1.2-1 +- Update to 3.1.2 + +* Wed May 11 2011 Matthias Clasen - 3.1.1-1 +- Update to 3.1.1 + +* Mon Apr 25 2011 Matthias Clasen - 3.0.1-1 +- Update to 3.0.1 + +* Mon Apr 04 2011 Cosimo Cecchi - 3.0.0-1 +- Update to 3.0.0 + +* Wed Mar 30 2011 Cosimo Cecchi - 2.91.94-1 +- Update to 2.91.94 + +* Sun Mar 27 2011 Colin Walters - 2.91.93-2 +- Drop --vendor from nautilus.desktop + Vendor prefixes are pointless, and in this case breaks upstream + components trying to reference each other via .desktop file, such + as GNOME Shell having nautilus.desktop in its default favorite + list. + +* Fri Mar 25 2011 Matthias Clasen - 2.91.93-1 +- Update to 2.91.93 + +* Mon Mar 21 2011 Cosimo Cecchi - 2.91.92-1 +- Update to 2.91.92 + +* Mon Mar 07 2011 Cosimo Cecchi 2.91.91-1 +- Update to 2.91.91 + +* Tue Feb 22 2011 Cosimo Cecchi 2.91.90.1-1 +- Update to 2.91.90.1 + +* Mon Feb 21 2011 Cosimo Cecchi 2.91.90-1 +- Update to 2.91.90 + +* Thu Feb 10 2011 Matthias Clasen 2.91.9-4 +- Rebuild against newer gtk + +* Tue Feb 08 2011 Fedora Release Engineering - 2.91.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 7 2011 Cosimo Cecchi - 2.91.9-2 +- Add a patch from upstream for missing bookmark names + +* Fri Feb 4 2011 Cosimo Cecchi - 2.91.9-1 +- Update to 2.91.9 + +* Wed Feb 2 2011 Matthias Clasen - 2.91.8-4 +- Rebuild against new gtk + +* Tue Feb 1 2011 Tomas Bzatek - 2.91.8-3 +- Remove last traces of gconf (#674359) + +* Mon Jan 31 2011 Cosimo Cecchi - 2.91.8-2 +- Update selinux patch + +* Mon Jan 31 2011 Cosimo Cecchi - 2.91.8-1 +- Update to 2.91.8 + +* Wed Jan 12 2011 Matthias Clasen - 2.91.7-2 +- Drop explicit gnome-desktop dependency +- Drop some no-longer-required tweaks + +* Tue Jan 11 2011 Cosimo Cecchi - 2.91.7-1 +- Update to 2.91.7 + +* Fri Jan 7 2011 Matthias Clasen - 2.91.6-1 +- Update to 2.91.6 + +* Fri Dec 3 2010 Matthias Clasen - 2.91.3-2 +- Rebuild against new gtk + +* Mon Nov 29 2010 Cosimo Cecchi - 2.91.3-1 +- Update to 2.91.3 +- Drop unnecessary patches + +* Wed Nov 10 2010 Tomas Bzatek - 2.91.2-1 +- Update to 2.91.2 + +* Mon Nov 1 2010 Matthias Clasen - 2.91.1-1 +- Update to 2.91.1 + +* Wed Oct 6 2010 Matthias Clasen - 2.91.0-1 +- Update to 2.91.0 + +* Wed Sep 29 2010 jkeating - 2.90.1-6.gitf3bbee7 +- Rebuilt for gcc bug 634757 + +* Sat Sep 25 2010 Owen Taylor - 2.90.1-5.gitf3bbee7 +- Bump and rebuild for gtk3 ABI changes + +* Tue Sep 21 2010 Matthias Clasen - 2.90.1-4.gitf3bbee7 +- git snapshot +- Rebuild against newer gobject-introspection + +* Mon Aug 30 2010 Tomas Bzatek - 2.90.1-2 +- Require gsettings-desktop-schemas (#628273) + +* Tue Aug 24 2010 Matthias Clasen - 2.90.1-1 +- Update to 2.31.91 + +* Wed Aug 18 2010 Tomas Bzatek - 2.31.90-1 +- Update to 2.31.90 + +* Thu Aug 12 2010 Tomas Bzatek - 2.31.6-1 +- Update to 2.31.6 + +* Fri Aug 6 2010 Tomas Bzatek - 2.31.5-3.really.2.30.1 +- Revert back (temporarily) to 2.30.1 and mask it as 2.31.5 due to recent gnome3 changes + +* Thu Jul 15 2010 Colin Walters - 2.31.5-2 +- Rebuild with new gobject-introspection + +* Mon Jul 12 2010 Matthias Clasen 2.31.5-1 +- Update to 2.31.5 + +* Mon Jun 28 2010 Matthias Clasen 2.31.4-1 +- Update to 2.31.4 + +* Wed Jun 23 2010 Bastien Nocera 2.31.3-4.20100618git +- Fix libnautilus-extensions pkg-config files + +* Wed Jun 23 2010 Matthias Clasen - 2.31.3-3.20100618git +- Rebuild to get rid of mixed gtk deps + +* Fri Jun 18 2010 Matthias Clasen - 2.31.3-2.20100618git +- git snapshot that builds against GLib 2.25.9 and GTK+ 2.90.3 + +* Tue Jun 8 2010 Matthias Clasen - 2.31.3-1 +- Update to 2.31.3 + +* Mon May 24 2010 Tomas Bzatek - 2.31.2-1 +- Update to 2.31.2 + +* Tue May 4 2010 Tomas Bzatek - 2.31.1-1 +- Update to 2.31.1 + +* Tue May 4 2010 Tomas Bzatek - 2.30.1-3 +- Remove .desktop entry in applications > system tools (#583790) + +* Mon Apr 26 2010 Tomas Bzatek - 2.30.1-2 +- Do not show Unmount when showing Eject/Safe removal + +* Mon Apr 26 2010 Tomas Bzatek - 2.30.1-1 +- Update to 2.30.1 + +* Sat Apr 24 2010 Matthias Clasen - 2.30.0-3 +- Also obsolete eel2-devel (#583722) + +* Tue Apr 13 2010 Seth Vidal - 2.30.0-2 +- fix obsoletes/provides for eel2 to not include pkg name in ver/rel + +* Mon Mar 29 2010 Tomas Bzatek - 2.30.0-1 +- Update to 2.30.0 + +* Mon Mar 15 2010 Tomas Bzatek - 2.29.92.1-1 +- Update to 2.29.92.1 +- Fix eel2 obsoletion + +* Mon Mar 8 2010 Tomas Bzatek - 2.29.92-1 +- Update to 2.29.92 + +* Mon Feb 22 2010 Matthias Clasen - 2.29.91-1 +- Update to 2.29.91 + +* Wed Feb 17 2010 Tomas Bzatek - 2.29.90-2 +- Explicitly require exact nautilus-extensions package (#565802) + +* Tue Feb 9 2010 Tomas Bzatek - 2.29.90-1 +- Update to 2.29.90 + +* Thu Jan 28 2010 Jesse Keating - 2.29.2-2 +- Add a requires to keep nautilus-extensions updated if nautilus gets updated + +* Mon Jan 25 2010 Tomas Bzatek - 2.29.2-1 +- Update to 2.29.2 + +* Sun Jan 17 2010 Matthias Clasen - 2.29.1-2 +- Rebuild + +* Fri Dec 18 2009 Tomas Bzatek - 2.29.1-1 +- Update to 2.29.1 + +* Thu Dec 10 2009 Jon McCann - 2.28.2-3 +- Update the monitor changes patch (gnome #147808) + +* Tue Dec 8 2009 Tomas Bzatek - 2.28.2-2 +- Fix some memory leaks + +* Mon Nov 30 2009 Alexander Larsson - 2.28.2-1 +- Update to 2.28.2 + +* Wed Nov 18 2009 Tomas Bzatek - 2.28.1-4 +- Proper fix for crash in the infopanel (#531826) + +* Mon Nov 9 2009 Matthias Clasen - 2.28.1-3 +- Handle monitor changes when drawing the background (gnome #147808) + +* Mon Nov 2 2009 Tomas Bzatek - 2.28.1-2 +- Don't crash in infopanel on invalid selection (#531826) + +* Wed Oct 21 2009 Tomas Bzatek - 2.28.1-1 +- Update to 2.28.1 + +* Thu Sep 24 2009 Matthias Clasen - 2.28.0-3 +- Avoid lingering menuitems (#518570) + +* Wed Sep 23 2009 Ray Strode 2.28.0-2 +- Fix crossfade + +* Mon Sep 21 2009 Tomas Bzatek - 2.28.0-1 +- Update to 2.28.0 + +* Wed Sep 9 2009 Matthias Clasen - 2.27.92-2 +- Fix desktop files to be valid + +* Mon Sep 7 2009 Tomas Bzatek - 2.27.92-1 +- Update to 2.27.92 + +* Sun Sep 6 2009 Matthias Clasen - 2.27.91-3 +- Fix uninhibiting when long-running operations are over + +* Wed Aug 26 2009 Matthias Clasen - 2.27.91-2 +- Make nautilus-file-management-properties not crash on start + +* Mon Aug 24 2009 Matthias Clasen - 2.27.91-1 +- Update to 2.27.91 + +* Wed Aug 12 2009 Matthias Clasen - 2.27.4-5 +- Turn off autorun for x-content/software + +* Mon Aug 3 2009 Matthias Clasen - 2.27.4-4 +- Show icons for bookmarks and similar in menus + +* Sun Aug 2 2009 Matthias Clasen - 2.27.4-3 +- Drop desktop-backgrounds-basic dep that we've carried for 9 years + without ever making use of it + +* Sat Jul 25 2009 Fedora Release Engineering - 2.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 14 2009 Matthias Clasen - 2.27.4-1 +- Update to 2.27.4 + +* Mon Jun 15 2009 Tomas Bzatek - 2.27.2-1 +- Update to 2.27.2 + +* Tue May 5 2009 Tomas Bzatek - 2.27.1-1 +- Update to 2.27.1 + +* Mon Apr 27 2009 Matthias Clasen - 2.26.2-3 +- Don't drop schemas translations from po files anymore + +* Thu Apr 16 2009 Alexander Larsson - 2.26.2-2 +- Fix whitespace on the right in icon view when zooming + +* Mon Apr 13 2009 Alexander Larsson - 2.26.2-1 +- Update to 2.26.2 + +* Mon Apr 6 2009 Tomas Bzatek - 2.26.1-2 +- Fix dragging files via NFS moves instead of copy (#456515) + +* Thu Apr 2 2009 Tomas Bzatek - 2.26.1-1 +- Update to 2.26.1 + +* Mon Mar 16 2009 Tomas Bzatek - 2.26.0-1 +- Update to 2.26.0 + +* Thu Mar 12 2009 Matthias Clasen - 2.25.93-2 +- Avoid respawning in a loop when not showing the desktop (#485375) + +* Wed Mar 11 2009 Tomas Bzatek - 2.25.93-1 +- Update to 2.25.93 + +* Mon Mar 2 2009 Tomas Bzatek - 2.25.92-1 +- Update to 2.25.92 + +* Wed Feb 25 2009 Fedora Release Engineering - 2.25.91-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Feb 19 2009 Tomas Bzatek - 2.25.91-2 +- Workaround for broken gcc optimization (#486088) + +* Mon Feb 16 2009 Tomas Bzatek - 2.25.91-1 +- Update to 2.25.91 + +* Mon Feb 2 2009 Tomas Bzatek - 2.25.4-1 +- Update to 2.25.4 + +* Tue Jan 20 2009 Matthias Clasen - 2.25.3-2 +- Reenable the translation size reduction + +* Tue Jan 20 2009 Tomas Bzatek - 2.25.3-1 +- Update to 2.25.3 + +* Mon Jan 19 2009 Ray Strode - 2.25.2-7 +- Update fade patch to work with updated gnome-desktop api +- Fix fade start pixmap + +* Wed Jan 7 2009 Ray Strode - 2.25.2-6 +- Don't crash when closing spatial window very quickly after + opening it (gnome bug 552859) + +* Thu Dec 18 2008 Matthias Clasen - 2.25.2-5 +- Fix spec + +* Thu Dec 18 2008 - Ray Strode - 2.25.2-4 +- Add eel crossfade patch + +* Wed Dec 17 2008 - Bastien Nocera - 2.25.2-3 +- Rebuild for new libgnome-desktop + +* Tue Dec 16 2008 Matthias Clasen - 2.25.2-2 +- Drop the eel2 Obsoletes temporarily to give people some time + to port away + +* Tue Dec 16 2008 Matthias Clasen - 2.25.2-1 +- Update to 2.25.2 +- Clean up Requires +- Obsolete eel2 +- Drop hard dependency on gvfs backends. + These are pulled in by comps, anyway + +* Fri Dec 5 2008 Matthias Clasen - 2.25.1-5 +- Obsolete gnome-volume-manager + +* Fri Dec 5 2008 Tomas Bzatek - 2.25.1-4 +- Properly open new windows after long mount operation +- Fix callback connection to the GtkMountOperation dialog + +* Thu Dec 4 2008 Tomas Bzatek - 2.25.1-3 +- Fix BuildRequires + +* Thu Dec 4 2008 Tomas Bzatek - 2.25.1-2 +- Rediff the XDS patch + +* Tue Dec 2 2008 Tomas Bzatek - 2.25.1-1 +- Update to 2.25.1 + +* Wed Nov 26 2008 Tomas Bzatek - 2.24.2-1 +- Update to 2.24.2 + +* Fri Nov 21 2008 Matthias Clasen - 2.24.1-5 +- Better URL +- Tweak %%description + +* Thu Nov 13 2008 Matthias Clasen - 2.24.1-4 +- Rebuild + +* Mon Oct 27 2008 Tomas Bzatek - 2.24.1-3 +- Updated XDS support in tree view patch (sync with gnomebz #171655) + +* Fri Oct 24 2008 Alexander Larsson - 2.24.1-2 +- Manually check for fallback file icon since we're not + always returning that from gio anymore (from upstream) + +* Mon Oct 20 2008 Tomas Bzatek - 2.24.1-1 +- Update to 2.24.1 + +* Tue Oct 14 2008 Matthias Clasen - 2.24.0-3 +- Remove debug flags + +* Thu Sep 25 2008 Matthias Clasen - 2.24.0-2 +- Save some space + +* Sun Sep 21 2008 Matthias Clasen - 2.24.0-1 +- Update to 2.24.0 + +* Sat Sep 20 2008 Matthias Clasen - 2.23.92-3 +- Plug some memory leaks + +* Fri Sep 19 2008 Matthias Clasen - 2.23.92-2 +- Plug some memory leaks + +* Mon Sep 8 2008 Matthias Clasen - 2.23.92-1 +- Update to 2.23.92 + +* Tue Sep 02 2008 Tomas Bzatek - 2.23.91-1 +- Update to 2.23.91 + +* Sat Aug 30 2008 Matthias Clasen - 2.23.90-4 +- Plug a few small memory leaks + +* Thu Aug 28 2008 Matthias Clasen - 2.23.90-3 +- Pull in split-off gvfs backends + +* Wed Aug 27 2008 - Bastien Nocera - 2.23.90-2 +- Fix typo in the schemas file + +* Sat Aug 23 2008 Matthias Clasen - 2.23.90-1 +- Update to 2.23.90 + +* Mon Aug 4 2008 Tomas Bzatek - 2.23.6.1-1 +- Update to 2.23.6.1 +- Dropped upstreamed patches + +* Mon Aug 4 2008 Tomas Bzatek - 2.23.6-1 +- Update to 2.23.6 + +* Sun Jul 27 2008 Matthias Clasen - 2.23.5-3 +- More icon name fixes + +* Sun Jul 27 2008 Matthias Clasen - 2.23.5-2 +- Use standard icon names + +* Tue Jul 22 2008 Tomas Bzatek - 2.23.5.1-1 +- Update to 2.23.5.1 + +* Tue Jul 22 2008 Matthias Clasen - 2.23.5-1 +- Update to 2.23.5 + +* Tue Jun 17 2008 Tomas Bzatek - 2.23.4-1 +- Update to 2.23.4 + +* Thu Jun 12 2008 Tomas Bzatek - 2.23.3-2 +- Fix DnD segfaults (#450416, #450449) + +* Wed Jun 4 2008 Tomas Bzatek - 2.23.3-1 +- Update to 2.23.3 + +* Fri May 30 2008 Tomas Bzatek - 2.23.2-3 +- Add DnD support to drop files onto archive files with help + of file-roller (gnomebz #377157) +- Add fix preventing crash on bad GFileInfos (gnomebz #519743) + +* Fri May 16 2008 Tomas Bzatek - 2.23.2-2 +- Add treeview XDS drag&drop support (#446760) + +* Tue May 13 2008 Tomas Bzatek - 2.23.2-1 +- Update to 2.23.2 + +* Fri May 2 2008 David Zeuthen - 2.23.1-4 +- Default to "Ask what to do" for all actions (#444639) + +* Fri May 2 2008 Tomas Bzatek - 2.23.1-3 +- Mask file moving to nautilus-cd-burner window as copy operation (#443944) +- Don't allow recursive move/copy into itself (gnomebz #530720) + +* Thu Apr 24 2008 Tomas Bzatek - 2.23.1-2 +- Add SELinux patch (gnomebz #529694) + +* Wed Apr 23 2008 Tomas Bzatek - 2.23.1-1 +- Update to 2.23.1 + +* Thu Apr 17 2008 Matthias Clasen - 2.22.2-5 +- Make "Open Folder" work as expected for media handling + +* Thu Apr 17 2008 David Zeuthen - 2.22.2-4 +- Put X-Gnome-Vfs-System=gio into desktop files (See #442835) + +* Wed Apr 16 2008 David Zeuthen - 2.22.2-3 +- Revert Fedora livecd mount (fix is in latest gvfs packages) and + add a patch to avoid trying to autorun mounts that are mounted + from outside Nautilus (#442189) + +* Fri Apr 11 2008 Tomas Bzatek - 2.22.2-2 +- Hide Fedora livecd mount (#439166) + +* Mon Apr 7 2008 Matthias Clasen - 2.22.2-1 +- Update to 2.22.2 + +* Sun Apr 6 2008 Matthias Clasen - 2.22.1-6 +- Backport a patch from upstream svn thats needed for file-roller + +* Fri Apr 4 2008 Matthias Clasen - 2.22.1-5 +- Fix beagle support some more + +* Thu Apr 3 2008 Tomas Bzatek - 2.22.1-4 +- Fix SELinux attributes display issue (#439686) + +* Wed Apr 2 2008 Matthias Clasen - 2.22.1-3 +- Fix the build to include tracker and beagle support again + +* Mon Mar 31 2008 Ray Strode - 2.22.1-2 +- Over the releases we've accumulated default.png, default-wide.png default-5_4.png + and default.jpg. We haven't been able to drop them because it would leave some + users with white backgrounds on upgrade. This patch just falls back to the + default image if the user's background doesn't exist. + + +* Fri Mar 28 2008 Tomas Bzatek - 2.22.1-1 +- Update to 2.22.1 + +* Thu Mar 13 2008 Tomas Bzatek - 2.22.0-2 +- Don't create application/x-ext- types for known mimetypes (patch from head) +- Fix a crash in the Properties dialog while changing owner (patch from head) + +* Mon Mar 10 2008 Matthias Clasen - 2.22.0-1 +- Update to 2.22.0 + +* Tue Feb 26 2008 Tomas Bzatek - 2.21.92-2 +- Change libbeagle .so name for libbeagle-0.3.0 in nautilus-2.21.1-dynamic-search-r2.patch (#434722) + +* Tue Feb 26 2008 Tomas Bzatek - 2.21.92-1 +- Update to 2.21.92 + +* Tue Feb 12 2008 Matthias Clasen - 2.21.91-1 +- Update to 2.21.91 + +* Tue Jan 29 2008 Matthias Clasen - 2.21.90-1 +- Update to 2.21.90 + +* Mon Jan 21 2008 Matthias Clasen - 2.21.6-1 +- Update to 2.21.6 + +* Mon Jan 14 2008 Matthias Clasen - 2.21.5-1 +- Update to 2.21.5 + +* Tue Jan 8 2008 Matthias Clasen - 2.21.2-1 +- Update to 2.21.2 + +* Sun Dec 23 2007 Matthias Clasen - 2.21.1-2 +- Fix extensiondir + +* Fri Dec 21 2007 Matthias Clasen - 2.21.1-1 +- Upodate to 2.21.1 + +* Wed Dec 19 2007 - Bastien Nocera - 2.20.0-7 +- Update audio preview patch to check for aliases (#381401) + +* Tue Oct 30 2007 - Bastien Nocera - 2.20.0-6 +- Fix audio preview command-line to use decodebin so playbin doesn't + pop up a window for videos detected as audio + +* Tue Oct 16 2007 - Bastien Nocera - 2.20.0-5 +- Add patch from upstream to get audio preview working again + (#332251) + +* Wed Oct 3 2007 Matthias Clasen - 2.20.0-4 +- Move /usr/lib/nautilus/extensions-1.0 to the extensions package + +* Tue Oct 2 2007 Matthias Clasen - 2.20.0-3 +- Fix a crash with small fonts (#242350) + +* Tue Oct 2 2007 Alexander Larsson - 2.20.0-1 +- Backport fixes for async thumbnail loading from svn + +* Fri Sep 28 2007 Ray Strode - 2.20.0-2 +- drop redhat-artwork dep. Alex says we don't need it anymore + +* Tue Sep 18 2007 Matthias Clasen - 2.20.0-1 +- Update to 2.20.0 + +* Mon Sep 3 2007 Matthias Clasen - 2.19.91-1 +- Update to 2.19.91 + +* Mon Aug 13 2007 Matthias Clasen - 2.19.90-1 +- Update to 2.19.90 + +* Fri Aug 10 2007 Matthias Clasen - 2.19.6-3 +- Bump gnome-vfs requirement (#251306) + +* Fri Aug 3 2007 Matthias Clasen - 2.19.6-2 +- Update license field + +* Mon Jul 30 2007 Matthias Clasen - 2.19.6-1 +- Update to 2.19.6 + +* Wed Jul 25 2007 Jesse Keating - 2.19.5-3 +- Rebuild for RH #249435 + +* Mon Jul 23 2007 Matthias Clasen - 2.19.5-2 +- Port to new GTK+ tooltips API + +* Tue Jul 10 2007 Matthias Clasen - 2.19.5-1 +- Update to 2.19.5 + +* Fri Jul 6 2007 Matthias Clasen - 2.19.4-2 +- Fix directory ownership issues + +* Mon Jun 18 2007 Matthias Clasen - 2.19.4-1 +- Update to 2.19.4 + +* Tue Jun 5 2007 Matthias Clasen - 2.19.3-1 +- Update to 2.19.3 + +* Sat May 19 2007 Matthias Clasen - 2.19.2-1 +- Update to 2.19.2 + +* Wed Apr 11 2007 Alexander Larsson - 2.18.1-2 +- Fix memleak (#235696) + +* Wed Apr 11 2007 Alexander Larsson - 2.18.1-1 +- Update to 2.18.1 + +* Mon Mar 26 2007 Matthias Clasen - 2.18.0.1-2 +- Update icon caches (#234020) + +* Mon Mar 12 2007 Alexander Larsson - 2.18.0.1-1 +- Update to 2.18.0.1 + +* Tue Mar 6 2007 Alexander Larsson - 2.17.92-3 +- Update xdg-user-dirs patch, now handle renaming desktop dir + +* Thu Mar 1 2007 Alexander Larsson - 2.17.92-2 +- Add xdg-user-dirs patch + +* Tue Feb 27 2007 Matthias Clasen - 2.17.92-1 +- Update to 2.17.92 + +* Tue Feb 13 2007 Matthias Clasen - 2.17.91-1 +- Update to 2.17.91 + +* Wed Feb 7 2007 Matthias Clasen - 2.17.90-4 +- Add DesktopSettings category to nautilus-file-management-properties.desktop + +* Tue Feb 6 2007 Alexander Larsson - 2.17.90-3 +- update tracker dynamic search patch to new .so name + +* Tue Jan 23 2007 Alexander Larsson - 2.17.90-2 +- Fix gnome bug #362302 in selinux patch + +* Mon Jan 22 2007 Matthias Clasen - 2.17.90-1 +- Update to 2.17.90 + +* Tue Dec 19 2006 Matthias Clasen - 2.17.1-1 +- Update to 2.17.1 + +* Wed Nov 22 2006 Alexander Larsson - 2.16.2-7 +- Look for beagle before tracker, because tracker autostarts + This lets us support having both installed at the same time. +- Remove buildreqs for beagle, as they are not necessary with + the dynamic work. + +* Tue Nov 14 2006 Matthias Clasen - 2.16.2-6 +- Detect tracker dynamically, too + +* Mon Nov 13 2006 Alexander Larsson - 2.16.2-5.fc7 +- Fix commonly reported NautilusDirectory crash + +* Wed Nov 8 2006 Alexander Larsson - 2.16.2-4.fc7 +- Revert upstream icon placement patch as it seems broken + +* Tue Nov 7 2006 Alexander Larsson - 2.16.2-2.fc7 +- Update to 2.16.2 + +* Sat Oct 21 2006 Matthias Clasen - 2.16.1-1 +- Update to 2.16.1 + +* Wed Oct 18 2006 Matthias Clasen - 2.16.0-6 +- Fix scripts according to the packaging guidelines +- Require GConf2 for the scripts +- Require pkgconfig for the -devel package + +* Sun Oct 01 2006 Jesse Keating - 2.16.0-5 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Tue Sep 19 2006 Alexander Larsson - 2.16.0-4 +- Support changing selinux contexts (#204030) + +* Thu Sep 14 2006 Alexander Larsson - 2.16.0-3 +- Fix crash when opening custom icon dialog (#205352) + +* Tue Sep 5 2006 Matthias Clasen - 2.16.0-2 +- Add a %%preun script (#205260) + +* Mon Sep 4 2006 Alexander Larsson - 2.16.0-1 +- Update to 2.16.0 + +* Fri Aug 25 2006 Alexander Larsson - 2.15.92.1-2 +- Omit self check code in build + +* Tue Aug 22 2006 Alexander Larsson - 2.15.92.1-1 +- update to 2.15.92.1 + +* Mon Aug 21 2006 Matthias Clasen - 2.15.92-1.fc6 +- Update to 2.15.92 + +* Sat Aug 12 2006 Matthias Clasen - 2.15.91-2.fc6 +- Don't Provide/Obsolete nautilus-devel from the main package (#202322) + +* Thu Aug 10 2006 Alexander Larsson - 2.15.91-1.fc6 +- Update to 2.15.91 +- Split package into devel and extensions (#201967) + +* Thu Aug 3 2006 Matthias Clasen - 2.15.90-1.fc6 +- Update to 2.15.90 + +* Tue Jul 18 2006 Matthias Clasen - 2.15.4-3 +- Spec file cleanups + +* Wed Jul 12 2006 Matthias Clasen - 2.15.4-2 +- Don't require nautilus-cd-burner, to avoid a + BuildRequires-Requires loop + +* Wed Jul 12 2006 Matthias Clasen - 2.15.4-1 +- Update to 2.15.4 + +* Wed Jul 12 2006 Jesse Keating - 2.15.2-1.1 +- rebuild + +* Tue Jun 13 2006 Matthias Clasen - 2.15.2-1 +- Update to 2.15.1 + +* Sun May 21 2006 Matthias Clasen - 2.15.1-2 +- Add missing BuildRequires (#129184) + +* Wed May 17 2006 Matthias Clasen - 2.15.1-1 +- Update to 2.15.1 + +* Fri May 12 2006 Matthias Clasen - 2.14.1-3 +- Close the about dialog + +* Tue Apr 11 2006 Matthias Clasen - 2.14.1-2 +- Update to 2.14.1 + +* Mon Mar 13 2006 Matthias Clasen - 2.14.0-1 +- Update to 2.14.0 + +* Mon Mar 6 2006 Matthias Clasen - 2.13.92-2 +- Reinstate the format patch which was accidentally dropped + +* Mon Feb 27 2006 Matthias Clasen - 2.13.92-1 +- Update to 2.13.92 + +* Mon Feb 13 2006 Matthias Clasen - 2.13.91-1 +- Update to 2.13.91 + +* Fri Feb 10 2006 Jesse Keating - 2.13.90-2.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2.13.90-2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Feb 6 2006 Matthias Clasen - 2.13.90-2 +- Avoid delays in rendering the background + +* Tue Jan 31 2006 Matthias Clasen - 2.13.90-1 +- Update to 2.13.90 + +* Tue Jan 17 2006 Matthias Clasen - 2.13.4-1 +- Update to 2.13.4 + +* Mon Jan 9 2006 Alexander Larsson - 2.13.3-2 +- Buildrequire libbeagle + +* Tue Dec 13 2005 Alexander Larsson 2.13.3-1 +- Update to 2.13.3 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Dec 2 2005 Matthias Clasen 2.13.2-1 +- Update to 2.13.2 +- Update patches + +* Tue Nov 1 2005 Alexander Larsson - 2.12.1-6 +- Switch XFree86-devel buildrequirement to libX11-devel + +* Fri Oct 28 2005 Matthias Clasen 2.12.1-5 +- Implement icon stretching keynav +- Support formatting non-floppy devices + +* Sat Oct 22 2005 Matthias Clasen 2.12.1-4 +- Improve icon stretching ui + +* Fri Oct 21 2005 Matthias Clasen 2.12.1-3 +- Only show the "Format menu item if gfloppy is present + +* Fri Oct 21 2005 Matthias Clasen 2.12.1-2 +- Add a "Format" context menu item to the floppy in "Computer" + +* Thu Oct 6 2005 Matthias Clasen 2.12.1-1 +- Update to 2.12.1 + +* Wed Sep 7 2005 Matthias Clasen 2.12.0-1 +- Update to 2.12.0 + +* Tue Aug 16 2005 Matthias Clasen +- New upstream release + +* Wed Aug 3 2005 Matthias Clasen 2.11.90-1 +- New upstream release + +* Mon Jul 11 2005 Matthias Clasen 2.11.3-1 +- Update to 2.11.3 + +* Wed May 11 2005 David Zeuthen 2.10.0-4 +- Fix default font for zh_TW (#154185) + +* Sun Apr 3 2005 David Zeuthen 2.10.0-3 +- Include patches for desktop background memory saving (GNOME bug #169347) +- Obsoletes: nautilus-media (#153223) + +* Mon Mar 28 2005 Matthias Clasen 2.10.0-2 +- Rebuild against newer libexif + +* Mon Mar 21 2005 David Zeuthen 2.10.0-1 +- Update to latest upstream version; tweak requires + +* Thu Mar 3 2005 Alex Larsson 2.9.91-2 +- Rebuild + +* Fri Feb 11 2005 Matthias Clasen - 2.9.91-1 +- Update to 2.9.91 + +* Tue Nov 9 2004 Marco Pesenti Gritti - 2.8.1-5 +- Remove eog dependency. The bonobo component is no more used. + +* Mon Oct 18 2004 Marco Pesenti Gritti - 2.8.1-4 +- #135824 Fix throbber position + +* Fri Oct 15 2004 Alexander Larsson - 2.8.1-3 +- Slightly less bad error dialog when there is no handler for a file. + Not ideal, but this change doesn't change any strings. + +* Tue Oct 12 2004 Alexander Larsson - 2.8.1-2 +- Fix open with menu on mime mismatch +- Create desktop links ending with .desktop (#125104) +- Remove old cruft from specfile + +* Mon Oct 11 2004 Alexander Larsson - 2.8.1-1 +- update to 2.8.1 + +* Fri Oct 8 2004 Alexander Larsson - 2.8.0-3 +- Backport more fixes from cvs + +* Mon Oct 4 2004 Alexander Larsson - 2.8.0-2 +- Backport various bugfixes from HEAD + +* Mon Sep 13 2004 Alexander Larsson - 2.8.0-1 +- Update to 2.8.0 + +* Fri Sep 10 2004 Alexander Larsson - 2.7.92-3 +- Don't require eject on s390(x), since there is none (#132228) + +* Tue Sep 7 2004 Alexander Larsson - 2.7.92-2 +- Add patch to fix desktop keynav (#131894) + +* Tue Aug 31 2004 Alex Larsson 2.7.92-1 +- update to 2.7.92 + +* Thu Aug 26 2004 Alexander Larsson - 2.7.4-3 +- Added requires eject +- Depend on gnome-vfs2-smb instead of -extras + +* Tue Aug 24 2004 Alexander Larsson - 2.7.4-2 +- backport cvs fixes, including default view fix + +* Thu Aug 19 2004 Alex Larsson 2.7.4-1 +- update to 2.7.4 + +* Fri Aug 6 2004 Ray Strode 2.7.2-1 +- update to 2.7.2 + +* Tue Aug 3 2004 Matthias Clasen 2.6.0-7 +- rebuilt + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri May 21 2004 Matthias Clasen 2.6.0-5 +- rebuild + +* Wed Apr 14 2004 Alexander Larsson 2.6.0-4 +- update cvs backport, now handles kde trash dir better + +* Wed Apr 14 2004 Alexander Larsson 2.6.0-3 +- add cvs backport + +* Wed Apr 7 2004 Alex Larsson 2.6.0-2 +- Make network servers go to network:// again + +* Thu Apr 1 2004 Alex Larsson 2.6.0-1 +- update to 2.6.0 + +* Tue Mar 16 2004 Mike A. Harrisn 2.5.91-2 +- Changed BuildRequires: XFree86-libs >= 4.2.99 to BuildRequires: XFree86-devel +- Fixed BuildRoot to use _tmppath instead of /var/tmp + +* Mon Mar 15 2004 Alex Larsson 2.5.91-1 +- update to 2.5.91 + +* Mon Mar 8 2004 Alexander Larsson 2.5.90-1 +- update to 2.5.90 + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Wed Feb 25 2004 Alexander Larsson +- update libgnomeui required version to 2.5.3 (#116229) + +* Tue Feb 24 2004 Alexander Larsson 2.5.8-1 +- update to 2.5.8 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Alexander Larsson 2.5.7-1 +- update to 2.5.7 + +* Fri Jan 30 2004 Alexander Larsson 2.5.6-1 +- update to 2.5.6 + +* Tue Jan 27 2004 Alexander Larsson 2.5.5-1 +- update to 2.5.5 + +* Tue Oct 28 2003 Than Ngo 2.4.0-7 +- fix start-here desktop file + +* Mon Oct 27 2003 Than Ngo 2.4.0-6 +- rebuild against new librsvg2 + +* Fri Oct 3 2003 Alexander Larsson 2.4.0-5 +- Update cvs backport, now have the better desktop icon layout + +* Mon Sep 29 2003 Alexander Larsson 2.4.0-4 +- Update cvs backport, fixes #105869 + +* Fri Sep 19 2003 Alexander Larsson 2.4.0-3 +- Backport bugfixes from the gnome-2-4 branch + +* Tue Sep 16 2003 Alexander Larsson 2.4.0-2 +- Add patch that fixes crash when deleting in listview + +* Tue Sep 9 2003 Alexander Larsson 2.4.0-1 +- 2.4.0 + +* Thu Sep 4 2003 Alexander Larsson 2.3.90-2 +- Add desktop icons patch + +* Tue Sep 2 2003 Alexander Larsson 2.3.90-1 +- update to 2.3.90 + +* Tue Aug 26 2003 Alexander Larsson 2.3.9-1 +- update +- Add patch to ignore kde desktop links +- Re-enable kdesktop detection hack. + kde doesn't seem to support the manager selection yet + +* Wed Aug 20 2003 Alexander Larsson 2.3.8-2 +- don't require fontilus + +* Mon Aug 18 2003 Alexander Larsson 2.3.8-1 +- update to gnome 2.3 + +* Wed Aug 6 2003 Elliot Lee 2.2.4-5 +- Fix libtool + +* Tue Jul 8 2003 Alexander Larsson 2.2.4-4.E +- Rebuild + +* Tue Jul 8 2003 Alexander Larsson 2.2.4-4 +- Backport fixes from cvs +- Change some default configurations + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue May 27 2003 Alexander Larsson 2.2.4-2 +- Add performance increase backport +- Add desktop manager selection backport + +* Mon May 19 2003 Alexander Larsson 2.2.4-1 +- update to 2.2.4 + +* Tue May 6 2003 Alexander Larsson 2.2.3-2 +- Fix scrollkeeper pre-requires + +* Mon Mar 31 2003 Alexander Larsson 2.2.3-1 +- Update to 2.2.3 + +* Tue Feb 25 2003 Alexander Larsson 2.2.1-5 +- Change the default new window size to fit in 800x600 (#85037) + +* Thu Feb 20 2003 Alexander Larsson +- Require gnome-vfs2-extras, since network menu item uses it (#84145) + +* Tue Feb 18 2003 Alexander Larsson +- Update to the latest bugfixes from cvs. +- Fixes #84291 for nautilus, context menu duplication and some other small bugs. + +* Thu Feb 13 2003 Alexander Larsson 2.2.1-2 +- Add a patch to fix the forkbomb-under-kde bug (#81520) +- Add a patch to fix thumbnail memory leak +- require libXft.so.2 instead of Xft, since that changed in the XFree86 package + +* Tue Feb 11 2003 Alexander Larsson 2.2.1-1 +- 2.2.1, lots of bugfixes + +* Fri Jan 31 2003 Alexander Larsson 2.2.0.2-2 +- remove nautilus-server-connect since it broke without editable vfolders + +* Fri Jan 31 2003 Alexander Larsson 2.2.0.2-1 +- Update to 2.2.0.2, fixes bg crasher +- parallelize build +- Added patch from cvs that fixes password hang w/ smb + +* Thu Jan 23 2003 Alexander Larsson 2.2.0.1-1 +- Update to 2.2.0.1 + +* Wed Jan 22 2003 Tim Powers 2.2.0-2 +- rebuilt + +* Tue Jan 21 2003 Alexander Larsson 2.2.0-1 +- update to 2.2.0 + +* Fri Jan 17 2003 Alexander Larsson 2.1.91-8 +- Add requirement on fontilus and nautilus-cd-burner to get them + on an upgrade. + +* Fri Jan 17 2003 Alexander Larsson 2.1.91-7 +- Added patch to enable the look for kde desktop hack +- Removed patches that were fixed upstream + +* Fri Jan 17 2003 Alexander Larsson 2.1.91-6 +- Removed the requirement of nautilus-cd-burner, since + that is now on by default in comps + +* Thu Jan 16 2003 Alexander Larsson 2.1.91-5 +- Require(post,postun) scrollkeeper (#67340) +- Add dot to end of summary + +* Tue Jan 14 2003 Havoc Pennington 2.1.91-4 +- use system-group.png not network-server.png for "Network Servers" + +* Tue Jan 14 2003 Alexander Larsson 2.1.91-3 +- Correct filename in last change + +* Tue Jan 14 2003 Alexander Larsson 2.1.91-2 +- change the network menu item to go to smb: + +* Tue Jan 14 2003 Alexander Larsson 2.1.91-1 +- Update to 2.1.91 +- Updated URL + +* Tue Jan 14 2003 Havoc Pennington +- perl-munge the icon names in a couple desktop files + to find redhat-network-server.png and redhat-file-manager.png. + Upstream icon names here were weird and seem broken. + +* Thu Jan 9 2003 Alexander Larsson +- 2.1.6 +- Removed mp3 stripping script. Thats gone upstream now. + +* Wed Dec 18 2002 Alexander Larsson 2.1.5-2 +- Add cdburn patch. +- Remove nautilus-1.1.19-starthere-hang-hackaround.patch +- Require nautilus-cd-burner + +* Mon Dec 16 2002 Alexander Larsson 2.1.5-1 +- Update to 2.1.5. Require gnome-icon-theme >= 0.1.5, gnome-vfs >= 2.1.5 + +* Tue Dec 3 2002 Havoc Pennington +- add explicit startup-notification dependency because build system is + dumb +- 2.1.3 + +* Wed Nov 13 2002 Havoc Pennington +- 2.1.2 + +* Thu Oct 10 2002 Havoc Pennington +- 2.0.7 +- remove patches that are upstream + +* Tue Sep 3 2002 Alexander Larsson 2.0.6-6 +- Add badhack to make weblinks on desktop work + +* Mon Sep 2 2002 Havoc Pennington +- fix #70667 assertion failures +- fix triple click patch + +* Mon Sep 2 2002 Jonathan Blandford +- don't activate on double click + +* Sat Aug 31 2002 Havoc Pennington +- put button press mask in triple-click patch, maybe it will work +- remove html-hack patch as it does nothing useful + +* Sat Aug 31 2002 Havoc Pennington +- require newer redhat-artwork, -menus, eel2, gnome-vfs2 to avoid + bogus bug reports +- add hack for HTML mime type handling in a web browser, not + nautilus + +* Thu Aug 29 2002 Alexander Larsson +- Updated to 2.0.6. Removed the patches I put upstream. +- Added patch that fixes #72410 + +* Wed Aug 28 2002 Owen Taylor +- Add a simple patch so that redhat-config-packages can disable + the new window behavior for mounted CDs behavior. + +* Wed Aug 28 2002 Alexander Larsson 2.0.5-4 +- Add patch to fix bug #70667 + +* Sun Aug 25 2002 Havoc Pennington +- remove mp3 + +* Fri Aug 23 2002 Havoc Pennington +- ignore the "add_to_session" preference as it only broke stuff +- pad the left margin a bit to cope with poor word wrapping + +* Fri Aug 23 2002 Alexander Larsson 2.0.5-1 +- Update to 2.0.5, remove topleft icon patch + +* Thu Aug 15 2002 Alexander Larsson 2.0.4-2 +- Add patch to fix the bug where desktop icons get + stuck in the top left corner on startup + +* Wed Aug 14 2002 Alexander Larsson 2.0.4-1 +- 2.0.4 + +* Tue Aug 13 2002 Havoc Pennington +- obsolete nautilus-mozilla < 2.0 #69839 + +* Mon Aug 12 2002 Havoc Pennington +- add rhconfig patch to Bluecurve theme and disable sidebar by default + +* Wed Aug 7 2002 Havoc Pennington +- drop start here files, require redhat-menus that has them + +* Tue Aug 6 2002 Havoc Pennington +- 2.0.3 + +* Sat Jul 27 2002 Havoc Pennington +- build for new eel2, gail + +* Wed Jul 24 2002 Havoc Pennington +- and add the libexec components, mumble + +* Wed Jul 24 2002 Havoc Pennington +- put the components in the file list, were moved upstream + +* Tue Jul 23 2002 Havoc Pennington +- 2.0.1 + +* Thu Jun 27 2002 Owen Taylor +- Relibtoolize to fix relink problems for solib components +- Add LANG=en_US to %%makeinstall as well +- Back out previous change, force locale to en_US to prevent UTF-8 problems +- Add workaround for intltool-merge bug on ia64 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Sun Jun 16 2002 Havoc Pennington +- 2.0.0 +- use desktop-file-install +- require desktop-backgrounds-basic + +* Wed Jun 12 2002 Havoc Pennington +- add wacky hack in hopes of fixing the hang-on-login thing + +* Sat Jun 8 2002 Havoc Pennington +- add build requires on new gail +- rebuild to try to lose broken libgailutil.so.13 dependency + +* Sat Jun 08 2002 Havoc Pennington +- rebuild in different environment + +* Wed Jun 5 2002 Havoc Pennington +- 1.1.19 + +* Fri May 31 2002 Havoc Pennington +- rebuild in different environment + +* Thu May 30 2002 Havoc Pennington +- really remove nautilus-devel if we are going to obsolete it +- don't require hwbrowser + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Tue May 21 2002 Havoc Pennington +- rebuild in different environment + +* Tue May 21 2002 Havoc Pennington +- 1.1.17 + +* Fri May 3 2002 Havoc Pennington +- 1.1.14 + +* Thu Apr 25 2002 Havoc Pennington +- require eog +- obsolete nautilus-devel +- fix name of schemas file in post + +* Mon Apr 22 2002 Alex Larsson +- Update to 1.1.13 + +* Fri Apr 19 2002 Havoc Pennington +- put tree view in file list + +* Thu Apr 18 2002 Havoc Pennington +- nautilus for gnome 2 +- clean up the spec file and file list a bit + +* Mon Apr 15 2002 Havoc Pennington +- merge translations + +* Thu Apr 4 2002 Alex Larsson +- Add patch to fix trash crash + +* Mon Apr 1 2002 Havoc Pennington +- fix for metadata tmp race +- backport thumbnail speed fix and thumbnail inf. loop fix + +* Mon Mar 25 2002 Havoc Pennington +- add some fixes from CVS version, including one for #61819 and a couple segfaults + +* Wed Mar 20 2002 Havoc Pennington +- fix thumbnails for files with future timestamp, #56862 + +* Mon Mar 11 2002 Havoc Pennington +- buildrequires intltool #60633 +- apply Alex's pixbuf cache patch to save a few megs #60581 + +* Wed Feb 27 2002 Havoc Pennington +- drop Milan-specific features, including png10 and ac25 patches +- copy in 1.0.5 help component to avoid large risky patch +- remove .la files +- drop mozilla from ia64 again +- remove oaf file from nautilus-mozilla that was also in the base + package + +* Mon Jan 28 2002 Bill Nottingham +- enable mozilla support on ia64 + +* Fri Dec 28 2001 Christopher Blizzard +- require Mozilla 0.9.7 +- Add patch that puts mozilla profile startup before embedding is initialized + +* Tue Nov 20 2001 Havoc Pennington +- 1.0.6, require Mozilla 0.9.6 + +* Tue Oct 23 2001 Alex Larsson +- Update to 1.0.5 + +* Thu Sep 6 2001 Owen Taylor +- Fix handling of GnomeVFSFileInfo structure (#53315) + +* Wed Sep 5 2001 Owen Taylor +- Change handling of names on unmount to fix #52325 + +* Tue Sep 4 2001 Havoc Pennington +- put nautilus-help.desktop in file list; #53109 + +* Fri Aug 31 2001 Havoc Pennington +- Add po files from sources.redhat.com + +* Mon Aug 27 2001 Havoc Pennington +- Add po files from sources.redhat.com + +* Thu Aug 23 2001 Alex Larsson 1.0.4-38 +- Added patch to fix the .directory issuer + +* Thu Aug 23 2001 Havoc Pennington +- I screwed up the build yesterday, so it didn't actually contain the + fixes mentioned. This build should contain them. + +* Wed Aug 22 2001 Havoc Pennington +- fix bug causing 32000 stats or so in large directories, + should speed things up somewhat +- fix #52104 via gruesome kdesktop-detection hack and setting + window type hint on our desktop window +- fix so Start Here icon displays in sidebar +- don't load non-local .desktop files + +* Mon Aug 20 2001 Havoc Pennington +- make Programs icon into a link, to match the other .desktop files +- own various directories #51164 +- web page titles in Japanese, #51709 +- tree defaults to only directories #51850 + +* Wed Aug 15 2001 Havoc Pennington +- make start here icon work again +- kill some warning spew, #51661 +- cache getpwnam() results to speed things up a bit + +* Tue Aug 14 2001 Owen Taylor +- Fix problem with missing desktop starthere.desktop file +- New snapshot from our branch, fixes: + - On upgrade, icons migrated from GNOME desktop are not properly lined up + (#51436) + - icons dropped on the desktop don't end up where dropped. (#51441) + - Nautilus shouldn't have fam monitor read-only windows. This + keeps CDROMS from being unmounted until you close all + + nautilus windows pointing to them. (#51442) + - Warnings about 'cannot statfs...' when moving items to trash. +- Use separate start-here.desktop for panel, since the one used + for the root window only works from Nautilus. + +* Fri Aug 10 2001 Alexander Larsson +- Changed starthere .desktop files to be links instead +- of spawning a new nautilus. This makes start-here: +- much faster. + +* Thu Aug 9 2001 Alexander Larsson +- Added hwbrowser dependency +- New snapshot, fixes the mozilla-view submit form problem + +* Wed Aug 8 2001 Jonathan Blandford +- Rebuild with new xml-i18n-tools +- fix crash in creating new desktop files + +* Tue Aug 7 2001 Jonathan Blandford +- Fix up DnD code some more + +* Thu Aug 02 2001 Havoc Pennington +- Sync our CVS version; fixes some MUSTFIX + (the one about drawing background on startup, + properly translate desktop files, etc.) + +* Wed Aug 1 2001 Alexander Larsson 1.0.4-24 +- Fix 64bit cleanness issue +- Fix NULL mimetype crash +- Disable additional_text for .desktop files + +* Tue Jul 31 2001 Alexander Larsson 1.0.4-23 +- Fix unmounting devices. + +* Tue Jul 31 2001 Alexander Larsson 1.0.4-22 +- Make it depend on gnome-vfs-1.0.1-13. Needed for .desktop +- mimetype sniffing. + +* Mon Jul 30 2001 Alexander Larsson 1.0.4-21 +- Remove the "don't run as root" warning. +- Remove eazel from bookmarks +- langified (again? did someone change it?) + +* Fri Jul 27 2001 Alexander Larsson +- Apply a patch that makes nautilus dnd reset work with the latest +- eel release. + +* Thu Jul 26 2001 Alexander Larsson +- Build on ia64 without the mozilla component. + +* Wed Jul 25 2001 Havoc Pennington +- Fix crash-on-startup showstopper +- Fix can't-find-images bug (this one was only showing up + when built with debug symbols, since it was an uninitialized memory + read) + +* Tue Jul 24 2001 Havoc Pennington +- sync new tarball from our CVS branch, + fixes some drag-and-drop, changes URI scheme names, + etc. + +* Tue Jul 24 2001 Owen Taylor +- Add BuildRequires (#49539, 49537) +- Fix %%post, %%postun (#49720) +- Background efficiency improvements and hacks + +* Fri Jul 13 2001 Alexander Larsson +- Don't launch esd on each mouseover. + +* Wed Jul 11 2001 Havoc Pennington +- move first time druid patch into my "CVS outstanding" patch +- try to really remove Help/Feedback +- try to really fix Help/Community Support +- try again to get Start Here in the Go menu +- try again to get Start Here on the desktop +- don't show file sizes for .desktop files + +* Tue Jul 10 2001 Havoc Pennington +- add newline to ends of .desktop files that were missing them + +* Tue Jul 10 2001 Havoc Pennington +- update to my latest 'cvs diff -u' (adds default + Start Here link, displays .directory name in sidebar) +- include /etc/X11/* links (starthere, sysconfig, serverconfig) + +* Tue Jul 10 2001 Jonathan Blandford +- Patch to remove firsttime druid and flash + +* Mon Jul 09 2001 Havoc Pennington +- add hacks for displaying desktop files +- add hack to turn off the "unwriteable" emblem + +* Sun Jul 8 2001 Tim Powers +- added defattr to the files lists to be (-,root,root) +- languified + +* Sat Jul 7 2001 Alexander Larsson +- Need to run autoheader too. + +* Fri Jul 6 2001 Alexander Larsson +- Make the fam dependency a real runtime dependency +- by linking to libfam (nautilus-1.0.4-fam-lib.patch) +- Cleaned up specfile. + +* Fri Jul 6 2001 Alexander Larsson +- Change default background and rubberband color. +- Use the sidebar tabs from the default theme +- BuildDepend on fam-devel, depend on fam +- Disable the eazel update pages in the first-time druid. +- Remove the eazel logo from the first-time druid + +* Thu Jul 05 2001 Havoc Pennington +- 1.0.4, removes eazel services icon and wizard page +- Eazel logo is still in startup wizard for now, needs fixing + +* Tue Jul 03 2001 Havoc Pennington +- fix group (s/Desktop/Desktops/) #47134 +- remove ammonite dependency + +* Wed Jun 27 2001 Havoc Pennington +- add a different default theme +- clean up file list overspecificity a bit + +* Tue Jun 26 2001 Havoc Pennington +- move to a CVS snapshot of nautilus for now + (Darin is my hero for having distcheck work out of CVS) + +* Thu May 10 2001 Jonathan Blandford +- clean up defaults a bit + +* Wed May 9 2001 Jonathan Blandford +- New version + +* Tue Apr 17 2001 Gregory Leblanc +- Added BuildRequires lines +- Changed Source to point to ftp.gnome.org instead of just the tarball name +- Moved %%description sections closer to their %%package sections +- Moved %%changelog to the end, where so that it's not in the way +- Changed configure and make install options to allow moving of + libraries, includes, binaries more easily +- Removed hard-coded paths (don't define %%prefix or %%docdir) +- replace %%{prefix}/bin with %%{_bindir} +- replace %%{prefix}/share with %%{_datadir} +- replace %%{prefix}/lib with %%{_libdir} +- replace %%{prefix}/include with %%{_includedir} + +* Tue Oct 10 2000 Robin Slomkowski +- removed obsoletes from sub packages and added mozilla and trilobite +subpackages + +* Wed Apr 26 2000 Ramiro Estrugo +- created this thing