Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package accountsservice for openSUSE:Factory
checked in at 2024-06-20 16:46:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/accountsservice (Old)
and /work/SRC/openSUSE:Factory/.accountsservice.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "accountsservice"
Thu Jun 20 16:46:36 2024 rev:90 rq:1181711 version:23.13.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/accountsservice/accountsservice.changes
2024-05-08 11:39:18.723853583 +0200
+++
/work/SRC/openSUSE:Factory/.accountsservice.new.18349/accountsservice.changes
2024-06-20 16:46:41.772567287 +0200
@@ -1,0 +2,6 @@
+Wed Jun 19 01:14:06 UTC 2024 - Xiaoguang Wang <[email protected]>
+
+- Update accountsservice-sysconfig.patch: work with SELinux policy
+ (bsc#1222978).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ accountsservice-sysconfig.patch ++++++
--- /var/tmp/diff_new_pack.Co1xjB/_old 2024-06-20 16:46:42.332586984 +0200
+++ /var/tmp/diff_new_pack.Co1xjB/_new 2024-06-20 16:46:42.336587124 +0200
@@ -101,7 +101,7 @@
===================================================================
--- /dev/null
+++ accountsservice-23.13.9/src/gdm-sysconfig.c
-@@ -0,0 +1,484 @@
+@@ -0,0 +1,509 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Hans Petter Jansson <[email protected]>
@@ -143,6 +143,7 @@
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glib/gstdio.h>
++#include <gio/gio.h>
+
+#include "gdm-sysconfig.h"
+
@@ -196,10 +197,17 @@
+{
+ GIOStatus last_status = G_IO_STATUS_ERROR;
+ GIOChannel *channel = NULL;
-+ gchar *temp_file_name;
++ g_autofree gchar *temp_file_name = NULL;
+ gint i;
++ gchar *path = NULL;
++ g_autofree char *template = NULL;
+
-+ temp_file_name = g_strdup_printf ("%s.new.%u", file_name,
g_random_int ());
++ template = g_strdup_printf ("/run/sysconfig.XXXXXX");
++ path = g_mkdtemp (template);
++ if (path == NULL)
++ goto out;
++
++ temp_file_name = g_strdup_printf ("%s/%s.new",path,
g_path_get_basename(file_name));
+
+ channel = g_io_channel_new_file (temp_file_name, "w", NULL);
+ if (!channel)
@@ -232,10 +240,27 @@
+ g_io_channel_unref (channel);
+ }
+
-+ if (last_status == G_IO_STATUS_NORMAL && g_rename (temp_file_name,
file_name) != 0)
++ gboolean result = FALSE;
++ if (last_status == G_IO_STATUS_NORMAL && temp_file_name) {
++ g_autoptr (GFile) old_file =
g_file_new_for_path(temp_file_name);
++ g_autoptr (GFile) new_file = g_file_new_for_path(file_name);
++ g_remove(file_name);
++ result = g_file_move (old_file,
++ new_file,
++ G_FILE_COPY_OVERWRITE,
++ NULL,
++ NULL,
++ NULL,
++ NULL);
++ }
++
++ if (last_status == G_IO_STATUS_NORMAL && !result)
+ last_status = G_IO_STATUS_ERROR;
+
-+ g_free (temp_file_name);
++ if (path) {
++ g_rmdir(path);
++ }
++
+ return last_status == G_IO_STATUS_NORMAL ? TRUE : FALSE;
+}
+