From f4801b5efcf76a9352fcbbe60f1aeb53c2f83dc6 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 9 Aug 2017 19:24:29 +0200 Subject: [PATCH] + gnome-desktop3-3.25.90-1 Update to 3.25.90 --- .gitignore | 1 + ...op-3.25.90-thumbnailer-sandbox-fixes.patch | 155 ++++++++++++++++++ gnome-desktop3.spec | 14 +- sources | 2 +- 4 files changed, 167 insertions(+), 5 deletions(-) create mode 100644 gnome-desktop-3.25.90-thumbnailer-sandbox-fixes.patch diff --git a/.gitignore b/.gitignore index 34c626e..60a0ad5 100644 --- a/.gitignore +++ b/.gitignore @@ -123,3 +123,4 @@ gnome-desktop-2.90.4.tar.bz2 /gnome-desktop-3.25.2.tar.xz /gnome-desktop-3.25.3.tar.xz /gnome-desktop-3.25.4.tar.xz +/gnome-desktop-3.25.90.tar.xz diff --git a/gnome-desktop-3.25.90-thumbnailer-sandbox-fixes.patch b/gnome-desktop-3.25.90-thumbnailer-sandbox-fixes.patch new file mode 100644 index 0000000..8b529a0 --- /dev/null +++ b/gnome-desktop-3.25.90-thumbnailer-sandbox-fixes.patch @@ -0,0 +1,155 @@ +From b5a674a757d4ad934eb505f4e3c50ee1180f3693 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 8 Aug 2017 19:12:51 +0200 +Subject: [PATCH 1/3] thumbnail: Don't crash if the thumbnailer could not be + setup + +script_exec_new() can fail in certain cases, and we should not crash +when trying to expand the script command later if the initial setup +failed. + +https://bugzilla.gnome.org/show_bug.cgi?id=785963 +--- + libgnome-desktop/gnome-desktop-thumbnail-script.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libgnome-desktop/gnome-desktop-thumbnail-script.c b/libgnome-desktop/gnome-desktop-thumbnail-script.c +index 5a5f05f4..d9437d40 100644 +--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c ++++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c +@@ -657,6 +657,9 @@ child_setup (gpointer user_data) + static void + script_exec_free (ScriptExec *exec) + { ++ if (exec == NULL) ++ return; ++ + g_free (exec->infile); + if (exec->outfile) + { +@@ -757,6 +760,8 @@ gnome_desktop_thumbnail_script_exec (const char *cmd, + ScriptExec *exec; + + exec = script_exec_new (uri); ++ if (!exec) ++ goto out; + expanded_script = expand_thumbnailing_cmd (cmd, exec, size, error); + if (expanded_script == NULL) + goto out; +-- +2.13.4 + + +From 99df9a83a36882d8a666176d9452283ae065d014 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 8 Aug 2017 19:14:09 +0200 +Subject: [PATCH 2/3] thumbnail: Report errors when script_exec_new() fails + +Makes it easier to debug. + +https://bugzilla.gnome.org/show_bug.cgi?id=785963 +--- + libgnome-desktop/gnome-desktop-thumbnail-script.c | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/libgnome-desktop/gnome-desktop-thumbnail-script.c b/libgnome-desktop/gnome-desktop-thumbnail-script.c +index d9437d40..1012efa8 100644 +--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c ++++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c +@@ -687,7 +687,8 @@ clear_fd (gpointer data) + } + + static ScriptExec * +-script_exec_new (const char *uri) ++script_exec_new (const char *uri, ++ GError **error) + { + ScriptExec *exec; + g_autoptr(GFile) file = NULL; +@@ -705,7 +706,11 @@ script_exec_new (const char *uri) + + exec->infile = g_file_get_path (file); + if (!exec->infile) +- goto bail; ++ { ++ g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND, ++ "Could not get path for URI '%s'", uri); ++ goto bail; ++ } + + #ifdef HAVE_BWRAP + if (exec->sandbox) +@@ -719,7 +724,11 @@ script_exec_new (const char *uri) + tmpl = g_strdup ("/tmp/gnome-desktop-thumbnailer-XXXXXX"); + exec->outdir = g_mkdtemp (tmpl); + if (!exec->outdir) +- goto bail; ++ { ++ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, ++ "Could not create temporary sandbox directory"); ++ goto bail; ++ } + exec->outfile = g_build_filename (exec->outdir, "gnome-desktop-thumbnailer.png", NULL); + + ext = get_extension (exec->infile); +@@ -732,7 +741,7 @@ script_exec_new (const char *uri) + int fd; + g_autofree char *tmpname = NULL; + +- fd = g_file_open_tmp (".gnome_desktop_thumbnail.XXXXXX", &tmpname, NULL); ++ fd = g_file_open_tmp (".gnome_desktop_thumbnail.XXXXXX", &tmpname, error); + if (fd == -1) + goto bail; + close (fd); +@@ -759,7 +768,7 @@ gnome_desktop_thumbnail_script_exec (const char *cmd, + GBytes *image = NULL; + ScriptExec *exec; + +- exec = script_exec_new (uri); ++ exec = script_exec_new (uri, error); + if (!exec) + goto out; + expanded_script = expand_thumbnailing_cmd (cmd, exec, size, error); +-- +2.13.4 + + +From f96041679f46ece036d742bde7d78afc67d73519 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 8 Aug 2017 19:20:31 +0200 +Subject: [PATCH 3/3] thumbnail: And print those errors in the debug + +https://bugzilla.gnome.org/show_bug.cgi?id=785963 +--- + libgnome-desktop/gnome-desktop-thumbnail.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c +index 73751f69..866fc7d2 100644 +--- a/libgnome-desktop/gnome-desktop-thumbnail.c ++++ b/libgnome-desktop/gnome-desktop-thumbnail.c +@@ -1066,13 +1066,20 @@ gnome_desktop_thumbnail_factory_generate_thumbnail (GnomeDesktopThumbnailFactory + if (script) + { + GBytes *data; ++ GError *error = NULL; + +- data = gnome_desktop_thumbnail_script_exec (script, size, uri, NULL); ++ data = gnome_desktop_thumbnail_script_exec (script, size, uri, &error); + if (data) + { + pixbuf = pixbuf_new_from_bytes (data, NULL); + g_bytes_unref (data); + } ++ else ++ { ++ g_debug ("Thumbnail script ('%s') failed for '%s': %s", ++ script, uri, error ? error->message : "no details"); ++ g_clear_error (&error); ++ } + } + + g_free (script); +-- +2.13.4 + diff --git a/gnome-desktop3.spec b/gnome-desktop3.spec index 3e3f947..88c0652 100644 --- a/gnome-desktop3.spec +++ b/gnome-desktop3.spec @@ -6,14 +6,16 @@ %global po_package gnome-desktop-3.0 Name: gnome-desktop3 -Version: 3.25.4 -Release: 3%{?dist} +Version: 3.25.90 +Release: 1%{?dist} Summary: Shared code among gnome-panel, gnome-session, nautilus, etc License: GPLv2+ and LGPLv2+ URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-desktop/3.25/gnome-desktop-%{version}.tar.xz Patch0: 0001-default-input-sources-Switch-ja_JP-default-to-ibus-k.patch +# Post-release fixes +Patch1: gnome-desktop-3.25.90-thumbnailer-sandbox-fixes.patch BuildRequires: gnome-common BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf2_version} @@ -36,6 +38,7 @@ Requires: glib2%{?_isa} >= %{glib2_version} Requires: gnome-themes-standard # needed for GnomeWallClock Requires: gsettings-desktop-schemas >= %{gsettings_desktop_schemas_version} +Requires: bubblewrap # GnomeIdleMonitor API change breaks older gnome-shell versions Conflicts: gnome-shell < 3.7.90 @@ -70,8 +73,7 @@ The %{name}-tests package contains tests that can be used to verify the functionality of the installed %{name} package. %prep -%setup -q -n gnome-desktop-%{version} -%patch0 -p1 +%autosetup -q -n gnome-desktop-%{version} %build %configure --enable-installed-tests @@ -112,6 +114,10 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_datadir}/installed-tests %changelog +* Wed Aug 09 2017 Bastien Nocera - 3.25.90-1 ++ gnome-desktop3-3.25.90-1 +- Update to 3.25.90 + * Wed Aug 02 2017 Fedora Release Engineering - 3.25.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index a64854b..5ff32a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-desktop-3.25.4.tar.xz) = adbb4df34fcc55113067b8ebcb3987b072afec7cd4adbb978144599af0a85363da3fb2cc2f263be8cda74d41c81258709a6f7adb1518ffb28df9cdad6367858e +SHA512 (gnome-desktop-3.25.90.tar.xz) = f9ed616e7cd13c5eefcc367dca37ac72220a5a32c6a61ca05e1a407e41b20453e3741e04605b9243c6c2b499db18bf7142c32fb49e99a8e4af0ae25c488f9230