From 33b4fd62d747f346fc20480484b68f1fda338eaa Mon Sep 17 00:00:00 2001 From: Zhang Peng Date: Tue, 24 Mar 2026 20:59:20 +0800 Subject: [PATCH] tumbler: upgrade 4.20.1 -> 4.21.1 Changelog: https://gitlab.xfce.org/xfce/tumbler/-/tags/tumbler-4.21.1 https://gitlab.xfce.org/xfce/tumbler/-/tags/tumbler-4.21.0 Backport patch for handle case where no plugins gracefully. Signed-off-by: Zhang Peng Signed-off-by: Khem Raj --- ...here-there-are-no-plugins-gracefully.patch | 57 +++++++++++++++++++ .../{tumbler_4.20.1.bb => tumbler_4.21.1.bb} | 25 ++++---- 2 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch rename meta-xfce/recipes-xfce/tumbler/{tumbler_4.20.1.bb => tumbler_4.21.1.bb} (63%) diff --git a/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch new file mode 100644 index 0000000000..3a3eb2fd64 --- /dev/null +++ b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch @@ -0,0 +1,57 @@ +From 95244ee0d1f3184e2c2cae9d33095dc03829b10e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Fri, 20 Feb 2026 17:07:56 +0100 +Subject: [PATCH] Handle cases where there are no plugins gracefully + +Not sure it makes much sense to allow the cache plugin not to be built, +but then again, why not? It could be replaced by a customized +implementation, and it has always been possible not to build it, so we +might as well leave it as it is. + +Fixes: #109 +(cherry picked from commit b4f4db4bfc1a45f0a405c4516e38394a44c90fcf) + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/tumbler/-/commit/95244ee0d1f3184e2c2cae9d33095dc03829b10e] + +Signed-off-by: Zhang Peng +--- + tumbler/tumbler-cache-plugin.c | 5 ++++- + tumblerd/tumbler-registry.c | 7 ++++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/tumbler/tumbler-cache-plugin.c b/tumbler/tumbler-cache-plugin.c +index 50700a3..e308638 100644 +--- a/tumbler/tumbler-cache-plugin.c ++++ b/tumbler/tumbler-cache-plugin.c +@@ -188,7 +188,10 @@ tumbler_cache_plugin_get_default (void) + g_object_add_weak_pointer (G_OBJECT (plugin), (gpointer) &plugin); + + if (!g_type_module_use (G_TYPE_MODULE (plugin))) +- return NULL; ++ { ++ g_object_unref (plugin); ++ return NULL; ++ } + } + + return G_TYPE_MODULE (plugin); +diff --git a/tumblerd/tumbler-registry.c b/tumblerd/tumbler-registry.c +index 705dbc9..b58e831 100644 +--- a/tumblerd/tumbler-registry.c ++++ b/tumblerd/tumbler-registry.c +@@ -534,7 +534,12 @@ tumbler_registry_update_supported (TumblerRegistry *registry) + + /* abort if there are no thumbnailers */ + if (thumbnailers == NULL) +- return; ++ { ++ /* we need NULL-terminated arrays for the _get_supported() dbus call anyway */ ++ registry->uri_schemes = g_new0 (gchar *, 1); ++ registry->mime_types = g_new0 (gchar *, 1); ++ return; ++ } + + /* clear visited flag of all thumbnailers */ + for (lp = thumbnailers; lp != NULL; lp = lp->next) +-- +2.50.0 diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb similarity index 63% rename from meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb rename to meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb index 7a01882d57..7ab4b59416 100644 --- a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb +++ b/meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb @@ -5,23 +5,26 @@ LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "xfce4-dev-tools-native libxfce4util" +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk-doc" + inherit xfce gtk-doc systemd -SRC_URI[sha256sum] = "87b90df8f30144a292d70889e710c8619d8b8803f0e1db3280a4293367a42eae" +SRC_URI += " file://0001-Handle-cases-where-there-are-no-plugins-gracefully.patch" +SRC_URI[sha256sum] = "0f499f79a2a7ee49726a433584dd8a680d514101b72bd1b003360611ce1dc244" INSANE_SKIP:${PN} = "dev-so" PACKAGECONFIG ??= "" -PACKAGECONFIG[cover-thumbnailer] = "--enable-cover-thumbnailer,--disable-cover-thumbnailer,curl gdk-pixbuf" -PACKAGECONFIG[desktop-thumbnailer] = "--enable-desktop-thumbnailer,--disable-desktop-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[font-thumbnailer] = "--enable-font-thumbnailer,--disable-font-thumbnailer,freetype gdk-pixbuf" -PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[jpeg-thumbnailer] = "--enable-jpeg-thumbnailer,--disable-jpeg-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[odf-thumbnailer] = "--enable-odf-thumbnailer,--disable-odf-thumbnailer,gdk-pixbuf libxml2 libgsf" -PACKAGECONFIG[pixbuf-thumbnailer] = "--enable-pixbuf-thumbnailer,--disable-pixbuf-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[poppler-thumbnailer] = "--enable-poppler-thumbnailer,--disable-poppler-thumbnailer,gdk-pixbuf poppler" - -EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen" +PACKAGECONFIG[cover-thumbnailer] = "-Dcover-thumbnailer=enabled,-Dcover-thumbnailer=disabled,curl gdk-pixbuf" +PACKAGECONFIG[desktop-thumbnailer] = "-Ddesktop-thumbnailer=enabled,-Ddesktop-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[font-thumbnailer] = "-Dfont-thumbnailer=enabled,-Dfont-thumbnailer=disabled,freetype gdk-pixbuf" +PACKAGECONFIG[gstreamer-thumbnailer] = "-Dgst-thumbnailer=enabled,-Dgst-thumbnailer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[jpeg-thumbnailer] = "-Djpeg-thumbnailer=enabled,-Djpeg-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[odf-thumbnailer] = "-Dodf-thumbnailer=enabled,-Dodf-thumbnailer=disabled,gdk-pixbuf libxml2 libgsf" +PACKAGECONFIG[pixbuf-thumbnailer] = "-Dpixbuf-thumbnailer=enabled,-Dpixbuf-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[poppler-thumbnailer] = "-Dpoppler-thumbnailer=enabled,-Dpoppler-thumbnailer=disabled,gdk-pixbuf poppler" do_install:append() { # Makefile seems to race on creation of symlink. So ensure creation here