diff mbox series

[meta-xfce,10/15] xfconf: upgrade 4.20.0 -> 4.21.2

Message ID 20260323114152.4178269-11-peng.zhang1.cn@windriver.com
State New
Headers show
Series meta-xfce: upgrade core components to 4.21.x and fix cascading build issues | expand

Commit Message

Zhang Peng March 23, 2026, 11:41 a.m. UTC
From: Zhang Peng <peng.zhang1.cn@windriver.com>

4.21.2 (2026-03-16)
======
- Destroy GDBusProxy and GDBusConnection on library shutdown
- Make xfconf_init()/xfconf_shutdown() multithread-safe
- Emit signals on the thread that "owns" the channel or binding
- Revert "Make libxfconf multithread-safe"

4.21.1 (2026-03-13)
======
- Make libxfconf multithread-safe
- I18n: Update po/LINGUAS list
- build: Fix typo in optimization level
- README.md: Add uninstall info
- Update README after switchover to meson
- Update also .gitlab-ci.yml
- Remove autotools build
- common: Fix -Wlogical-op warning
- meson-build: Use configure_file() to generate GNU visibility files
- I18n: Update po/LINGUAS list
- Translation Updates:
  Arabic, Estonian, Georgian, Occitan (post 1500), Polish, Slovenian,
  Thai, Uyghur, Vietnamese

4.21.0 (2025-03-23)
======
- build: Automate copyright year management
- meson-build: Add missing function checks
- meson-build: Use SPDX license expression
- meson-build: Add tests option
- meson-build: Use 'pkgconfig_define' in dep.get_variable()
- meson-build: Use 'dependencies' in cc.alignment()
- meson-build: Update debug/optimization flag management
- meson-build: Add missing gir prefixes
- meson-build: Use path builder and fs instead of literal '/'
- Add meson build
- tests: Always cleanup xfconfd process
- tests: Enable t-list-channels test
- tests: Fix test failure because of xfconfd not running
- Migrate to xdt-gen-visibility and xdt-check-abi
- channel: Complete and harmonize docs of get_string_list()/get_arrayv()
- channel: Warn in case of failure in get_string_list()
- channel: Fix get_arrayv() return value
- Translation Updates:
  Albanian, Slovak

https://gitlab.xfce.org/xfce/xfconf/-/blob/xfconf-4.21.2/NEWS?ref_type=tags

Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
---
 ...gdbus-headers-are-generated-before-i.patch | 114 ++++++++++++++++++
 .../{xfconf_4.20.0.bb => xfconf_4.21.2.bb}    |  12 +-
 2 files changed, 121 insertions(+), 5 deletions(-)
 create mode 100644 meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch
 rename meta-xfce/recipes-xfce/xfconf/{xfconf_4.20.0.bb => xfconf_4.21.2.bb} (64%)
diff mbox series

Patch

diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch b/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch
new file mode 100644
index 0000000000..fa0ea0285a
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch
@@ -0,0 +1,114 @@ 
+From 6fc6e4408ea021ee8a210e691f1a13b807121a3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
+Date: Thu, 19 Mar 2026 18:33:41 +0100
+Subject: [PATCH] build: Make sure gdbus headers are generated before including
+ them
+
+Fixes: #48
+
+Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfconf/-/commit/6fc6e4408ea021ee8a210e691f1a13b807121a3c]
+---
+ .scan-build-false-positives |  2 ++
+ common/meson.build          | 36 +++++++++++++++++++-----------------
+ xfconf/meson.build          |  5 ++++-
+ xfconfd/meson.build         |  1 +
+ 4 files changed, 26 insertions(+), 18 deletions(-)
+
+diff --git a/.scan-build-false-positives b/.scan-build-false-positives
+index d925d3f..7ab5ec6 100644
+--- a/.scan-build-false-positives
++++ b/.scan-build-false-positives
+@@ -1,5 +1,7 @@
+ # gdbus-codegen generated code
+ xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\]
++xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\]
++xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\]
+
+ # gobject-introspection generated code
+ Xfconf-0.c:[0-9]+:[0-9]+: warning: Access to field .+message.+ results in a dereference of a null pointer \(loaded from variable .+error.+\) \[core.NullDereference\]
+diff --git a/common/meson.build b/common/meson.build
+index 08acd5b..fe30c38 100644
+--- a/common/meson.build
++++ b/common/meson.build
+@@ -22,6 +22,24 @@ xfconf_visibility_sources += configure_file(
+   command: [xdt_gen_visibility, '--kind=source', '@INPUT@', '@OUTPUT@'],
+ )
+
++xfconf_dbus_xml = configure_file(
++  configuration: configuration_data({
++    'XFCONF_SERVICE_NAME_PREFIX': xfconf_service_name_prefix,
++    'XFCONF_SERVICE_PATH_PREFIX': xfconf_service_path_prefix,
++  }),
++  input: 'xfconf-dbus.xml.in',
++  output: 'xfconf-dbus.xml',
++)
++
++xfconf_gdbus_sources = gnome.gdbus_codegen(
++  'xfconf-gdbus-bindings',
++  sources: xfconf_dbus_xml,
++  interface_prefix: '@0@.Xfconf'.format(xfconf_service_name_prefix),
++  namespace: 'Xfconf',
++  annotations: ['@0@.Xfconf'.format(xfconf_service_name_prefix), 'org.gtk.GDBus.C.Name', 'Exported'],
++  install_header: false,
++)
++
+ xfconf_common = static_library(
+   'xfconf-common',
+   xfconf_common_sources,
+@@ -61,25 +79,9 @@ xfconf_gvaluefuncs = static_library(
+   install: false,
+ )
+
+-xfconf_dbus_xml = configure_file(
+-  configuration: configuration_data({
+-    'XFCONF_SERVICE_NAME_PREFIX': xfconf_service_name_prefix,
+-    'XFCONF_SERVICE_PATH_PREFIX': xfconf_service_path_prefix,
+-  }),
+-  input: 'xfconf-dbus.xml.in',
+-  output: 'xfconf-dbus.xml',
+-)
+-
+ xfconf_dbus = static_library(
+   'xfconf-dbus',
+-  gnome.gdbus_codegen(
+-    'xfconf-gdbus-bindings',
+-    sources: xfconf_dbus_xml,
+-    interface_prefix: '@0@.Xfconf'.format(xfconf_service_name_prefix),
+-    namespace: 'Xfconf',
+-    annotations: ['@0@.Xfconf'.format(xfconf_service_name_prefix), 'org.gtk.GDBus.C.Name', 'Exported'],
+-    install_header: false,
+-  ),
++  xfconf_gdbus_sources,
+   c_args: [
+     '-DG_LOG_DOMAIN="@0@"'.format('xfconf-common'),
+   ],
+diff --git a/xfconf/meson.build b/xfconf/meson.build
+index e3ecd55..15cafa5 100644
+--- a/xfconf/meson.build
++++ b/xfconf/meson.build
+@@ -39,7 +39,10 @@ xfconf_version = '@0@.0.0'.format(xfconf_so_version)
+ xfconf = library(
+   xfconf_pkgname,
+   xfconf_sources,
+-  sources: xfconf_visibility_sources,
++  sources: [
++    xfconf_visibility_sources,
++    xfconf_gdbus_sources,
++  ],
+   version: xfconf_version,
+   soversion: xfconf_so_version,
+   c_args: [
+diff --git a/xfconfd/meson.build b/xfconfd/meson.build
+index 6e46a58..13e614e 100644
+--- a/xfconfd/meson.build
++++ b/xfconfd/meson.build
+@@ -56,6 +56,7 @@ executable(
+   sources: [
+     xfce_revision_h,
+     xfconf_visibility_sources,
++    xfconf_gdbus_sources,
+   ],
+   c_args: c_args,
+   include_directories: [
+--
+2.50.0
diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb
similarity index 64%
rename from meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb
rename to meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb
index 168bd4d790..fbc0cffccc 100644
--- a/meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb
+++ b/meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb
@@ -5,11 +5,14 @@  LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 DEPENDS = "libxfce4util perl intltool-native xfce4-dev-tools-native"
 
-inherit xfce gtk-doc gobject-introspection bash-completion vala
+XFCE_COMPRESS_TYPE = "xz"
+XFCEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk-doc"
 
-EXTRA_OECONF += "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen"
+inherit xfce gtk-doc gobject-introspection bash-completion vala
 
-SRC_URI[sha256sum] = "8bc43c60f1716b13cf35fc899e2a36ea9c6cdc3478a8f051220eef0f53567efd"
+SRC_URI += "file://0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch"
+SRC_URI[sha256sum] = "99aa4366e909ba7b9f746aba48b610b9e9d2933aeb283c7fa5f37a7c3dc7a3a6"
 
 FILES:${PN} += "${libdir}/xfce4/xfconf/xfconfd \
                 ${libdir}/gio/modules/libxfconfgsettingsbackend.so \
@@ -17,6 +20,5 @@  FILES:${PN} += "${libdir}/xfce4/xfconf/xfconfd \
                 ${systemd_user_unitdir}/xfconfd.service \
                 "
 
-FILES:${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la"
+PACKAGECONFIG[gsettings-backend] = "-Dgsettings-backend=true,-Dgsettings-backend=false,"
 
-PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend,"