diff --git a/0b4d331b-secmodel-caps.patch b/0b4d331b-secmodel-caps.patch deleted file mode 100644 index 1d9ded6..0000000 --- a/0b4d331b-secmodel-caps.patch +++ /dev/null @@ -1,324 +0,0 @@ -From 0b4d331b24f3b36d61e24e8cea62971d28855ff8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Thu, 12 Jun 2014 10:50:50 +0200 -Subject: [PATCH] Add API to get security models from host capabilities - ---- - libvirt-gconfig/Makefile.am | 2 + - .../libvirt-gconfig-capabilities-host-secmodel.c | 62 +++++++++++++++++++ - .../libvirt-gconfig-capabilities-host-secmodel.h | 69 ++++++++++++++++++++++ - .../libvirt-gconfig-capabilities-host.c | 60 +++++++++++++++++++ - .../libvirt-gconfig-capabilities-host.h | 3 + - libvirt-gconfig/libvirt-gconfig.h | 1 + - libvirt-gconfig/libvirt-gconfig.sym | 6 ++ - libvirt-gconfig/tests/test-capabilities-parse.c | 15 ++++- - libvirt-gconfig/tests/test-capabilities-parse.xml | 4 ++ - 9 files changed, 221 insertions(+), 1 deletion(-) - create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c - create mode 100644 libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h - -Index: libvirt-glib-0.1.8/libvirt-gconfig/Makefile.am -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/Makefile.am -+++ libvirt-glib-0.1.8/libvirt-gconfig/Makefile.am -@@ -20,6 +20,7 @@ GCONFIG_HEADER_FILES = \ - libvirt-gconfig-capabilities-guest-arch.h \ - libvirt-gconfig-capabilities-guest-domain.h \ - libvirt-gconfig-capabilities-guest-feature.h \ -+ libvirt-gconfig-capabilities-host-secmodel.h \ - libvirt-gconfig-domain.h \ - libvirt-gconfig-domain-address.h \ - libvirt-gconfig-domain-address-pci.h \ -@@ -106,6 +107,7 @@ GCONFIG_SOURCE_FILES = \ - libvirt-gconfig-capabilities-guest-arch.c \ - libvirt-gconfig-capabilities-guest-domain.c \ - libvirt-gconfig-capabilities-guest-feature.c \ -+ libvirt-gconfig-capabilities-host-secmodel.c \ - libvirt-gconfig-domain.c \ - libvirt-gconfig-domain-address.c \ - libvirt-gconfig-domain-address-pci.c \ -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c -=================================================================== ---- /dev/null -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.c -@@ -0,0 +1,62 @@ -+/* -+ * libvirt-gconfig-capabilities-host-secmodel.c: libvirt security model capabilities -+ * -+ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library. If not, see -+ * . -+ * -+ * Authors: Cédric Bosdonnat -+ */ -+ -+#include -+ -+#include "libvirt-gconfig/libvirt-gconfig.h" -+#include "libvirt-gconfig/libvirt-gconfig-private.h" -+ -+#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_PRIVATE(obj) \ -+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelPrivate)) -+ -+struct _GVirConfigCapabilitiesHostSecModelPrivate -+{ -+ gboolean unused; -+}; -+ -+G_DEFINE_TYPE(GVirConfigCapabilitiesHostSecModel, gvir_config_capabilities_host_secmodel, GVIR_CONFIG_TYPE_OBJECT); -+ -+static void gvir_config_capabilities_host_secmodel_class_init(GVirConfigCapabilitiesHostSecModelClass *klass) -+{ -+ g_type_class_add_private(klass, sizeof(GVirConfigCapabilitiesHostSecModelPrivate)); -+} -+ -+static void gvir_config_capabilities_host_secmodel_init(GVirConfigCapabilitiesHostSecModel *secmodel) -+{ -+ g_debug("Init GVirConfigCapabilitiesHostSecModel=%p", secmodel); -+ -+ secmodel->priv = GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_PRIVATE(secmodel); -+} -+ -+const gchar * -+gvir_config_capabilities_host_secmodel_get_model(GVirConfigCapabilitiesHostSecModel *secmodel) -+{ -+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(secmodel), -+ "model"); -+} -+ -+const gchar * -+gvir_config_capabilities_host_secmodel_get_doi(GVirConfigCapabilitiesHostSecModel *secmodel) -+{ -+ return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(secmodel), -+ "doi"); -+} -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h -=================================================================== ---- /dev/null -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host-secmodel.h -@@ -0,0 +1,69 @@ -+/* -+ * libvirt-gconfig-capabilities-host-secmodel.h: libvirt security model capabilities -+ * -+ * Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library. If not, see -+ * . -+ * -+ * Authors: Cédric Bosdonnat -+ */ -+ -+#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) -+#error "Only can be included directly." -+#endif -+ -+#ifndef __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ -+#define __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ -+ -+G_BEGIN_DECLS -+ -+#define GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL (gvir_config_capabilities_host_secmodel_get_type ()) -+#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModel)) -+#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelClass)) -+#define GVIR_CONFIG_IS_CAPABILITIES_HOST_SECMODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL)) -+#define GVIR_CONFIG_IS_CAPABILITIES_HOST_SECMODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL)) -+#define GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL, GVirConfigCapabilitiesHostSecModelClass)) -+ -+typedef struct _GVirConfigCapabilitiesHostSecModel GVirConfigCapabilitiesHostSecModel; -+typedef struct _GVirConfigCapabilitiesHostSecModelPrivate GVirConfigCapabilitiesHostSecModelPrivate; -+typedef struct _GVirConfigCapabilitiesHostSecModelClass GVirConfigCapabilitiesHostSecModelClass; -+ -+struct _GVirConfigCapabilitiesHostSecModel -+{ -+ GVirConfigObject parent; -+ -+ GVirConfigCapabilitiesHostSecModelPrivate *priv; -+ -+ /* Do not add fields to this struct */ -+}; -+ -+struct _GVirConfigCapabilitiesHostSecModelClass -+{ -+ GVirConfigObjectClass parent_class; -+ -+ gpointer padding[20]; -+}; -+ -+GType gvir_config_capabilities_host_secmodel_get_type(void); -+ -+const gchar * -+gvir_config_capabilities_host_secmodel_get_model(GVirConfigCapabilitiesHostSecModel *secmodel); -+ -+const gchar * -+gvir_config_capabilities_host_secmodel_get_doi(GVirConfigCapabilitiesHostSecModel *secmodel); -+ -+G_END_DECLS -+ -+#endif /* __LIBVIRT_GCONFIG_CAPABILITIES_HOST_SECMODEL_H__ */ -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig-capabilities-host.c -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.c -@@ -77,3 +77,63 @@ gvir_config_capabilities_host_get_cpu(GV - - return GVIR_CONFIG_CAPABILITIES_CPU(object); - } -+ -+struct GetSecModelData { -+ GVirConfigXmlDoc *doc; -+ const gchar *schema; -+ GList *secmodels; -+ GType type; -+}; -+ -+static gboolean add_secmodel(xmlNodePtr node, gpointer opaque) -+{ -+ struct GetSecModelData* data = (struct GetSecModelData*)opaque; -+ GVirConfigObject *secmodel; -+ -+ if (g_strcmp0((const gchar *)node->name, "secmodel") != 0) -+ return TRUE; -+ -+ secmodel = gvir_config_object_new_from_tree -+ (data->type, -+ data->doc, -+ data->schema, -+ node); -+ if (secmodel != NULL) -+ data->secmodels = g_list_append(data->secmodels, secmodel); -+ else -+ g_debug("Failed to parse %s node", node->name); -+ -+ return TRUE; -+} -+ -+/** -+ * gvir_config_capabilities_host_get_secmodels: -+ * @host: a #GVirConfigCapabilitiesHost -+ * -+ * Get the security models listed in @host capabilities. -+ * -+ * Returns: (element-type LibvirtGConfig.CapabilitiesHostSecModel) (transfer full): -+ * a newly allocated #GList of #GVirConfigCapabilitiesHostSecModel. -+ */ -+GList * -+gvir_config_capabilities_host_get_secmodels(GVirConfigCapabilitiesHost *host) -+{ -+ struct GetSecModelData data; -+ -+ g_return_val_if_fail(GVIR_CONFIG_IS_CAPABILITIES_HOST(host), NULL); -+ -+ data.schema = gvir_config_object_get_schema(GVIR_CONFIG_OBJECT(host)); -+ g_object_get(G_OBJECT(host), "doc", &data.doc, NULL); -+ g_return_val_if_fail(data.doc != NULL, NULL); -+ data.secmodels = NULL; -+ data.type = GVIR_CONFIG_TYPE_CAPABILITIES_HOST_SECMODEL; -+ -+ gvir_config_object_foreach_child(GVIR_CONFIG_OBJECT(host), -+ NULL, -+ add_secmodel, -+ &data); -+ -+ g_clear_object(&data.doc); -+ -+ return data.secmodels; -+} -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.h -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig-capabilities-host.h -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig-capabilities-host.h -@@ -67,6 +67,9 @@ gvir_config_capabilities_host_get_uuid(G - GVirConfigCapabilitiesCpu * - gvir_config_capabilities_host_get_cpu(GVirConfigCapabilitiesHost *host); - -+GList * -+gvir_config_capabilities_host_get_secmodels(GVirConfigCapabilitiesHost *host); -+ - G_END_DECLS - - #endif /* __LIBVIRT_GCONFIG_CAPABILITIES_HOST_H__ */ -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.h -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig.h -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.h -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - #include - #include - #include -Index: libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.sym -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/libvirt-gconfig.sym -+++ libvirt-glib-0.1.8/libvirt-gconfig/libvirt-gconfig.sym -@@ -614,6 +614,12 @@ LIBVIRT_GCONFIG_0.1.7 { - - LIBVIRT_GCONFIG_0.1.8 { - global: -+ gvir_config_capabilities_host_get_secmodels; -+ -+ gvir_config_capabilities_host_secmodel_get_doi; -+ gvir_config_capabilities_host_secmodel_get_model; -+ gvir_config_capabilities_host_secmodel_get_type; -+ - gvir_config_domain_clock_get_offset; - gvir_config_domain_clock_get_timezone; - gvir_config_domain_clock_get_variable_offset; -Index: libvirt-glib-0.1.8/libvirt-gconfig/tests/test-capabilities-parse.c -=================================================================== ---- libvirt-glib-0.1.8.orig/libvirt-gconfig/tests/test-capabilities-parse.c -+++ libvirt-glib-0.1.8/libvirt-gconfig/tests/test-capabilities-parse.c -@@ -35,7 +35,7 @@ static void verify_host_caps(GVirConfigC - { - GVirConfigCapabilitiesCpu *cpu_caps; - GVirConfigCapabilitiesCpuTopology *topology; -- GList *features, *iter; -+ GList *features, *iter, *secmodels; - const char *str; - - g_assert(host_caps != NULL); -@@ -60,6 +60,19 @@ static void verify_host_caps(GVirConfigC - g_assert(gvir_config_capabilities_cpu_topology_get_threads(topology) == 2); - g_object_unref(G_OBJECT(topology)); - g_object_unref(G_OBJECT(cpu_caps)); -+ -+ secmodels = gvir_config_capabilities_host_get_secmodels(host_caps); -+ g_assert(g_list_length(secmodels) == 2); -+ for (iter = secmodels; iter != NULL; iter = iter->next) { -+ GVirConfigCapabilitiesHostSecModel *secmodel; -+ -+ g_assert(iter->data != NULL); -+ secmodel = GVIR_CONFIG_CAPABILITIES_HOST_SECMODEL(iter->data); -+ g_assert(gvir_config_capabilities_host_secmodel_get_model(secmodel) != NULL); -+ g_assert(gvir_config_capabilities_host_secmodel_get_doi(secmodel) != NULL); -+ g_object_unref(G_OBJECT(iter->data)); -+ } -+ g_list_free(secmodels); - } - - static void verify_guest_caps(GVirConfigCapabilitiesGuest *guest_caps) diff --git a/libvirt-glib-0.1.8.tar.gz b/libvirt-glib-0.1.8.tar.gz deleted file mode 100644 index 5a35179..0000000 --- a/libvirt-glib-0.1.8.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da0e45952dbe1d5d9fde4f845f3a10763e7fed0b1e45906a46fdb74b777aa751 -size 800459 diff --git a/libvirt-glib-0.1.9.tar.gz b/libvirt-glib-0.1.9.tar.gz new file mode 100644 index 0000000..a8d15b4 --- /dev/null +++ b/libvirt-glib-0.1.9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053b36260ea70d740e27fe99ac67d714d23cf93d563c3342fa00593ec185a958 +size 830344 diff --git a/libvirt-glib.changes b/libvirt-glib.changes index 4f835bc..00bc821 100644 --- a/libvirt-glib.changes +++ b/libvirt-glib.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Aug 20 17:00:18 UTC 2014 - zaitor@opensuse.org + +- Update to version 0.1.9: + + Add support for spiceport chardev. + + Misc fixes to build system. + + Fix ref counting of snapshot devices. + + Add API for deleting snapshots. + + Fix RPM layout for vala files. + + Fix race in build of vala code. + + Add API for getting security models. + + Add classes for dealing with CPU models. + + Fix enum generation. + + Add API for fetching snapshots. +- Drop 0b4d331b-secmodel-caps.patch: Fixed upstream. + ------------------------------------------------------------------- Wed Jun 25 13:11:14 UTC 2014 - cbosdonnat@suse.com diff --git a/libvirt-glib.spec b/libvirt-glib.spec index 92ef93d..841b6ff 100644 --- a/libvirt-glib.spec +++ b/libvirt-glib.spec @@ -18,24 +18,20 @@ Name: libvirt-glib -Version: 0.1.8 +Version: 0.1.9 Release: 0 Summary: GLib and GObject mapping of libvirt License: LGPL-2.1+ Group: System/Libraries Url: http://libvirt.org Source: http://libvirt.org/sources/glib/%{name}-%{version}.tar.gz - -# Upstream patches -Patch0: 0b4d331b-secmodel-caps.patch - BuildRequires: intltool >= 0.35.0 BuildRequires: libtool BuildRequires: vala -BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.36.0 BuildRequires: pkgconfig(gobject-2.0) >= 2.10.0 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10.8 -BuildRequires: pkgconfig(gthread-2.0) >= 2.22.0 +BuildRequires: pkgconfig(gthread-2.0) >= 2.36.0 BuildRequires: pkgconfig(libvirt) >= 0.10.2 BuildRequires: pkgconfig(libxml-2.0) >= 2.0.0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -126,7 +122,6 @@ should be able to integrate other virtualization mechanisms if needed %prep %setup -q -%patch0 -p1 %build %configure --disable-static