Hello community,

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

Package is "libvirt"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes  2014-05-23 
08:08:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes     2014-06-01 
19:40:55.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May 28 12:42:34 UTC 2014 - [email protected]
+
+- Fix the build breakers brought by libselinux 2.3.
+  libselinux-build-fix.patch
+
+-------------------------------------------------------------------

New:
----
  libselinux-build-fix.patch

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

Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.YDOcLM/_old  2014-06-01 19:40:56.000000000 +0200
+++ /var/tmp/diff_new_pack.YDOcLM/_new  2014-06-01 19:40:56.000000000 +0200
@@ -439,6 +439,7 @@
 Patch101:       ia64-clone.patch
 Patch102:       xen-pv-cdrom.patch
 Patch103:       add-nocow-to-vol-xml.patch
+Patch104:       libselinux-build-fix.patch
 # pending review upstream patches
 Patch150:       libxl-migration-support.patch
 # Our patches
@@ -962,6 +963,7 @@
 %patch101 -p1
 %patch102 -p1
 %patch103 -p1
+%patch104 -p1
 %patch150 -p1
 %patch200 -p1
 %patch201 -p1

++++++ libselinux-build-fix.patch ++++++
diff --git a/m4/virt-selinux.m4 b/m4/virt-selinux.m4
index 003c2a8..d1f0347 100644
--- a/m4/virt-selinux.m4
+++ b/m4/virt-selinux.m4
@@ -28,6 +28,24 @@ AC_DEFUN([LIBVIRT_CHECK_SELINUX],[
     [with_selinux_mount=check])
 
   if test "$with_selinux" = "yes"; then
+  AC_CACHE_CHECK([for selinux setcon parameter type], [gt_cv_setcon_param],
+    [AC_COMPILE_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <selinux/selinux.h>
+
+int setcon(const security_context_t context) {
+    return 0;
+}
+         ]],
+         [[]])],
+         [gt_cv_setcon_param='security_context'],
+         [gt_cv_setcon_param='const char*'])])
+    if test "$gt_cv_setcon_param" = 'const char*'; then
+       AC_DEFINE_UNQUOTED([SELINUX_CTX_CHAR_PTR], 1,
+                          [SELinux uses char * for security context])
+    fi
+
     AC_MSG_CHECKING([SELinux mount point])
     if test "$with_selinux_mount" = "check" || test -z "$with_selinux_mount"; 
then
       if test -d /sys/fs/selinux ; then
diff --git a/tests/securityselinuxhelper.c b/tests/securityselinuxhelper.c
index dbc4c29..af4fae4 100644
--- a/tests/securityselinuxhelper.c
+++ b/tests/securityselinuxhelper.c
@@ -156,7 +156,11 @@ int getpidcon(pid_t pid, security_context_t *context)
     return getpidcon_raw(pid, context);
 }
 
+#ifdef SELINUX_CTX_CHAR_PTR
+int setcon_raw(const char *context)
+#else
 int setcon_raw(security_context_t context)
+#endif
 {
     if (!is_selinux_enabled()) {
         errno = EINVAL;
@@ -165,13 +169,21 @@ int setcon_raw(security_context_t context)
     return setenv("FAKE_SELINUX_CONTEXT", context, 1);
 }
 
+#ifdef SELINUX_CTX_CHAR_PTR
+int setcon(const char *context)
+#else
 int setcon(security_context_t context)
+#endif
 {
     return setcon_raw(context);
 }
 
 
+#ifdef SELINUX_CTX_CHAR_PTR
+int setfilecon_raw(const char *path, const char *con)
+#else
 int setfilecon_raw(const char *path, security_context_t con)
+#endif
 {
     const char *constr = con;
     if (STRPREFIX(path, abs_builddir "/securityselinuxlabeldata/nfs/")) {
@@ -182,7 +194,11 @@ int setfilecon_raw(const char *path, security_context_t 
con)
                     constr, strlen(constr), 0);
 }
 
+#ifdef SELINUX_CTX_CHAR_PTR
+int setfilecon(const char *path, const char *con)
+#else
 int setfilecon(const char *path, security_context_t con)
+#endif
 {
     return setfilecon_raw(path, con);
 }
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to