From 0244b8eef464ec80d037cda57e6d8a46166dc78b Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Fri, 10 Jan 2025 14:08:47 +0100 Subject: [PATCH] Backport patch for permissions restore Indicate bundle of GVDB Resolves: RHEL-71949 --- dconf-0.40.0-permissions.patch | 31 +++++++++++++++++++++++++++++++ dconf.spec | 11 ++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 dconf-0.40.0-permissions.patch diff --git a/dconf-0.40.0-permissions.patch b/dconf-0.40.0-permissions.patch new file mode 100644 index 0000000..151b790 --- /dev/null +++ b/dconf-0.40.0-permissions.patch @@ -0,0 +1,31 @@ +--- a/gvdb/gvdb-builder.c ++++ b/gvdb/gvdb-builder.c +@@ -21,6 +21,7 @@ + #include "gvdb-format.h" + + #include ++#include + #include + #if !defined(G_OS_WIN32) || !defined(_MSC_VER) + #include +@@ -509,13 +510,20 @@ gvdb_table_write_contents (GHashTable *table, + gboolean status; + FileBuilder *fb; + GString *str; ++ GStatBuf buf; ++ gint stat_ret; + + fb = file_builder_new (byteswap); + file_builder_add_hash (fb, table, &root); + str = file_builder_serialise (fb, root); + ++ stat_ret = g_stat (filename, &buf); ++ + status = g_file_set_contents (filename, str->str, str->len, error); + g_string_free (str, TRUE); + ++ if (stat_ret == 0) ++ g_chmod (filename, buf.st_mode); ++ + return status; + } diff --git a/dconf.spec b/dconf.spec index 6ec6d1f..e1365a2 100644 --- a/dconf.spec +++ b/dconf.spec @@ -2,7 +2,7 @@ Name: dconf Version: 0.40.0 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A configuration system License: LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later @@ -11,6 +11,7 @@ Source0: https://download.gnome.org/sources/dconf/0.40/dconf-%{version}.t Patch1: dconf-override.patch Patch2: dconf-0.40.0-tests-profile.patch +Patch3: dconf-0.40.0-permissions.patch BuildRequires: bash-completion BuildRequires: dbus-devel @@ -25,6 +26,9 @@ BuildRequires: vala Requires: dbus Requires: glib2%{?_isa} >= %{glib2_version} +# gvdb code is intended to be copy-pasted into projects +Provides: bundled(gvdb) + %description dconf is a low-level configuration system. Its main purpose is to provide a backend to the GSettings API in GLib. @@ -105,6 +109,11 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dconf/db/distro.d/locks %{_datadir}/vala %changelog +* Fri Jan 10 2025 Marek Kasik - 0.40.0-16 +- Backport patch for permissions restore +- Indicate bundle of GVDB +- Resolves: RHEL-71949 + * Wed Nov 20 2024 Marek Kasik - 0.40.0-15 - Do not use system profile for tests - Resolves: RHEL-65653