Hello community,

here is the log from the commit of package libvirt for openSUSE:Factory checked 
in at 2012-10-19 06:49:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
 and      /work/SRC/openSUSE:Factory/.libvirt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvirt", Maintainer is "jfeh...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes  2012-09-29 
15:33:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes     2012-10-19 
06:50:10.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Oct 11 08:34:36 MDT 2012 - jfeh...@suse.com
+
+- Add upstream patches to support latest libguestfs
+  f644361b-virCommand-env.patch
+  2b32735a-virCommand-env.patch
+
+-------------------------------------------------------------------

New:
----
  2b32735a-virCommand-env.patch
  f644361b-virCommand-env.patch

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

Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.RjDqij/_old  2012-10-19 06:50:14.000000000 +0200
+++ /var/tmp/diff_new_pack.RjDqij/_new  2012-10-19 06:50:14.000000000 +0200
@@ -413,6 +413,8 @@
 # Upstream patches
 Patch0:         371ddc98-xen-sysctl-9.patch
 Patch1:         416eca18-xenstore-header-fix.patch
+Patch2:         f644361b-virCommand-env.patch
+Patch3:         2b32735a-virCommand-env.patch
 # Need to go upstream
 Patch100:       xen-name-for-devid.patch
 Patch101:       clone.patch
@@ -550,6 +552,8 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 %patch100 -p1
 %patch101
 %patch102 -p1

++++++ 2b32735a-virCommand-env.patch ++++++
commit 2b32735af480055e27400068d27364d521071117
Author: Richard W.M. Jones <rjo...@redhat.com>
Date:   Mon Sep 24 17:35:47 2012 +0100

    command: Change virCommandAddEnv so it replaces existing environment 
variables.

Index: libvirt-0.10.2/src/util/command.c
===================================================================
--- libvirt-0.10.2.orig/src/util/command.c
+++ libvirt-0.10.2/src/util/command.c
@@ -985,11 +985,26 @@ virCommandNonblockingFDs(virCommandPtr c
 }
 
 /* Add an environment variable to the cmd->env list.  'env' is a
- * string like "name=value".
+ * string like "name=value".  If the named environment variable is
+ * already set, then it is replaced in the list.
  */
 static inline void
 virCommandAddEnv(virCommandPtr cmd, char *env)
 {
+    size_t namelen;
+    size_t i;
+
+    /* Search for the name in the existing environment. */
+    namelen = strcspn(env, "=");
+    for (i = 0; i < cmd->nenv; ++i) {
+        /* + 1 because we want to match the '=' character too. */
+        if (STREQLEN(cmd->env[i], env, namelen + 1)) {
+            VIR_FREE(cmd->env[i]);
+            cmd->env[i] = env;
+            return;
+        }
+    }
+
     /* Arg plus trailing NULL. */
     if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
         VIR_FREE(env);
++++++ f644361b-virCommand-env.patch ++++++
commit f644361b1eeb78fd59be4cd7ec85567bbf300506
Author: Richard W.M. Jones <rjo...@redhat.com>
Date:   Mon Sep 24 17:30:18 2012 +0100

    command: Move environ-adding code to common function virCommandAddEnv.
    
    This is just code motion.  The semantics of the code should be
    identical after this change.

Index: libvirt-0.10.2/src/util/command.c
===================================================================
--- libvirt-0.10.2.orig/src/util/command.c
+++ libvirt-0.10.2/src/util/command.c
@@ -984,6 +984,22 @@ virCommandNonblockingFDs(virCommandPtr c
     cmd->flags |= VIR_EXEC_NONBLOCK;
 }
 
+/* Add an environment variable to the cmd->env list.  'env' is a
+ * string like "name=value".
+ */
+static inline void
+virCommandAddEnv(virCommandPtr cmd, char *env)
+{
+    /* Arg plus trailing NULL. */
+    if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
+        VIR_FREE(env);
+        cmd->has_error = ENOMEM;
+        return;
+    }
+
+    cmd->env[cmd->nenv++] = env;
+}
+
 /**
  * virCommandAddEnvFormat:
  * @cmd: the command to modify
@@ -1009,14 +1025,7 @@ virCommandAddEnvFormat(virCommandPtr cmd
     }
     va_end(list);
 
-    /* Arg plus trailing NULL. */
-    if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
-        VIR_FREE(env);
-        cmd->has_error = ENOMEM;
-        return;
-    }
-
-    cmd->env[cmd->nenv++] = env;
+    virCommandAddEnv(cmd, env);
 }
 
 /**
@@ -1056,14 +1065,7 @@ virCommandAddEnvString(virCommandPtr cmd
         return;
     }
 
-    /* env plus trailing NULL */
-    if (VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
-        VIR_FREE(env);
-        cmd->has_error = ENOMEM;
-        return;
-    }
-
-    cmd->env[cmd->nenv++] = env;
+    virCommandAddEnv(cmd, env);
 }
 
 
@@ -1084,9 +1086,7 @@ virCommandAddEnvBuffer(virCommandPtr cmd
         return;
     }
 
-    /* env plus trailing NULL. */
-    if (virBufferError(buf) ||
-        VIR_RESIZE_N(cmd->env, cmd->maxenv, cmd->nenv, 1 + 1) < 0) {
+    if (virBufferError(buf)) {
         cmd->has_error = ENOMEM;
         virBufferFreeAndReset(buf);
         return;
@@ -1096,7 +1096,7 @@ virCommandAddEnvBuffer(virCommandPtr cmd
         return;
     }
 
-    cmd->env[cmd->nenv++] = virBufferContentAndReset(buf);
+    virCommandAddEnv(cmd, virBufferContentAndReset(buf));
 }
 
 
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to