Hello community,

here is the log from the commit of package gconf2 for openSUSE:Factory checked 
in at 2016-04-22 16:16:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gconf2 (Old)
 and      /work/SRC/openSUSE:Factory/.gconf2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gconf2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gconf2/gconf2.changes    2014-11-13 
09:16:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gconf2.new/gconf2.changes       2016-04-22 
16:16:45.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 14 20:29:11 UTC 2016 - [email protected]
+
+- Add gconf2-fdatasync.patch: call fdatasync rather than fsync,
+  and only if not installing (bsc#909045).
+
+-------------------------------------------------------------------

New:
----
  gconf2-fdatasync.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gconf2.spec ++++++
--- /var/tmp/diff_new_pack.E4Dhqy/_old  2016-04-22 16:16:46.000000000 +0200
+++ /var/tmp/diff_new_pack.E4Dhqy/_new  2016-04-22 16:16:46.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gconf2
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -49,6 +49,8 @@
 Patch5:         gconf2-pk-default-path.patch
 # PATCH-FIX-UPSTREAM gconf2-pass-warning-to-caller.patch bnc#872110 
[email protected]
 Patch6:         gconf2-pass-warning-to-caller.patch
+# PATCH-FIX-OPENSUSE gconf2-fdatasync.patch [email protected] bsc#909045 -- Use 
fdatasync instead of fsync, and only if not installing
+Patch7:         gconf2-fdatasync.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Recommends:     %{name}-lang = %{version}
 # gconf-sanity-check was dropped by upstream in GConf 3.2.6
@@ -100,6 +102,7 @@
 %patch4
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
 cp -a %{S:1} %{S:2} .
 
 %build

++++++ gconf2-fdatasync.patch ++++++
diff -ur *6.orig/backends/markup-tree.c GConf-3.2.6/backends/markup-tree.c
--- *6.orig/backends/markup-tree.c      2011-08-15 21:59:31.000000000 -0500
+++ GConf-3.2.6/backends/markup-tree.c  2015-01-02 16:04:16.479034791 -0600
@@ -4350,6 +4350,12 @@
   return dir->is_dir_empty;
 }
 
+static gboolean
+install_in_progress ()
+{
+  return (g_strcmp0 (getenv ("YAST_IS_RUNNING"), "instsys") == 0);
+}
+
 static void
 save_tree_with_locale (MarkupDir  *dir,
                       gboolean    save_as_subtree,
@@ -4398,7 +4404,8 @@
    */
   if (dir->entries == NULL && (!save_as_subtree || dir->subdirs == NULL))
     {
-      fsync (new_fd);
+      if (!install_in_progress ())
+        fdatasync (new_fd);
       close (new_fd);
       new_fd = -1;
       goto done_writing;
@@ -4479,7 +4486,7 @@
       goto done_writing;
     }
 
-  if (fflush (f) != 0 || fsync (fileno (f)) < 0)
+  if (fflush (f) != 0 || (!install_in_progress () && fdatasync (fileno (f)) < 
0))
     {
       gconf_log (GCL_WARNING,
                  _("Could not flush file '%s' to disk: %s"),
diff -ur *6.orig/backends/xml-dir.c GConf-3.2.6/backends/xml-dir.c
--- *6.orig/backends/xml-dir.c  2011-08-15 21:59:31.000000000 -0500
+++ GConf-3.2.6/backends/xml-dir.c      2015-01-02 16:04:16.480034791 -0600
@@ -383,7 +383,7 @@
   
 #ifdef HAVE_FSYNC
   /* sync kernel-space buffers to disk */
-  if (fsync (fd) == -1)
+  if (g_strcmp0 (getenv ("YAST_IS_RUNNING"), "instsys")  && fdatasync (fd) == 
-1)
     return -1;
 #endif
 
diff -ur *6.orig/gconf/gconfd.c GConf-3.2.6/gconf/gconfd.c
--- *6.orig/gconf/gconfd.c      2012-04-25 20:12:49.000000000 -0500
+++ GConf-3.2.6/gconf/gconfd.c  2015-01-02 16:04:16.481034791 -0600
@@ -1878,7 +1878,7 @@
       goto out;
     }
 
-  if (fsync (fd) < 0)
+  if (g_strcmp0 (getenv ("YAST_IS_RUNNING"), "instsys") && fdatasync (fd) < 0)
     {
       gconf_log (GCL_WARNING,
                  _("Could not flush saved state file '%s' to disk: %s"),

Reply via email to