+
+- Nautilus, also known as Files, is the default file manager of the GNOME desktop.
++ Files, also known as Nautilus, is the default file manager of the GNOME desktop.
+ It provides a simple and integrated way of managing your files and browsing your file system.
+
+
+
diff --git a/SOURCES/data-Fix-caption-capitalisation-in-appdata-file.patch b/SOURCES/data-Fix-caption-capitalisation-in-appdata-file.patch
new file mode 100644
index 0000000..fdbd117
--- /dev/null
+++ b/SOURCES/data-Fix-caption-capitalisation-in-appdata-file.patch
@@ -0,0 +1,44 @@
+From 51b543cd5106a8b929b336bc6779eddd4d2ac780 Mon Sep 17 00:00:00 2001
+From: Philip Withnall
+Date: Thu, 11 Apr 2019 12:36:21 +0100
+Subject: [PATCH] data: Fix caption capitalisation in appdata file
+
+Make the capitalisation of the image captions match the translatable
+titles of the dialogues in the images, so that translations can be
+reused.
+
+Signed-off-by: Philip Withnall
+---
+ data/org.gnome.Nautilus.appdata.xml.in.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/data/org.gnome.Nautilus.appdata.xml.in.in b/data/org.gnome.Nautilus.appdata.xml.in.in
+index cb20fa05f..cfc27e533 100644
+--- a/data/org.gnome.Nautilus.appdata.xml.in.in
++++ b/data/org.gnome.Nautilus.appdata.xml.in.in
+@@ -28,11 +28,11 @@
+
+
+ https://static.gnome.org/appdata/nautilus/nautilus-201901141.png
+- Tile view
++ Tile View
+
+
+ https://static.gnome.org/appdata/nautilus/nautilus-201901142.png
+- List view
++ List View
+
+
+ https://static.gnome.org/appdata/nautilus/nautilus-201901143.png
+@@ -40,7 +40,7 @@
+
+
+ https://static.gnome.org/appdata/nautilus/nautilus-201901144.png
+- Other locations
++ Other Locations
+
+
+
+--
+2.21.0
+
diff --git a/SOURCES/docs-Add-nautilus-autorun-software-man-page.patch b/SOURCES/docs-Add-nautilus-autorun-software-man-page.patch
new file mode 100644
index 0000000..a054821
--- /dev/null
+++ b/SOURCES/docs-Add-nautilus-autorun-software-man-page.patch
@@ -0,0 +1,61 @@
+From 6dd492663cbd3652ebc03d06898f74bacbf87683 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy
+Date: Wed, 3 Jul 2019 11:43:31 +0200
+Subject: [PATCH] docs: Add nautilus-autorun-software man page
+
+nautilus-autorun-software is the default "x-content/unix-software"
+handler for GNOME desktop. So it is not just internal tool and thus
+it should have a man page. Let's add a simple man page for it.
+
+It resolves the following downstream bug:
+https://bugzilla.redhat.com/show_bug.cgi?id=1725766
+---
+ docs/meson.build | 1 +
+ docs/nautilus-autorun-software.1 | 26 ++++++++++++++++++++++++++
+ 2 files changed, 27 insertions(+)
+ create mode 100644 docs/nautilus-autorun-software.1
+
+diff --git a/docs/meson.build b/docs/meson.build
+index b039cb631..a54574f3c 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -1,3 +1,4 @@
+ install_man('nautilus.1')
++install_man('nautilus-autorun-software.1')
+
+ subdir('reference')
+diff --git a/docs/nautilus-autorun-software.1 b/docs/nautilus-autorun-software.1
+new file mode 100644
+index 000000000..9ecbd4adb
+--- /dev/null
++++ b/docs/nautilus-autorun-software.1
+@@ -0,0 +1,26 @@
++.TH nautilus-autorun-software 1 "3 July 2019"
++
++.SH NAME
++Run Software \- helper tool
++
++.SH SYNOPSIS
++.B nautilus-autorun-software
++.RI "" "mount-uri"
++.br
++
++.SH DESCRIPTION
++.B nautilus-autorun-software
++is a helper tool for the GNOME desktop to start software from media with
++Autostart files.
++.br
++
++It is the default "x-content/unix-software" handler for the GNOME desktop.
++.br
++
++.SH SEE ALSO
++Autostart files are described at
++https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
++
++.SH BUGS
++Bug reports can be found and filed at
++https://gitlab.gnome.org/GNOME/nautilus/issues
+--
+2.21.0
+
diff --git a/SOURCES/org.gnome.Nautilus.appdata.xml.in.in-No-screenshots-.patch b/SOURCES/org.gnome.Nautilus.appdata.xml.in.in-No-screenshots-.patch
new file mode 100644
index 0000000..c732924
--- /dev/null
+++ b/SOURCES/org.gnome.Nautilus.appdata.xml.in.in-No-screenshots-.patch
@@ -0,0 +1,54 @@
+From 2eed21b2dd3ec0cdd701f9c18e1e2582c69bdad8 Mon Sep 17 00:00:00 2001
+From: Timothy OBrien
+Date: Mon, 14 Jan 2019 02:17:42 +1100
+Subject: [PATCH] org.gnome.Nautilus.appdata.xml.in.in: No screenshots in
+ appdata
+
+No screenshots were supplied by the appdata xml meaning that software install tools would not show them to the user.
+
+This commit proposes a set of screenshots hosted via the static-web project: https://gitlab.gnome.org/Infrastructure/static-web
+
+See static-web merge request https://gitlab.gnome.org/Infrastructure/static-web/merge_requests/2 for proposed screenshots.
+
+Fixes #556
+---
+ data/org.gnome.Nautilus.appdata.xml.in.in | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/data/org.gnome.Nautilus.appdata.xml.in.in b/data/org.gnome.Nautilus.appdata.xml.in.in
+index 30648b3e6..cb20fa05f 100644
+--- a/data/org.gnome.Nautilus.appdata.xml.in.in
++++ b/data/org.gnome.Nautilus.appdata.xml.in.in
+@@ -25,6 +25,24 @@
+ Notifications
+ SearchProvider
+
++
++
++ https://static.gnome.org/appdata/nautilus/nautilus-201901141.png
++ Tile view
++
++
++ https://static.gnome.org/appdata/nautilus/nautilus-201901142.png
++ List view
++
++
++ https://static.gnome.org/appdata/nautilus/nautilus-201901143.png
++ Search
++
++
++ https://static.gnome.org/appdata/nautilus/nautilus-201901144.png
++ Other locations
++
++
+
+ System
+
+@@ -35,3 +53,4 @@
+ https://wiki.gnome.org/action/show/Apps/Nautilus
+ nautilus
+
++
+--
+2.21.0
+
diff --git a/SOURCES/properties-window-Fix-crashes-when-cancelled.patch b/SOURCES/properties-window-Fix-crashes-when-cancelled.patch
new file mode 100644
index 0000000..b974769
--- /dev/null
+++ b/SOURCES/properties-window-Fix-crashes-when-cancelled.patch
@@ -0,0 +1,62 @@
+From a20229f185b494a107634c4b99b2be1ce962a277 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy
+Date: Thu, 26 Sep 2019 11:06:45 +0200
+Subject: [PATCH] properties-window: Fix crashes when cancelled
+
+Nautilus crashes on the "timed_wait_free: assertion failed:
+(g_hash_table_lookup (timed_wait_hash_table, wait) != NULL)" assertion
+when the creating of the properties window is cancelled. This is because
+the timed wait has been already removed. Let's don't remove the wait
+when cancelled in order to prevent the crashes.
+---
+ src/nautilus-properties-window.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
+index 969e3ffea..0112aeb3c 100644
+--- a/src/nautilus-properties-window.c
++++ b/src/nautilus-properties-window.c
+@@ -148,6 +148,7 @@ typedef struct
+ NautilusPropertiesWindowCallback callback;
+ gpointer callback_data;
+ NautilusPropertiesWindow *window;
++ gboolean cancelled;
+ } StartupData;
+
+ /* drag and drop definitions */
+@@ -5229,6 +5230,8 @@ get_existing_window (GList *file_list)
+ static void
+ properties_window_finish (StartupData *data)
+ {
++ gboolean cancel_timed_wait;
++
+ if (data->parent_widget != NULL)
+ {
+ g_signal_handlers_disconnect_by_data (data->parent_widget,
+@@ -5240,14 +5243,21 @@ properties_window_finish (StartupData *data)
+ data);
+ }
+
+- remove_pending (data, TRUE, (data->window == NULL), FALSE);
++ cancel_timed_wait = (data->window == NULL && !data->cancelled);
++ remove_pending (data, TRUE, cancel_timed_wait, FALSE);
++
+ startup_data_free (data);
+ }
+
+ static void
+ cancel_create_properties_window_callback (gpointer callback_data)
+ {
+- properties_window_finish ((StartupData *) callback_data);
++ StartupData *data;
++
++ data = callback_data;
++ data->cancelled = TRUE;
++
++ properties_window_finish (data);
+ }
+
+ static void
+--
+2.23.0
+
diff --git a/SOURCES/properties-window-Fix-crashes-when-opened-multiple-t.patch b/SOURCES/properties-window-Fix-crashes-when-opened-multiple-t.patch
new file mode 100644
index 0000000..47ceb5e
--- /dev/null
+++ b/SOURCES/properties-window-Fix-crashes-when-opened-multiple-t.patch
@@ -0,0 +1,33 @@
+From c4b567936ebbba8479f6641c89b3980f7963b765 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy
+Date: Thu, 26 Sep 2019 11:07:35 +0200
+Subject: [PATCH] properties-window: Fix crashes when opened multiple times
+
+Nautilus crashes with segmentation fault when closing the properties dialog
+after it has been opened mutliple times for the same file. This can't be
+reproduced over Nautilus as it uses modal dialogs, however, it can be simply
+reproduced over the Desktop Icons extension. Let's check the pending_key
+variable before used to be sure it is not NULL to fix this crashes.
+---
+ src/nautilus-properties-window.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
+index 0112aeb3c..f6b2f21a6 100644
+--- a/src/nautilus-properties-window.c
++++ b/src/nautilus-properties-window.c
+@@ -5297,7 +5297,10 @@ remove_pending (StartupData *startup_data,
+ eel_timed_wait_stop
+ (cancel_create_properties_window_callback, startup_data);
+ }
+- g_hash_table_remove (pending_lists, startup_data->pending_key);
++ if (startup_data->pending_key != NULL)
++ {
++ g_hash_table_remove (pending_lists, startup_data->pending_key);
++ }
+ }
+
+ static gboolean
+--
+2.23.0
+
diff --git a/SOURCES/properties-window-Fix-criticals-when-closing.patch b/SOURCES/properties-window-Fix-criticals-when-closing.patch
new file mode 100644
index 0000000..cc413e5
--- /dev/null
+++ b/SOURCES/properties-window-Fix-criticals-when-closing.patch
@@ -0,0 +1,32 @@
+From 97ec09e79d0a92f57ef6bb6b7e042921f5c3c3c8 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy
+Date: Tue, 24 Sep 2019 17:06:15 +0200
+Subject: [PATCH] properties-window: Fix criticals when closing
+
+The "eel_timed_wait_stop: assertion 'wait != NULL' failed" critical
+is printed when closing the properties window since commit c8c2fab2.
+This is because the timed wait has been already removed. Let's remove
+the wait when closing only if it has not been yet removed in order to
+prevent this criticals.
+
+Fixes: https://gitlab.gnome.org/GNOME/nautilus/issues/1075
+---
+ src/nautilus-properties-window.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
+index 9d9bd1c54..969e3ffea 100644
+--- a/src/nautilus-properties-window.c
++++ b/src/nautilus-properties-window.c
+@@ -5240,7 +5240,7 @@ properties_window_finish (StartupData *data)
+ data);
+ }
+
+- remove_pending (data, TRUE, TRUE, FALSE);
++ remove_pending (data, TRUE, (data->window == NULL), FALSE);
+ startup_data_free (data);
+ }
+
+--
+2.23.0
+
diff --git a/SOURCES/search-engine-tracker-Do-not-lose-filename-results-d.patch b/SOURCES/search-engine-tracker-Do-not-lose-filename-results-d.patch
new file mode 100644
index 0000000..d9eed95
--- /dev/null
+++ b/SOURCES/search-engine-tracker-Do-not-lose-filename-results-d.patch
@@ -0,0 +1,90 @@
+diff --git a/src/nautilus-search-engine-tracker.c b/src/nautilus-search-engine-tracker.c
+index 66494cae8..32b6039a9 100644
+--- a/src/nautilus-search-engine-tracker.c
++++ b/src/nautilus-search-engine-tracker.c
+@@ -286,6 +286,12 @@ search_finished_idle (gpointer user_data)
+ return FALSE;
+ }
+
++/* This is used to compensate rank if fts:rank is not set (resp. fts:match is
++ * not used). The value was determined experimentally. I am conviced that
++ * fts:rank is currently always set to 5.0 in case of filename match.
++ */
++#define FILENAME_RANK 5.0
++
+ static void
+ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider)
+ {
+@@ -327,7 +333,11 @@ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider)
+ mimetypes = nautilus_query_get_mime_types (tracker->query);
+ mime_count = g_list_length (mimetypes);
+
+- sparql = g_string_new ("SELECT DISTINCT nie:url(?urn) fts:rank(?urn) nfo:fileLastModified(?urn) nfo:fileLastAccessed(?urn)");
++ sparql = g_string_new ("SELECT DISTINCT"
++ " nie:url(?urn)"
++ " xsd:double(COALESCE(?rank2, ?rank1)) AS ?rank"
++ " nfo:fileLastModified(?urn)"
++ " nfo:fileLastAccessed(?urn)");
+
+ if (tracker->fts_enabled)
+ {
+@@ -342,16 +352,31 @@ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider)
+ " tracker:available true;"
+ " nie:url ?url");
+
+- if (*search_text)
++ if (mime_count > 0)
+ {
+- g_string_append_printf (sparql, "; fts:match '\"%s\"*'", search_text);
++ g_string_append (sparql, "; nie:mimeType ?mime");
+ }
+
+- if (mime_count > 0)
++ if (tracker->fts_enabled)
+ {
+- g_string_append (sparql, "; nie:mimeType ?mime");
++ /* Use fts:match only for content search to not lose some filename results due to stop words. */
++ g_string_append_printf (sparql,
++ " {"
++ " ?urn fts:match '\"nie:plainTextContent\" : \"%s\"*' ."
++ " BIND(fts:rank(?urn) AS ?rank1) ."
++ " } UNION",
++ search_text);
+ }
+
++ g_string_append_printf (sparql,
++ " {"
++ " ?urn nfo:fileName ?filename ."
++ " FILTER(fn:contains(fn:lower-case(?filename), '%s')) ."
++ " BIND(%f AS ?rank2) ."
++ " }",
++ search_text,
++ FILENAME_RANK);
++
+ g_string_append_printf (sparql, " . FILTER( ");
+
+ if (!tracker->recursive)
+@@ -363,11 +388,6 @@ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider)
+ g_string_append_printf (sparql, "tracker:uri-is-descendant('%s', ?url)", location_uri);
+ }
+
+- if (!tracker->fts_enabled)
+- {
+- g_string_append_printf (sparql, " && fn:contains(fn:lower-case(nfo:fileName(?urn)), '%s')", search_text);
+- }
+-
+ date_range = nautilus_query_get_date_range (tracker->query);
+ if (date_range)
+ {
+@@ -424,7 +444,7 @@ nautilus_search_engine_tracker_start (NautilusSearchProvider *provider)
+ g_string_append (sparql, ")\n");
+ }
+
+- g_string_append (sparql, ")} ORDER BY DESC (fts:rank(?urn))");
++ g_string_append (sparql, ")} ORDER BY DESC (?rank)");
+
+ tracker->cancellable = g_cancellable_new ();
+ tracker_sparql_connection_query_async (tracker->connection,
+--
+2.23.0
+
diff --git a/SOURCES/window-Add-website-link-to-About-dialog.patch b/SOURCES/window-Add-website-link-to-About-dialog.patch
new file mode 100644
index 0000000..133e6c8
--- /dev/null
+++ b/SOURCES/window-Add-website-link-to-About-dialog.patch
@@ -0,0 +1,13 @@
+diff --git a/src/nautilus-window.c b/src/nautilus-window.c
+index 89d492a76..5ea21b1d8 100644
+--- a/src/nautilus-window.c
++++ b/src/nautilus-window.c
+@@ -2864,6 +2864,7 @@ nautilus_window_show_about_dialog (NautilusWindow *window)
+ "program-name", program_name,
+ "version", VERSION,
+ "comments", _("Access and organize your files."),
++ "website", "https://wiki.gnome.org/action/show/Apps/Files",
+ "copyright", "Copyright © 1999–2018 The Files Authors",
+ "license-type", GTK_LICENSE_GPL_3_0,
+ "artists", artists,
+
diff --git a/SOURCES/window-Fix-criticals-when-moving-file-to-trash.patch b/SOURCES/window-Fix-criticals-when-moving-file-to-trash.patch
new file mode 100644
index 0000000..a553b65
--- /dev/null
+++ b/SOURCES/window-Fix-criticals-when-moving-file-to-trash.patch
@@ -0,0 +1,35 @@
+From 668e0673a7ea3fe4cb6c99bc7b56bc52597e2061 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy
+Date: Wed, 25 Sep 2019 09:16:44 +0200
+Subject: [PATCH] window: Fix criticals when moving file to trash
+
+The "gtk_revealer_get_transition_type: assertion 'GTK_IS_REVEALER (revealer)'
+failed" critical is printed when moving file to trash after closing a window.
+This is because the "undo-changed" signal handler is not disconnected when
+the window is destroyed. Let's use g_signal_connect_object() to ensure
+disconnection and prevent those criticals.
+
+Fixes: https://gitlab.gnome.org/GNOME/nautilus/issues/1076
+---
+ src/nautilus-window.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/nautilus-window.c b/src/nautilus-window.c
+index 285a6a6ce..056c75c7a 100644
+--- a/src/nautilus-window.c
++++ b/src/nautilus-window.c
+@@ -2239,8 +2239,9 @@ nautilus_window_constructed (GObject *self)
+ nautilus_window_set_up_sidebar (window);
+
+
+- g_signal_connect_after (nautilus_file_undo_manager_get (), "undo-changed",
+- G_CALLBACK (nautilus_window_on_undo_changed), self);
++ g_signal_connect_object (nautilus_file_undo_manager_get (), "undo-changed",
++ G_CALLBACK (nautilus_window_on_undo_changed), self,
++ G_CONNECT_AFTER);
+
+ /* Is required that the UI is constructed before initializating the actions, since
+ * some actions trigger UI widgets to show/hide. */
+--
+2.23.0
+
diff --git a/SPECS/nautilus.spec b/SPECS/nautilus.spec
index 82decbd..e218d2a 100644
--- a/SPECS/nautilus.spec
+++ b/SPECS/nautilus.spec
@@ -8,7 +8,7 @@
Name: nautilus
Version: 3.28.1
-Release: 9%{?dist}
+Release: 12%{?dist}
Summary: File manager for GNOME
License: GPLv3+
@@ -33,6 +33,22 @@ Patch14: add-desktop-icons-rename.patch
Patch15: remove-nfs-support-strings.patch
Patch16: fix-criticals-when-connecting-to-remote-locations.patch
Patch17: man-remove-geometry-option.patch
+Patch18: org.gnome.Nautilus.appdata.xml.in.in-No-screenshots-.patch
+Patch19: data-Fix-caption-capitalisation-in-appdata-file.patch
+Patch20: window-Add-website-link-to-About-dialog.patch
+Patch21: appdata-Use-Files-instead-of-Nautilus.patch
+Patch22: docs-Add-nautilus-autorun-software-man-page.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1721133
+Patch23: window-Fix-criticals-when-moving-file-to-trash.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1721124
+Patch24: properties-window-Fix-criticals-when-closing.patch
+Patch25: properties-window-Fix-crashes-when-cancelled.patch
+Patch26: properties-window-Fix-crashes-when-opened-multiple-t.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1646352
+Patch27: search-engine-tracker-Do-not-lose-filename-results-d.patch
BuildRequires: gtk-doc
BuildRequires: meson
@@ -125,6 +141,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/*/apps/org.gnome.Nautilus.png
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Nautilus-symbolic.svg
%{_mandir}/man1/nautilus.1*
+%{_mandir}/man1/nautilus-autorun-software.1*
%{_datadir}/glib-2.0/schemas/org.gnome.nautilus.gschema.xml
%{_datadir}/metainfo/org.gnome.Nautilus.appdata.xml
%dir %{_libdir}/nautilus
@@ -145,6 +162,19 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%{_datadir}/gir-1.0/*.gir
%changelog
+* Mon Dec 9 2019 Ondrej Holy - 3.28.1-12
+- Do not lose filename results due to stop words (rhbz#1646352)
+
+* Thu Sep 26 2019 Ondrej Holy - 3.28.1-11
+- Fix criticals when moving file to trash (rhbz#1721133)
+- Fix criticals when closing properties window (rhbz#1721124)
+
+* Thu Jul 4 2019 Ondrej Holy - 3.28.1-10
+- Add screenshots for GNOME Software in Appdata file (rhbz#1725107)
+- Add website link to About dialog (rhbz#1725101)
+- Use Files instead of Nautilus in Appdata file (rhbz#1725120)
+- Add nautilus-autorun-software man page (rhbz#1725766)
+
* Fri May 31 2019 Ondrej Holy - 3.28.1-9
- Fix criticals when connecting to remote locations (rhbz#1643175)
- Remove geometry option from man page (rhbz#1612852)