Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/brasero.git#273442c79a20c36f029fb29e98de5399f561ca17
This commit is contained in:
parent
7f5611590a
commit
38c7546851
23
brasero.spec
23
brasero.spec
@ -2,7 +2,7 @@
|
||||
|
||||
Name: brasero
|
||||
Version: 3.12.2
|
||||
Release: 14%{?dist}
|
||||
Release: 15%{?dist}
|
||||
Summary: Gnome CD/DVD burning application
|
||||
|
||||
|
||||
@ -11,6 +11,13 @@ License: GPLv3+
|
||||
URL: https://wiki.gnome.org/Apps/Brasero
|
||||
Source0: https://download.gnome.org/sources/brasero/%{basever}/brasero-%{version}.tar.xz
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/brasero/-/merge_requests/10
|
||||
Patch0: tracker3.patch
|
||||
|
||||
# For patch0
|
||||
BuildRequires: autoconf automake
|
||||
BuildRequires: gnome-common
|
||||
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 0.11.92
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 2.99.0
|
||||
BuildRequires: pkgconfig(ice)
|
||||
@ -22,9 +29,7 @@ BuildRequires: pkgconfig(libnautilus-extension) >= 2.22.2
|
||||
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.0
|
||||
BuildRequires: pkgconfig(sm)
|
||||
BuildRequires: pkgconfig(totem-plparser) >= 2.29.1
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: pkgconfig(tracker-sparql-2.0)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(tracker-sparql-3.0)
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gettext
|
||||
@ -77,16 +82,17 @@ developing brasero applications.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%build
|
||||
# For patch0
|
||||
autoreconf -fi
|
||||
|
||||
%configure \
|
||||
--enable-nautilus \
|
||||
--enable-libburnia \
|
||||
%if 0%{?fedora}
|
||||
--enable-search \
|
||||
%endif
|
||||
--enable-playlist \
|
||||
--enable-preview \
|
||||
--enable-inotify \
|
||||
@ -155,6 +161,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Mar 15 2021 Kalev Lember <klember@redhat.com> - 3.12.2-15
|
||||
- Switch to Tracker 3
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.2-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
|
240
tracker3.patch
Normal file
240
tracker3.patch
Normal file
@ -0,0 +1,240 @@
|
||||
From ca0d487aac3b9cf21e520a00b94cb3eaf833b9a3 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 24 Dec 2020 12:19:49 +0100
|
||||
Subject: [PATCH 1/5] Obtain TrackerSparqlConnection in a single point
|
||||
|
||||
The is_available vmethod tries to create a connection if it's not
|
||||
there. But the BraseroSearchTracker initialization already tries to
|
||||
obtain the SPARQL connection. Let this method return wether
|
||||
initialiation was successful.
|
||||
---
|
||||
src/brasero-search-tracker.c | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c
|
||||
index fe7be2bd..f8c29c0d 100644
|
||||
--- a/src/brasero-search-tracker.c
|
||||
+++ b/src/brasero-search-tracker.c
|
||||
@@ -56,12 +56,6 @@ brasero_search_tracker_is_available (BraseroSearchEngine *engine)
|
||||
BraseroSearchTrackerPrivate *priv;
|
||||
|
||||
priv = BRASERO_SEARCH_TRACKER_PRIVATE (engine);
|
||||
- GError *error = NULL;
|
||||
- if (priv->connection)
|
||||
- return TRUE;
|
||||
-
|
||||
- priv->cancellable = g_cancellable_new ();
|
||||
- priv->connection = tracker_sparql_connection_get (priv->cancellable, &error);
|
||||
return (priv->connection != NULL);
|
||||
}
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From c0dace005ec34b345845aacd1f929fd618b199af Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 24 Dec 2020 12:37:13 +0100
|
||||
Subject: [PATCH 2/5] Fix ORDER BY clauses in Tracker search
|
||||
|
||||
The ?urn variable is not defined anywhere else in the query, so
|
||||
ordering is left undefined. Access the url/filename properly here.
|
||||
---
|
||||
src/brasero-search-tracker.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c
|
||||
index f8c29c0d..94085070 100644
|
||||
--- a/src/brasero-search-tracker.c
|
||||
+++ b/src/brasero-search-tracker.c
|
||||
@@ -307,7 +307,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search,
|
||||
g_string_append (query, ")");
|
||||
|
||||
g_string_append (query,
|
||||
- "} ORDER BY DESC(nie:url(?urn)) DESC(nfo:fileName(?urn))");
|
||||
+ "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))");
|
||||
|
||||
tracker_sparql_connection_query_async (priv->connection,
|
||||
query->str,
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From f7181445bf9c88b7fab1bb5237d602b491694a9e Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 24 Dec 2020 13:04:03 +0100
|
||||
Subject: [PATCH 3/5] Only use fts:rank with FTS searches
|
||||
|
||||
This fixes two things:
|
||||
- The use of fts:match depends on priv->keywords being set, but
|
||||
fts:rank() has undefined behavior if fts:match is not present.
|
||||
Its value is returned in the cursor, but fortunately unused,
|
||||
so it can go away.
|
||||
|
||||
- Fixes "garbage" being added at the end of the query, concretely
|
||||
") } ORDER BY ... " is appended at the supposed end of the query
|
||||
string. Older SPARQL parser implementations would allow garbage
|
||||
at the end of its parsing state, I suspect "LIMIT 0 OFFSET 10000"
|
||||
was just a mean to push it to that state that it'd allow the
|
||||
remaining string, so that is gone too.
|
||||
---
|
||||
src/brasero-search-tracker.c | 21 +++++++++------------
|
||||
1 file changed, 9 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c
|
||||
index 94085070..ae1d388a 100644
|
||||
--- a/src/brasero-search-tracker.c
|
||||
+++ b/src/brasero-search-tracker.c
|
||||
@@ -234,7 +234,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search,
|
||||
|
||||
priv = BRASERO_SEARCH_TRACKER_PRIVATE (search);
|
||||
|
||||
- query = g_string_new ("SELECT ?file ?url ?mime fts:rank(?file) " /* Which variables should be returned */
|
||||
+ query = g_string_new ("SELECT ?file ?url ?mime " /* Which variables should be returned */
|
||||
"WHERE {" /* Start defining the search and its scope */
|
||||
" ?file a nfo:FileDataObject . " /* File must be a file (not a stream, ...) */
|
||||
" ?file nie:url ?url . " /* Get the url of the file */
|
||||
@@ -293,21 +293,18 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search,
|
||||
" ) ");
|
||||
}
|
||||
|
||||
- if (priv->keywords)
|
||||
+ if (priv->keywords) {
|
||||
g_string_append_printf (query,
|
||||
" ?file fts:match \"%s\" ", /* File must match possible keywords */
|
||||
priv->keywords);
|
||||
|
||||
- g_string_append (query,
|
||||
- " } "
|
||||
- "ORDER BY ASC(fts:rank(?file)) "
|
||||
- "OFFSET 0 "
|
||||
- "LIMIT 10000");
|
||||
-
|
||||
- g_string_append (query, ")");
|
||||
-
|
||||
- g_string_append (query,
|
||||
- "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))");
|
||||
+ g_string_append (query,
|
||||
+ " } "
|
||||
+ "ORDER BY ASC(fts:rank(?file))");
|
||||
+ } else {
|
||||
+ g_string_append (query,
|
||||
+ "} ORDER BY DESC(?url) DESC(nfo:fileName(?file))");
|
||||
+ }
|
||||
|
||||
tracker_sparql_connection_query_async (priv->connection,
|
||||
query->str,
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From ede7758e2fae487d57be641a120c4c02bfd249f1 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 24 Dec 2020 13:15:21 +0100
|
||||
Subject: [PATCH 4/5] Observe nfo:FileDataObject/nie:InformationElement split
|
||||
|
||||
These resources are interpreted differently in Tracker 3.0 compared
|
||||
to older versions, the newer version makes those 2 different resources
|
||||
(one representing the "file", other the "content) that relate to each
|
||||
other. In older tracker versions, these 2 aspects were conflated in
|
||||
a single resource.
|
||||
|
||||
The query is implicitly crossing that barrier, so make it explicit.
|
||||
With this change, the query may run with either version.
|
||||
---
|
||||
src/brasero-search-tracker.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c
|
||||
index ae1d388a..9aa06289 100644
|
||||
--- a/src/brasero-search-tracker.c
|
||||
+++ b/src/brasero-search-tracker.c
|
||||
@@ -238,7 +238,8 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search,
|
||||
"WHERE {" /* Start defining the search and its scope */
|
||||
" ?file a nfo:FileDataObject . " /* File must be a file (not a stream, ...) */
|
||||
" ?file nie:url ?url . " /* Get the url of the file */
|
||||
- " ?file nie:mimeType ?mime . "); /* Get its mime */
|
||||
+ " ?file nie:mimeType ?mime . " /* Get its mime */
|
||||
+ " ?content nie:isStoredAs ?file . "); /* Get the resource representing the content */
|
||||
|
||||
if (priv->mimes) {
|
||||
int i;
|
||||
@@ -259,7 +260,7 @@ brasero_search_tracker_query_start_real (BraseroSearchEngine *search,
|
||||
gboolean param_added = FALSE;
|
||||
|
||||
g_string_append (query,
|
||||
- " ?file a ?type . "
|
||||
+ " ?content a ?type . "
|
||||
" FILTER ( ");
|
||||
|
||||
if (priv->scope & BRASERO_SEARCH_SCOPE_MUSIC) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 05589be7da3a0dfb00617df049d129abba703c36 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 24 Dec 2020 13:22:43 +0100
|
||||
Subject: [PATCH 5/5] Support Tracker 3.0
|
||||
|
||||
Add the compile-time checks, and add the minimal code catering for
|
||||
the API changes. In 3.0 connections are no longer singletons.
|
||||
---
|
||||
configure.ac | 6 +++++-
|
||||
src/brasero-search-tracker.c | 8 ++++++++
|
||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d0c7a870..96afc551 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -388,7 +388,7 @@ AC_ARG_ENABLE(search,
|
||||
if test x"$enable_search" != "xno"; then
|
||||
# Try to figure out the tracker API version to use
|
||||
tracker_api="0.10"
|
||||
- m4_foreach([VERSION], [[0.10], [0.12], [0.14], [0.16], [0.18], [1.0], [2.0]],
|
||||
+ m4_foreach([VERSION], [[0.10], [0.12], [0.14], [0.16], [0.18], [1.0], [2.0], [3.0]],
|
||||
[PKG_CHECK_EXISTS([tracker-sparql-VERSION >= $TRACKER_REQUIRED],
|
||||
[tracker_api="VERSION"])
|
||||
])
|
||||
@@ -408,6 +408,10 @@ if test x"$enable_search" = "xyes"; then
|
||||
AC_SUBST(BRASERO_SEARCH_LIBS)
|
||||
build_tracker="yes"
|
||||
build_search="yes"
|
||||
+
|
||||
+ if test x"$tracker_api" = x"3.0"; then
|
||||
+ AC_DEFINE(HAVE_TRACKER3, 1, [define if tracker3 is available])
|
||||
+ fi
|
||||
else
|
||||
build_search="no"
|
||||
fi
|
||||
diff --git a/src/brasero-search-tracker.c b/src/brasero-search-tracker.c
|
||||
index 9aa06289..40c5f1ac 100644
|
||||
--- a/src/brasero-search-tracker.c
|
||||
+++ b/src/brasero-search-tracker.c
|
||||
@@ -17,6 +17,8 @@
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
+#include "config.h"
|
||||
+
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <libtracker-sparql/tracker-sparql.h>
|
||||
@@ -444,7 +446,13 @@ brasero_search_tracker_init (BraseroSearchTracker *object)
|
||||
|
||||
priv = BRASERO_SEARCH_TRACKER_PRIVATE (object);
|
||||
priv->cancellable = g_cancellable_new ();
|
||||
+
|
||||
+#ifdef HAVE_TRACKER3
|
||||
+ priv->connection = tracker_sparql_connection_bus_new ("org.freedesktop.Tracker3.Miner.Files",
|
||||
+ NULL, NULL, &error);
|
||||
+#else
|
||||
priv->connection = tracker_sparql_connection_get (priv->cancellable, &error);
|
||||
+#endif
|
||||
|
||||
if (error) {
|
||||
g_warning ("Could not establish a connection to Tracker: %s", error->message);
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in New Issue
Block a user