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 <xiaoguang.w...@suse.com>
+
+- 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 <h...@novell.com>
@@ -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;
 +}
 +

Reply via email to