[libvirt] [PATCH libvirt-glib 00/15] More misc improvements

This series has three functional improvements - Support for <console> - Support for <memballoon> - Support containers The rest of it is a series of code style cleanups. Finally it adds the 'make syntax-check' capability from gnulib to keep code style clean hereafter

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index ddae5fa..6612445 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -39,7 +39,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-storage-vol.h noinst_HEADERS = \ libvirt-gconfig-helpers-private.h \ - libvirt-gconfig-object-private.h + libvirt-gconfig-object-private.h \ libvirt-gconfig-xml-doc.h GCONFIG_SOURCE_FILES = \ libvirt-gconfig-object.c \ -- 1.7.6.4

On Thu, Dec 01, 2011 at 02:05:29PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index ddae5fa..6612445 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -39,7 +39,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-storage-vol.h noinst_HEADERS = \ libvirt-gconfig-helpers-private.h \ - libvirt-gconfig-object-private.h + libvirt-gconfig-object-private.h \ libvirt-gconfig-xml-doc.h
Oops, ACK Btw, do you think libvirt-gconfig-xml-doc.h should be libvirt-gconfig-xml-doc-private.h for more consistency ? Christophe

On Thu, Dec 01, 2011 at 03:53:05PM +0100, Christophe Fergeau wrote:
On Thu, Dec 01, 2011 at 02:05:29PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index ddae5fa..6612445 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -39,7 +39,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-storage-vol.h noinst_HEADERS = \ libvirt-gconfig-helpers-private.h \ - libvirt-gconfig-object-private.h + libvirt-gconfig-object-private.h \ libvirt-gconfig-xml-doc.h
Oops, ACK Btw, do you think libvirt-gconfig-xml-doc.h should be libvirt-gconfig-xml-doc-private.h for more consistency ?
Could do, but I don't really mind too much Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

From: "Daniel P. Berrange" <berrange@redhat.com> Add an abstract GVirConfigDomainConsole object for <console> devices and an impl GVirConfigDomainConsolePty for the <console type=pty> variant --- libvirt-gconfig/Makefile.am | 4 + .../libvirt-gconfig-domain-console-pty.c | 74 ++++++++++++++++++++ .../libvirt-gconfig-domain-console-pty.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-console.c | 49 +++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-console.h | 64 +++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 2 + libvirt-gconfig/libvirt-gconfig.sym | 8 ++ 7 files changed, 268 insertions(+), 0 deletions(-) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console-pty.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console-pty.h create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console.h diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 6612445..43f719d 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -13,6 +13,8 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-object.h \ libvirt-gconfig-capabilities.h \ libvirt-gconfig-domain.h \ + libvirt-gconfig-domain-console.h \ + libvirt-gconfig-domain-console-pty.h \ libvirt-gconfig-domain-clock.h \ libvirt-gconfig-domain-device.h \ libvirt-gconfig-domain-disk.h \ @@ -46,6 +48,8 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-main.c \ libvirt-gconfig-capabilities.c \ libvirt-gconfig-domain.c \ + libvirt-gconfig-domain-console.c \ + libvirt-gconfig-domain-console-pty.c \ libvirt-gconfig-domain-clock.c \ libvirt-gconfig-domain-device.c \ libvirt-gconfig-domain-disk.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c new file mode 100644 index 0000000..f132d6c --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c @@ -0,0 +1,74 @@ +/* + * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-helpers-private.h" +#include "libvirt-gconfig/libvirt-gconfig-object-private.h" + +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, GVirConfigDomainConsolePtyPrivate)) + +struct _GVirConfigDomainConsolePtyPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainConsolePty, gvir_config_domain_console_pty, GVIR_TYPE_CONFIG_DOMAIN_CONSOLE); + + +static void gvir_config_domain_console_pty_class_init(GVirConfigDomainConsolePtyClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainConsolePtyPrivate)); +} + + +static void gvir_config_domain_console_pty_init(GVirConfigDomainConsolePty *conn) +{ + g_debug("Init GVirConfigDomainConsolePty=%p", conn); + + conn->priv = GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_PRIVATE(conn); +} + + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, + "console", NULL); + gvir_config_object_set_attribute(object, "type", "pty", NULL); + return GVIR_CONFIG_DOMAIN_CONSOLE_PTY(object); +} + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, + "console", NULL, xml, error); + if (object == NULL) + return NULL; + return GVIR_CONFIG_DOMAIN_CONSOLE_PTY(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h new file mode 100644 index 0000000..56640ab --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY (gvir_config_domain_console_pty_get_type ()) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePty)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePtyClass)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_PTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_PTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePtyClass)) + +typedef struct _GVirConfigDomainConsolePty GVirConfigDomainConsolePty; +typedef struct _GVirConfigDomainConsolePtyPrivate GVirConfigDomainConsolePtyPrivate; +typedef struct _GVirConfigDomainConsolePtyClass GVirConfigDomainConsolePtyClass; + +struct _GVirConfigDomainConsolePty +{ + GVirConfigDomainConsole parent; + + GVirConfigDomainConsolePtyPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainConsolePtyClass +{ + GVirConfigDomainConsoleClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_console_pty_get_type(void); + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new(void); +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.c b/libvirt-gconfig/libvirt-gconfig-domain-console.c new file mode 100644 index 0000000..225a587 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.c @@ -0,0 +1,49 @@ +/* + * libvirt-gconfig-domain-console.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" + +#define GVIR_CONFIG_DOMAIN_CONSOLE_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePrivate)) + +struct _GVirConfigDomainConsolePrivate +{ + gboolean unused; +}; + +G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainConsole, gvir_config_domain_console, GVIR_TYPE_CONFIG_DOMAIN_DEVICE); + + +static void gvir_config_domain_console_class_init(GVirConfigDomainConsoleClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainConsolePrivate)); +} + + +static void gvir_config_domain_console_init(GVirConfigDomainConsole *console) +{ + g_debug("Init GVirConfigDomainConsole=%p", console); + + console->priv = GVIR_CONFIG_DOMAIN_CONSOLE_GET_PRIVATE(console); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.h b/libvirt-gconfig/libvirt-gconfig-domain-console.h new file mode 100644 index 0000000..9221e6d --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.h @@ -0,0 +1,64 @@ +/* + * libvirt-gconfig-domain-console.h: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_CONSOLE (gvir_config_domain_console_get_type ()) +#define GVIR_CONFIG_DOMAIN_CONSOLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsole)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsoleClass)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsoleClass)) + +typedef struct _GVirConfigDomainConsole GVirConfigDomainConsole; +typedef struct _GVirConfigDomainConsolePrivate GVirConfigDomainConsolePrivate; +typedef struct _GVirConfigDomainConsoleClass GVirConfigDomainConsoleClass; + +struct _GVirConfigDomainConsole +{ + GVirConfigDomainDevice parent; + + GVirConfigDomainConsolePrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainConsoleClass +{ + GVirConfigDomainDeviceClass parent_class; + + gpointer padding[20]; +}; + + +GType gvir_config_domain_console_get_type(void); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index be4b4dd..0afe75a 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -31,6 +31,8 @@ #include <libvirt-gconfig/libvirt-gconfig-capabilities.h> #include <libvirt-gconfig/libvirt-gconfig-domain.h> #include <libvirt-gconfig/libvirt-gconfig-domain-clock.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-console.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-console-pty.h> #include <libvirt-gconfig/libvirt-gconfig-domain-device.h> #include <libvirt-gconfig/libvirt-gconfig-domain-disk.h> #include <libvirt-gconfig/libvirt-gconfig-domain-filesys.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 6f3593d..ce29414 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -34,6 +34,14 @@ LIBVIRT_GCONFIG_0.0.1 { gvir_config_domain_clock_set_timezone; gvir_config_domain_clock_set_variable_offset; + gvir_config_domain_console_get_type; + gvir_config_domain_console_new; + gvir_config_domain_console_new_from_xml; + + gvir_config_domain_console_pty_get_type; + gvir_config_domain_console_pty_new; + gvir_config_domain_console_pty_new_from_xml; + gvir_config_domain_device_get_type; gvir_config_domain_disk_get_type; -- 1.7.6.4

The code by itself is fine, but I'm not sure about the design If we go this way, we'll have GVirConfigDomainConsolePty, GVirConfigDomainConsoleStdio, GVirConfigDomainConsoleFile, and then GVirConfigDomainSerialPty, GVirConfigDomainSerialStdio, GVirConfigDomainSerialFile, and the same for channels and parallel ports. Something that might work is having GVirConfigDomainChardev as a base class for GVirConfigDomainConsole, GVirConfigDomainSerial, ... Then we'd also have a GVirConfigDomainChardevSource from which GVirConfigDomainChardevSourcePty, GVirConfigDomainChardevSourceStdio, GVirConfigDomainChardevSourceFile, ... would derive. And finally we'd have some kind of gvir_config_domain_chardev_add_source API to combine the 2 (GVirConfigDomainConsole + GVirConfigDomainChardevSourcePty). There's the added complication that sometimes you have multiple source XML nodes, sometimes you have a protocol node, so maybe GVirConfigDomainChardevSourcePty would not even derive from GVirConfigObject to allow handling that, or it would have a fake <chardev> toplevel node. To be honest I'm not really sure in which direction we should go, from reading the doc, I've got the feeling that GVirConfigDomainConsolePty is too simplistic and that we need something more sophisticated to avoid too much duplication of code, but maybe I'm wrong. I had patches to handle chardevs sent to the mailing list at some point, but withdrew them since I wanted to spend more time thinking about this. Christophe On Thu, Dec 01, 2011 at 02:05:30PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
Add an abstract GVirConfigDomainConsole object for <console> devices and an impl GVirConfigDomainConsolePty for the <console type=pty> variant --- libvirt-gconfig/Makefile.am | 4 + .../libvirt-gconfig-domain-console-pty.c | 74 ++++++++++++++++++++ .../libvirt-gconfig-domain-console-pty.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-console.c | 49 +++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-console.h | 64 +++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 2 + libvirt-gconfig/libvirt-gconfig.sym | 8 ++ 7 files changed, 268 insertions(+), 0 deletions(-) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console-pty.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console-pty.h create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-console.h
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 6612445..43f719d 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -13,6 +13,8 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-object.h \ libvirt-gconfig-capabilities.h \ libvirt-gconfig-domain.h \ + libvirt-gconfig-domain-console.h \ + libvirt-gconfig-domain-console-pty.h \ libvirt-gconfig-domain-clock.h \ libvirt-gconfig-domain-device.h \ libvirt-gconfig-domain-disk.h \ @@ -46,6 +48,8 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-main.c \ libvirt-gconfig-capabilities.c \ libvirt-gconfig-domain.c \ + libvirt-gconfig-domain-console.c \ + libvirt-gconfig-domain-console-pty.c \ libvirt-gconfig-domain-clock.c \ libvirt-gconfig-domain-device.c \ libvirt-gconfig-domain-disk.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c new file mode 100644 index 0000000..f132d6c --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c @@ -0,0 +1,74 @@ +/* + * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-helpers-private.h" +#include "libvirt-gconfig/libvirt-gconfig-object-private.h" + +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, GVirConfigDomainConsolePtyPrivate)) + +struct _GVirConfigDomainConsolePtyPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainConsolePty, gvir_config_domain_console_pty, GVIR_TYPE_CONFIG_DOMAIN_CONSOLE); + + +static void gvir_config_domain_console_pty_class_init(GVirConfigDomainConsolePtyClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainConsolePtyPrivate)); +} + + +static void gvir_config_domain_console_pty_init(GVirConfigDomainConsolePty *conn) +{ + g_debug("Init GVirConfigDomainConsolePty=%p", conn); + + conn->priv = GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_PRIVATE(conn); +} + + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, + "console", NULL); + gvir_config_object_set_attribute(object, "type", "pty", NULL); + return GVIR_CONFIG_DOMAIN_CONSOLE_PTY(object); +} + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY, + "console", NULL, xml, error); + if (object == NULL) + return NULL; + return GVIR_CONFIG_DOMAIN_CONSOLE_PTY(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h new file mode 100644 index 0000000..56640ab --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_CONSOLE_PTY (gvir_config_domain_console_pty_get_type ()) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePty)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePtyClass)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_PTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_PTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_PTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePtyClass)) + +typedef struct _GVirConfigDomainConsolePty GVirConfigDomainConsolePty; +typedef struct _GVirConfigDomainConsolePtyPrivate GVirConfigDomainConsolePtyPrivate; +typedef struct _GVirConfigDomainConsolePtyClass GVirConfigDomainConsolePtyClass; + +struct _GVirConfigDomainConsolePty +{ + GVirConfigDomainConsole parent; + + GVirConfigDomainConsolePtyPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainConsolePtyClass +{ + GVirConfigDomainConsoleClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_console_pty_get_type(void); + +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new(void); +GVirConfigDomainConsolePty *gvir_config_domain_console_pty_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_PTY_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.c b/libvirt-gconfig/libvirt-gconfig-domain-console.c new file mode 100644 index 0000000..225a587 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.c @@ -0,0 +1,49 @@ +/* + * libvirt-gconfig-domain-console.c: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" + +#define GVIR_CONFIG_DOMAIN_CONSOLE_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsolePrivate)) + +struct _GVirConfigDomainConsolePrivate +{ + gboolean unused; +}; + +G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainConsole, gvir_config_domain_console, GVIR_TYPE_CONFIG_DOMAIN_DEVICE); + + +static void gvir_config_domain_console_class_init(GVirConfigDomainConsoleClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainConsolePrivate)); +} + + +static void gvir_config_domain_console_init(GVirConfigDomainConsole *console) +{ + g_debug("Init GVirConfigDomainConsole=%p", console); + + console->priv = GVIR_CONFIG_DOMAIN_CONSOLE_GET_PRIVATE(console); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.h b/libvirt-gconfig/libvirt-gconfig-domain-console.h new file mode 100644 index 0000000..9221e6d --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.h @@ -0,0 +1,64 @@ +/* + * libvirt-gconfig-domain-console.h: libvirt domain console configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel P. Berrange <berrange@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_CONSOLE (gvir_config_domain_console_get_type ()) +#define GVIR_CONFIG_DOMAIN_CONSOLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsole)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsoleClass)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_IS_CONFIG_DOMAIN_CONSOLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE)) +#define GVIR_CONFIG_DOMAIN_CONSOLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_CONSOLE, GVirConfigDomainConsoleClass)) + +typedef struct _GVirConfigDomainConsole GVirConfigDomainConsole; +typedef struct _GVirConfigDomainConsolePrivate GVirConfigDomainConsolePrivate; +typedef struct _GVirConfigDomainConsoleClass GVirConfigDomainConsoleClass; + +struct _GVirConfigDomainConsole +{ + GVirConfigDomainDevice parent; + + GVirConfigDomainConsolePrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainConsoleClass +{ + GVirConfigDomainDeviceClass parent_class; + + gpointer padding[20]; +}; + + +GType gvir_config_domain_console_get_type(void); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_CONSOLE_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index be4b4dd..0afe75a 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -31,6 +31,8 @@ #include <libvirt-gconfig/libvirt-gconfig-capabilities.h> #include <libvirt-gconfig/libvirt-gconfig-domain.h> #include <libvirt-gconfig/libvirt-gconfig-domain-clock.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-console.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-console-pty.h> #include <libvirt-gconfig/libvirt-gconfig-domain-device.h> #include <libvirt-gconfig/libvirt-gconfig-domain-disk.h> #include <libvirt-gconfig/libvirt-gconfig-domain-filesys.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 6f3593d..ce29414 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -34,6 +34,14 @@ LIBVIRT_GCONFIG_0.0.1 { gvir_config_domain_clock_set_timezone; gvir_config_domain_clock_set_variable_offset;
+ gvir_config_domain_console_get_type; + gvir_config_domain_console_new; + gvir_config_domain_console_new_from_xml; + + gvir_config_domain_console_pty_get_type; + gvir_config_domain_console_pty_new; + gvir_config_domain_console_pty_new_from_xml; + gvir_config_domain_device_get_type;
gvir_config_domain_disk_get_type; -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Thu, Dec 01, 2011 at 05:02:17PM +0100, Christophe Fergeau wrote:
The code by itself is fine, but I'm not sure about the design If we go this way, we'll have GVirConfigDomainConsolePty, GVirConfigDomainConsoleStdio, GVirConfigDomainConsoleFile, and then GVirConfigDomainSerialPty, GVirConfigDomainSerialStdio, GVirConfigDomainSerialFile, and the same for channels and parallel ports.
Something that might work is having GVirConfigDomainChardev as a base class for GVirConfigDomainConsole, GVirConfigDomainSerial, ... Then we'd also have a GVirConfigDomainChardevSource from which GVirConfigDomainChardevSourcePty, GVirConfigDomainChardevSourceStdio, GVirConfigDomainChardevSourceFile, ... would derive. And finally we'd have some kind of gvir_config_domain_chardev_add_source API to combine the 2 (GVirConfigDomainConsole + GVirConfigDomainChardevSourcePty). There's the added complication that sometimes you have multiple source XML nodes, sometimes you have a protocol node, so maybe GVirConfigDomainChardevSourcePty would not even derive from GVirConfigObject to allow handling that, or it would have a fake <chardev> toplevel node.
Yes, all good points. I didn't think this through properly. I think we should have a GVirConfigDomainChardev and {Console,Serial,Parallel} subclasses. Then have a GVirConfigDomainChardevSource and {Pty, File, Tcp, etc} subclasses. I'll withdraw this patch from the series until one of us can do a proper job. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/Makefile.am | 2 + .../libvirt-gconfig-domain-memballoon.c | 82 ++++++++++++++++++++ .../libvirt-gconfig-domain-memballoon.h | 75 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 6 ++ 5 files changed, 166 insertions(+), 0 deletions(-) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-memballoon.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-memballoon.h diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 43f719d..e38b48e 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -26,6 +26,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-input.h \ libvirt-gconfig-domain-interface.h \ libvirt-gconfig-domain-interface-network.h \ + libvirt-gconfig-domain-memballoon.h \ libvirt-gconfig-domain-os.h \ libvirt-gconfig-domain-seclabel.h \ libvirt-gconfig-domain-snapshot.h \ @@ -61,6 +62,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-input.c \ libvirt-gconfig-domain-interface.c \ libvirt-gconfig-domain-interface-network.c \ + libvirt-gconfig-domain-memballoon.c \ libvirt-gconfig-domain-os.c \ libvirt-gconfig-domain-seclabel.c \ libvirt-gconfig-domain-snapshot.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c new file mode 100644 index 0000000..6bc5a8f --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c @@ -0,0 +1,82 @@ +/* + * libvirt-gconfig-domain-memballoon.c: libvirt domain memballoon configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@gmail.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-helpers-private.h" +#include "libvirt-gconfig/libvirt-gconfig-object-private.h" + +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonPrivate)) + +struct _GVirConfigDomainMemballoonPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainMemballoon, gvir_config_domain_memballoon, GVIR_TYPE_CONFIG_DOMAIN_DEVICE); + + +static void gvir_config_domain_memballoon_class_init(GVirConfigDomainMemballoonClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainMemballoonPrivate)); +} + + +static void gvir_config_domain_memballoon_init(GVirConfigDomainMemballoon *memballoon) +{ + g_debug("Init GVirConfigDomainMemballoon=%p", memballoon); + + memballoon->priv = GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_PRIVATE(memballoon); +} + + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, + "memballoon", NULL); + return GVIR_CONFIG_DOMAIN_MEMBALLOON(object); +} + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, + "memballoon", NULL, xml, error); + return GVIR_CONFIG_DOMAIN_MEMBALLOON(object); +} + +void gvir_config_domain_memballoon_set_model(GVirConfigDomainMemballoon *memballoon, + GVirConfigDomainMemballoonModel model) +{ + g_return_if_fail(GVIR_IS_CONFIG_DOMAIN_MEMBALLOON(memballoon)); + gvir_config_object_set_attribute_with_type(GVIR_CONFIG_OBJECT(memballoon), + "model", + GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON_MODEL, + model, + NULL); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h new file mode 100644 index 0000000..2754d67 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h @@ -0,0 +1,75 @@ +/* + * libvirt-gconfig-domain-memballoon.h: libvirt domain memballoon configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@gmail.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON (gvir_config_domain_memballoon_get_type ()) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoon)) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonClass)) +#define GVIR_IS_CONFIG_DOMAIN_MEMBALLOON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON)) +#define GVIR_IS_CONFIG_DOMAIN_MEMBALLOON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON)) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonClass)) + +typedef struct _GVirConfigDomainMemballoon GVirConfigDomainMemballoon; +typedef struct _GVirConfigDomainMemballoonPrivate GVirConfigDomainMemballoonPrivate; +typedef struct _GVirConfigDomainMemballoonClass GVirConfigDomainMemballoonClass; + +struct _GVirConfigDomainMemballoon +{ + GVirConfigDomainDevice parent; + + GVirConfigDomainMemballoonPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainMemballoonClass +{ + GVirConfigDomainDeviceClass parent_class; + + gpointer padding[20]; +}; + +typedef enum { + GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_NONE, + GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_VIRTIO, +} GVirConfigDomainMemballoonModel; + +GType gvir_config_domain_memballoon_get_type(void); + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new(void); +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new_from_xml(const gchar *xml, + GError **error); +void gvir_config_domain_memballoon_set_model(GVirConfigDomainMemballoon *memballoon, + GVirConfigDomainMemballoonModel model); + + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index 0afe75a..ee6a429 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -43,6 +43,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-input.h> #include <libvirt-gconfig/libvirt-gconfig-domain-interface.h> #include <libvirt-gconfig/libvirt-gconfig-domain-interface-network.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-memballoon.h> #include <libvirt-gconfig/libvirt-gconfig-domain-os.h> #include <libvirt-gconfig/libvirt-gconfig-domain-seclabel.h> #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index ce29414..a7574f4 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -108,6 +108,12 @@ LIBVIRT_GCONFIG_0.0.1 { gvir_config_domain_interface_network_new_from_xml; gvir_config_domain_interface_network_set_source; + gvir_config_domain_memballoon_get_type; + gvir_config_domain_memballoon_model_get_type; + gvir_config_domain_memballoon_new; + gvir_config_domain_memballoon_new_from_xml; + gvir_config_domain_memballoon_set_model; + gvir_config_domain_os_get_type; gvir_config_domain_os_boot_device_get_type; gvir_config_domain_os_sm_bios_mode_get_type; -- 1.7.6.4

ACK with the usual s/cfergeau/berrange in the new file headers :) On Thu, Dec 01, 2011 at 02:05:31PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/Makefile.am | 2 + .../libvirt-gconfig-domain-memballoon.c | 82 ++++++++++++++++++++ .../libvirt-gconfig-domain-memballoon.h | 75 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 6 ++ 5 files changed, 166 insertions(+), 0 deletions(-) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-memballoon.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-memballoon.h
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 43f719d..e38b48e 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -26,6 +26,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-input.h \ libvirt-gconfig-domain-interface.h \ libvirt-gconfig-domain-interface-network.h \ + libvirt-gconfig-domain-memballoon.h \ libvirt-gconfig-domain-os.h \ libvirt-gconfig-domain-seclabel.h \ libvirt-gconfig-domain-snapshot.h \ @@ -61,6 +62,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-input.c \ libvirt-gconfig-domain-interface.c \ libvirt-gconfig-domain-interface-network.c \ + libvirt-gconfig-domain-memballoon.c \ libvirt-gconfig-domain-os.c \ libvirt-gconfig-domain-seclabel.c \ libvirt-gconfig-domain-snapshot.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c new file mode 100644 index 0000000..6bc5a8f --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c @@ -0,0 +1,82 @@ +/* + * libvirt-gconfig-domain-memballoon.c: libvirt domain memballoon configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@gmail.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-helpers-private.h" +#include "libvirt-gconfig/libvirt-gconfig-object-private.h" + +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonPrivate)) + +struct _GVirConfigDomainMemballoonPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainMemballoon, gvir_config_domain_memballoon, GVIR_TYPE_CONFIG_DOMAIN_DEVICE); + + +static void gvir_config_domain_memballoon_class_init(GVirConfigDomainMemballoonClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainMemballoonPrivate)); +} + + +static void gvir_config_domain_memballoon_init(GVirConfigDomainMemballoon *memballoon) +{ + g_debug("Init GVirConfigDomainMemballoon=%p", memballoon); + + memballoon->priv = GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_PRIVATE(memballoon); +} + + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, + "memballoon", NULL); + return GVIR_CONFIG_DOMAIN_MEMBALLOON(object); +} + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, + "memballoon", NULL, xml, error); + return GVIR_CONFIG_DOMAIN_MEMBALLOON(object); +} + +void gvir_config_domain_memballoon_set_model(GVirConfigDomainMemballoon *memballoon, + GVirConfigDomainMemballoonModel model) +{ + g_return_if_fail(GVIR_IS_CONFIG_DOMAIN_MEMBALLOON(memballoon)); + gvir_config_object_set_attribute_with_type(GVIR_CONFIG_OBJECT(memballoon), + "model", + GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON_MODEL, + model, + NULL); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h new file mode 100644 index 0000000..2754d67 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h @@ -0,0 +1,75 @@ +/* + * libvirt-gconfig-domain-memballoon.h: libvirt domain memballoon configuration + * + * Copyright (C) 2011 Red Hat + * + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@gmail.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ + +G_BEGIN_DECLS + +#define GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON (gvir_config_domain_memballoon_get_type ()) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoon)) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonClass)) +#define GVIR_IS_CONFIG_DOMAIN_MEMBALLOON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON)) +#define GVIR_IS_CONFIG_DOMAIN_MEMBALLOON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON)) +#define GVIR_CONFIG_DOMAIN_MEMBALLOON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_TYPE_CONFIG_DOMAIN_MEMBALLOON, GVirConfigDomainMemballoonClass)) + +typedef struct _GVirConfigDomainMemballoon GVirConfigDomainMemballoon; +typedef struct _GVirConfigDomainMemballoonPrivate GVirConfigDomainMemballoonPrivate; +typedef struct _GVirConfigDomainMemballoonClass GVirConfigDomainMemballoonClass; + +struct _GVirConfigDomainMemballoon +{ + GVirConfigDomainDevice parent; + + GVirConfigDomainMemballoonPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainMemballoonClass +{ + GVirConfigDomainDeviceClass parent_class; + + gpointer padding[20]; +}; + +typedef enum { + GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_NONE, + GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_VIRTIO, +} GVirConfigDomainMemballoonModel; + +GType gvir_config_domain_memballoon_get_type(void); + +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new(void); +GVirConfigDomainMemballoon *gvir_config_domain_memballoon_new_from_xml(const gchar *xml, + GError **error); +void gvir_config_domain_memballoon_set_model(GVirConfigDomainMemballoon *memballoon, + GVirConfigDomainMemballoonModel model); + + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_MEMBALLOON_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index 0afe75a..ee6a429 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -43,6 +43,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-input.h> #include <libvirt-gconfig/libvirt-gconfig-domain-interface.h> #include <libvirt-gconfig/libvirt-gconfig-domain-interface-network.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-memballoon.h> #include <libvirt-gconfig/libvirt-gconfig-domain-os.h> #include <libvirt-gconfig/libvirt-gconfig-domain-seclabel.h> #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index ce29414..a7574f4 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -108,6 +108,12 @@ LIBVIRT_GCONFIG_0.0.1 { gvir_config_domain_interface_network_new_from_xml; gvir_config_domain_interface_network_set_source;
+ gvir_config_domain_memballoon_get_type; + gvir_config_domain_memballoon_model_get_type; + gvir_config_domain_memballoon_new; + gvir_config_domain_memballoon_new_from_xml; + gvir_config_domain_memballoon_set_model; + gvir_config_domain_os_get_type; gvir_config_domain_os_boot_device_get_type; gvir_config_domain_os_sm_bios_mode_get_type; -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Thu, Dec 01, 2011 at 04:30:58PM +0100, Christophe Fergeau wrote:
ACK with the usual s/cfergeau/berrange in the new file headers :)
Ha, I must get used to changing that after cut+pasting :-) Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/libvirt-gconfig-domain-os.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.h b/libvirt-gconfig/libvirt-gconfig-domain-os.h index 2b85866..1665e3d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.h @@ -58,7 +58,8 @@ struct _GVirConfigDomainOsClass typedef enum { GVIR_CONFIG_DOMAIN_OS_TYPE_HVM, - GVIR_CONFIG_DOMAIN_OS_TYPE_LINUX + GVIR_CONFIG_DOMAIN_OS_TYPE_LINUX, + GVIR_CONFIG_DOMAIN_OS_TYPE_EXE } GVirConfigDomainOsType; typedef enum { -- 1.7.6.4

On Thu, Dec 01, 2011 at 02:05:32PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/libvirt-gconfig-domain-os.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.h b/libvirt-gconfig/libvirt-gconfig-domain-os.h index 2b85866..1665e3d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.h @@ -58,7 +58,8 @@ struct _GVirConfigDomainOsClass
typedef enum { GVIR_CONFIG_DOMAIN_OS_TYPE_HVM, - GVIR_CONFIG_DOMAIN_OS_TYPE_LINUX + GVIR_CONFIG_DOMAIN_OS_TYPE_LINUX, + GVIR_CONFIG_DOMAIN_OS_TYPE_EXE
Ah, this is missing from http://libvirt.org/formatdomain.html#elementsOS Looking at domain_conf.c, it seems xen "xen" and "uml" are also acceptable values ? ACK
} GVirConfigDomainOsType;
typedef enum { -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- .gitignore | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore index 622bba7..eac3a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,8 @@ python/*pyc */*.gir */*.typelib build/ +libvirt-gconfig/libvirt-gconfig-enum-types.h +libvirt-gconfig/libvirt-gconfig-enum-types.c libvirt-gobject/libvirt-gobject-enums.h libvirt-gobject/libvirt-gobject-enums.c docs/*/xml/ @@ -68,3 +70,5 @@ docs/*/*.signals docs/*/*.types *.tar.gz *.pc +libvirt-gconfig/tests/test-domain-create +libvirt-gconfig/tests/test-domain-parse -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:33PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- .gitignore | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore index 622bba7..eac3a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,8 @@ python/*pyc */*.gir */*.typelib build/ +libvirt-gconfig/libvirt-gconfig-enum-types.h +libvirt-gconfig/libvirt-gconfig-enum-types.c libvirt-gobject/libvirt-gobject-enums.h libvirt-gobject/libvirt-gobject-enums.c docs/*/xml/ @@ -68,3 +70,5 @@ docs/*/*.signals docs/*/*.types *.tar.gz *.pc +libvirt-gconfig/tests/test-domain-create +libvirt-gconfig/tests/test-domain-parse -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/libvirt-gconfig-object.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c index 03c7d5a..f7b60e2 100644 --- a/libvirt-gconfig/libvirt-gconfig-object.c +++ b/libvirt-gconfig/libvirt-gconfig-object.c @@ -264,7 +264,7 @@ gchar *gvir_config_object_to_xml(GVirConfigObject *config) if (node == NULL) return NULL; - xmlDocDumpMemory(node->doc, &doc, &size); + xmlDocDumpFormatMemory(node->doc, &doc, &size, 1); output_doc = g_strdup((gchar *)doc); xmlFree(doc); -- 1.7.6.4

From: "Daniel P. Berrange" <berrange@redhat.com> --- autogen.sh | 24 ++++++++++++------------ examples/conn-test.py | 30 +++++++++++++++--------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/autogen.sh b/autogen.sh index c2d13da..a30114b 100755 --- a/autogen.sh +++ b/autogen.sh @@ -11,27 +11,27 @@ cd $srcdir DIE=0 (autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile virt-viewer." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/autoconf" - DIE=1 + echo + echo "You must have autoconf installed to compile virt-viewer." + echo "Download the appropriate package for your distribution," + echo "or see http://www.gnu.org/software/autoconf" + DIE=1 } (automake --version) < /dev/null > /dev/null 2>&1 || { - echo - DIE=1 - echo "You must have automake installed to compile virt-viewer." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/automake" + echo + DIE=1 + echo "You must have automake installed to compile virt-viewer." + echo "Download the appropriate package for your distribution," + echo "or see http://www.gnu.org/software/automake" } if test "$DIE" -eq 1; then - exit 1 + exit 1 fi if test -z "$*"; then - echo "I am going to run ./configure with --enable-warnings - if you " + echo "I am going to run ./configure with --enable-warnings - if you " echo "wish to pass any extra arguments to it, please specify them on " echo "the $0 command line." fi diff --git a/examples/conn-test.py b/examples/conn-test.py index 0ba6cf4..93adb63 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -11,20 +11,20 @@ canc = Gio.Cancellable() def done(conn, result, data): try: - conn.open_finish(result) + conn.open_finish(result) - print("Opened " + conn.get_uri()) + print("Opened " + conn.get_uri()) - conn.fetch_domains(None) - print ("Fetched") - doms = conn.get_domains() - print ("Got " + str(doms)) + conn.fetch_domains(None) + print ("Fetched") + doms = conn.get_domains() + print ("Got " + str(doms)) - for d in doms: - print ("One dom: " + str(d)) - print ("Name " + d.get_name()) - conf = d.get_config(0) - print ("Conf " + str(conf)) + for d in doms: + print ("One dom: " + str(d)) + print ("Name " + d.get_name()) + conf = d.get_config(0) + print ("Conf " + str(conf)) try: conf.validate() @@ -33,12 +33,12 @@ def done(conn, result, data): except Exception, e: print "Document is not valid according to %s: %s: %s" % (conf.get_schema(), str(e), str(type(e))) - xml = conf.get_doc() - print ("XML " + xml) - print ("Info " + str(d.get_info().memory)) + xml = conf.get_doc() + print ("XML " + xml) + print ("Info " + str(d.get_info().memory)) finally: - Gtk.main_quit() + Gtk.main_quit() conn.open_async(canc, done, None) -- 1.7.6.4

ACK We could add tab VS space and indentation level to HACKING Christophe On Thu, Dec 01, 2011 at 02:05:35PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- autogen.sh | 24 ++++++++++++------------ examples/conn-test.py | 30 +++++++++++++++--------------- 2 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/autogen.sh b/autogen.sh index c2d13da..a30114b 100755 --- a/autogen.sh +++ b/autogen.sh @@ -11,27 +11,27 @@ cd $srcdir DIE=0
(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile virt-viewer." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/autoconf" - DIE=1 + echo + echo "You must have autoconf installed to compile virt-viewer." + echo "Download the appropriate package for your distribution," + echo "or see http://www.gnu.org/software/autoconf" + DIE=1 }
(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - DIE=1 - echo "You must have automake installed to compile virt-viewer." - echo "Download the appropriate package for your distribution," - echo "or see http://www.gnu.org/software/automake" + echo + DIE=1 + echo "You must have automake installed to compile virt-viewer." + echo "Download the appropriate package for your distribution," + echo "or see http://www.gnu.org/software/automake" }
if test "$DIE" -eq 1; then - exit 1 + exit 1 fi
if test -z "$*"; then - echo "I am going to run ./configure with --enable-warnings - if you " + echo "I am going to run ./configure with --enable-warnings - if you " echo "wish to pass any extra arguments to it, please specify them on " echo "the $0 command line." fi diff --git a/examples/conn-test.py b/examples/conn-test.py index 0ba6cf4..93adb63 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -11,20 +11,20 @@ canc = Gio.Cancellable()
def done(conn, result, data): try: - conn.open_finish(result) + conn.open_finish(result)
- print("Opened " + conn.get_uri()) + print("Opened " + conn.get_uri())
- conn.fetch_domains(None) - print ("Fetched") - doms = conn.get_domains() - print ("Got " + str(doms)) + conn.fetch_domains(None) + print ("Fetched") + doms = conn.get_domains() + print ("Got " + str(doms))
- for d in doms: - print ("One dom: " + str(d)) - print ("Name " + d.get_name()) - conf = d.get_config(0) - print ("Conf " + str(conf)) + for d in doms: + print ("One dom: " + str(d)) + print ("Name " + d.get_name()) + conf = d.get_config(0) + print ("Conf " + str(conf))
try: conf.validate() @@ -33,12 +33,12 @@ def done(conn, result, data): except Exception, e: print "Document is not valid according to %s: %s: %s" % (conf.get_schema(), str(e), str(type(e)))
- xml = conf.get_doc() - print ("XML " + xml) - print ("Info " + str(d.get_info().memory)) + xml = conf.get_doc() + print ("XML " + xml) + print ("Info " + str(d.get_info().memory))
finally: - Gtk.main_quit() + Gtk.main_quit()
conn.open_async(canc, done, None) -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/libvirt-gconfig-xml-doc.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.c b/libvirt-gconfig/libvirt-gconfig-xml-doc.c index 24d681b..fbb1a8b 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.c +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.c @@ -83,8 +83,7 @@ static void gvir_config_xml_doc_finalize(GObject *object) g_debug("Finalize GVirConfigXmlDoc=%p", doc); - if (priv->doc) - xmlFreeDoc(priv->doc); + xmlFreeDoc(priv->doc); G_OBJECT_CLASS(gvir_config_xml_doc_parent_class)->finalize(object); } -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:36PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/libvirt-gconfig-xml-doc.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.c b/libvirt-gconfig/libvirt-gconfig-xml-doc.c index 24d681b..fbb1a8b 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.c +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.c @@ -83,8 +83,7 @@ static void gvir_config_xml_doc_finalize(GObject *object)
g_debug("Finalize GVirConfigXmlDoc=%p", doc);
- if (priv->doc) - xmlFreeDoc(priv->doc); + xmlFreeDoc(priv->doc);
G_OBJECT_CLASS(gvir_config_xml_doc_parent_class)->finalize(object); } -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- examples/conn-test.c | 2 +- libvirt-gconfig/libvirt-gconfig-capabilities.c | 2 +- libvirt-gconfig/libvirt-gconfig-capabilities.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-clock.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-clock.h | 2 +- .../libvirt-gconfig-domain-console-pty.c | 2 +- .../libvirt-gconfig-domain-console-pty.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-console.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-console.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-device.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-device.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-disk.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-disk.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-filesys.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-filesys.h | 2 +- .../libvirt-gconfig-domain-graphics-sdl.c | 2 +- .../libvirt-gconfig-domain-graphics-sdl.h | 2 +- .../libvirt-gconfig-domain-graphics-spice.c | 2 +- .../libvirt-gconfig-domain-graphics-spice.h | 2 +- .../libvirt-gconfig-domain-graphics-vnc.c | 2 +- .../libvirt-gconfig-domain-graphics-vnc.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-graphics.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-graphics.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-input.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-input.h | 2 +- .../libvirt-gconfig-domain-interface-network.c | 2 +- .../libvirt-gconfig-domain-interface-network.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-interface.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-interface.h | 2 +- .../libvirt-gconfig-domain-memballoon.c | 2 +- .../libvirt-gconfig-domain-memballoon.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-os.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-os.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-seclabel.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-seclabel.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-snapshot.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-snapshot.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-timer.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-video.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-video.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain.h | 2 +- libvirt-gconfig/libvirt-gconfig-helpers-private.h | 2 +- libvirt-gconfig/libvirt-gconfig-helpers.c | 2 +- libvirt-gconfig/libvirt-gconfig-helpers.h | 2 +- libvirt-gconfig/libvirt-gconfig-interface.c | 2 +- libvirt-gconfig/libvirt-gconfig-interface.h | 2 +- libvirt-gconfig/libvirt-gconfig-main.c | 2 +- libvirt-gconfig/libvirt-gconfig-main.h | 2 +- libvirt-gconfig/libvirt-gconfig-network-filter.c | 2 +- libvirt-gconfig/libvirt-gconfig-network-filter.h | 2 +- libvirt-gconfig/libvirt-gconfig-network.c | 2 +- libvirt-gconfig/libvirt-gconfig-network.h | 2 +- libvirt-gconfig/libvirt-gconfig-node-device.c | 2 +- libvirt-gconfig/libvirt-gconfig-node-device.h | 2 +- libvirt-gconfig/libvirt-gconfig-object-private.h | 2 +- libvirt-gconfig/libvirt-gconfig-object.c | 2 +- libvirt-gconfig/libvirt-gconfig-object.h | 2 +- libvirt-gconfig/libvirt-gconfig-secret.c | 2 +- libvirt-gconfig/libvirt-gconfig-secret.h | 2 +- libvirt-gconfig/libvirt-gconfig-storage-pool.c | 2 +- libvirt-gconfig/libvirt-gconfig-storage-pool.h | 2 +- libvirt-gconfig/libvirt-gconfig-storage-vol.c | 2 +- libvirt-gconfig/libvirt-gconfig-storage-vol.h | 2 +- libvirt-gconfig/libvirt-gconfig-xml-doc.c | 2 +- libvirt-gconfig/libvirt-gconfig-xml-doc.h | 2 +- libvirt-gconfig/libvirt-gconfig.h | 2 +- libvirt-gconfig/tests/test-domain-create.c | 2 +- libvirt-gconfig/tests/test-domain-parse.c | 2 +- libvirt-glib/libvirt-glib-error.c | 2 +- libvirt-glib/libvirt-glib-error.h | 2 +- libvirt-glib/libvirt-glib-event.c | 2 +- libvirt-glib/libvirt-glib-event.h | 2 +- libvirt-glib/libvirt-glib-main.c | 2 +- libvirt-glib/libvirt-glib-main.h | 2 +- libvirt-glib/libvirt-glib.h | 2 +- libvirt-gobject/libvirt-gobject-compat.h | 2 +- libvirt-gobject/libvirt-gobject-connection.c | 2 +- libvirt-gobject/libvirt-gobject-connection.h | 2 +- .../libvirt-gobject-domain-device-private.h | 2 +- libvirt-gobject/libvirt-gobject-domain-device.c | 2 +- libvirt-gobject/libvirt-gobject-domain-device.h | 2 +- libvirt-gobject/libvirt-gobject-domain-disk.c | 2 +- libvirt-gobject/libvirt-gobject-domain-disk.h | 2 +- libvirt-gobject/libvirt-gobject-domain-interface.c | 2 +- libvirt-gobject/libvirt-gobject-domain-interface.h | 2 +- libvirt-gobject/libvirt-gobject-domain-snapshot.c | 2 +- libvirt-gobject/libvirt-gobject-domain-snapshot.h | 2 +- libvirt-gobject/libvirt-gobject-domain.c | 2 +- libvirt-gobject/libvirt-gobject-domain.h | 2 +- libvirt-gobject/libvirt-gobject-input-stream.c | 2 +- libvirt-gobject/libvirt-gobject-input-stream.h | 2 +- libvirt-gobject/libvirt-gobject-interface.c | 2 +- libvirt-gobject/libvirt-gobject-interface.h | 2 +- libvirt-gobject/libvirt-gobject-main.c | 2 +- libvirt-gobject/libvirt-gobject-main.h | 2 +- libvirt-gobject/libvirt-gobject-manager.c | 2 +- libvirt-gobject/libvirt-gobject-manager.h | 2 +- libvirt-gobject/libvirt-gobject-network-filter.c | 2 +- libvirt-gobject/libvirt-gobject-network-filter.h | 2 +- libvirt-gobject/libvirt-gobject-network.c | 2 +- libvirt-gobject/libvirt-gobject-network.h | 2 +- libvirt-gobject/libvirt-gobject-node-device.c | 2 +- libvirt-gobject/libvirt-gobject-node-device.h | 2 +- libvirt-gobject/libvirt-gobject-output-stream.c | 2 +- libvirt-gobject/libvirt-gobject-output-stream.h | 2 +- libvirt-gobject/libvirt-gobject-secret.c | 2 +- libvirt-gobject/libvirt-gobject-secret.h | 2 +- libvirt-gobject/libvirt-gobject-storage-pool.c | 2 +- libvirt-gobject/libvirt-gobject-storage-pool.h | 2 +- libvirt-gobject/libvirt-gobject-storage-vol.c | 2 +- libvirt-gobject/libvirt-gobject-storage-vol.h | 2 +- libvirt-gobject/libvirt-gobject-stream.c | 2 +- libvirt-gobject/libvirt-gobject-stream.h | 2 +- libvirt-gobject/libvirt-gobject.h | 2 +- python/libvirt-glib.c | 2 +- 117 files changed, 117 insertions(+), 117 deletions(-) diff --git a/examples/conn-test.c b/examples/conn-test.c index 6552e9e..37b0007 100644 --- a/examples/conn-test.c +++ b/examples/conn-test.c @@ -1,7 +1,7 @@ /* * conn-test.c: test libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-capabilities.c b/libvirt-gconfig/libvirt-gconfig-capabilities.c index 9d4a95d..104fabc 100644 --- a/libvirt-gconfig/libvirt-gconfig-capabilities.c +++ b/libvirt-gconfig/libvirt-gconfig-capabilities.c @@ -2,7 +2,7 @@ * libvirt-gconfig-capabilities.c: libvirt capabilities configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-capabilities.h b/libvirt-gconfig/libvirt-gconfig-capabilities.h index 1b8bbe3..8288125 100644 --- a/libvirt-gconfig/libvirt-gconfig-capabilities.h +++ b/libvirt-gconfig/libvirt-gconfig-capabilities.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-capabilities.c: libvirt capabilities configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.c b/libvirt-gconfig/libvirt-gconfig-domain-clock.c index 7441a76..16d75d5 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-clock.c: libvirt domain clock configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.h b/libvirt-gconfig/libvirt-gconfig-domain-clock.h index 0c8e839..6e5a80a 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-clock.h: libvirt domain clock configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c index f132d6c..986b35c 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h index 56640ab..f7f8c35 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.c b/libvirt-gconfig/libvirt-gconfig-domain-console.c index 225a587..4cac279 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.h b/libvirt-gconfig/libvirt-gconfig-domain-console.h index 9221e6d..e35591c 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console.h: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device.c b/libvirt-gconfig/libvirt-gconfig-domain-device.c index 3a2d991..980ae70 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-device.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-device.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-device.c: libvirt domain device configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device.h b/libvirt-gconfig/libvirt-gconfig-domain-device.h index c67ac7b..eea67c0 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-device.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-device.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-device.h: libvirt domain device configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.c b/libvirt-gconfig/libvirt-gconfig-domain-disk.c index ef1b069..502cf43 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-disk.c: libvirt domain disk configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.h b/libvirt-gconfig/libvirt-gconfig-domain-disk.h index 67b00b8..b90b2bc 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-disk.h: libvirt domain disk configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c index e54e50c..6727726 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-filesys.c: libvirt domain filesystem configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-filesys.h b/libvirt-gconfig/libvirt-gconfig-domain-filesys.h index 4c31459..01be28b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-filesys.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-filesys.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-filesys.h: libvirt domain filesystem configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c index 2dde518..c60e72b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-sdl.c: libvirt domain SDL configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h index 3ae3c7d..12105e9 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-sdl.h: libvirt domain SDL configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c index 67c2267..483f7d7 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-spice.c: libvirt domain SPICE configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h index a96fd59..b1b8361 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-spice.h: libvirt domain SPICE confiiguration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c index 593c9f1..4edfa9a 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-vnc.c: libvirt domain VNC configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h index ad41e08..e69ec54 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-vnc.h: libvirt domain VNC graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics.c index b8a4063..53a663b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics.c: libvirt domain graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics.h index 93a0eb0..209380d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics.h: libvirt domain graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-input.c b/libvirt-gconfig/libvirt-gconfig-domain-input.c index 77cccbe..5bc70c8 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-input.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-input.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-device-input.c: libvirt domain input configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-input.h b/libvirt-gconfig/libvirt-gconfig-domain-input.h index 2afc263..10e1311 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-input.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-input.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-input.c: libvirt domain input configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c index 6a390fe..ad6cc0b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-interface-network.c: libvirt domain interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h index a5ea3e2..a8c18bf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-interface-network.c: libvirt domain interface configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface.c b/libvirt-gconfig/libvirt-gconfig-domain-interface.c index 541f44c..a719eaf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-interface.c: libvirt domain interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface.h b/libvirt-gconfig/libvirt-gconfig-domain-interface.h index 2a6bc6a..28f6885 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-interface.h: libvirt domain interface configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c index 6bc5a8f..08e23b2 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-memballoon.c: libvirt domain memballoon configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h index 2754d67..af4c418 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-memballoon.h: libvirt domain memballoon configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.c b/libvirt-gconfig/libvirt-gconfig-domain-os.c index 28c8894..2b0cdff 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-os.c: libvirt domain OS configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.h b/libvirt-gconfig/libvirt-gconfig-domain-os.h index 1665e3d..9f0ff00 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-os.c: libvirt domain OS configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c index 56916b7..7537a78 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-seclabel.c: libvirt domain security label configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h index 7f55096..38d4f4e 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-seclabel.h: libvirt domain security label configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c index 20ec499..72760ba 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-snapshot.c: libvirt domain snapshot configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h index 0df3210..59ec26d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-snapshot.h: libvirt domain snapshot configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index d278dd7..50fd80f 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-timer.c: libvirt domain timer configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index d63a3f4..7b5a32b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-timer.h: libvirt domain timer configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-video.c b/libvirt-gconfig/libvirt-gconfig-domain-video.c index 68b739f..bba8073 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-video.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-video.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-video.c: libvirt domain video configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-video.h b/libvirt-gconfig/libvirt-gconfig-domain-video.h index d9cbcc6..cdf2e62 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-video.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-video.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-video.h: libvirt domain video configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain.c b/libvirt-gconfig/libvirt-gconfig-domain.c index 2f34c1b..e757228 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.c +++ b/libvirt-gconfig/libvirt-gconfig-domain.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain.c: libvirt domain configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain.h b/libvirt-gconfig/libvirt-gconfig-domain.h index 7b40f99..8921880 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.h +++ b/libvirt-gconfig/libvirt-gconfig-domain.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain.h: libvirt domain configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers-private.h b/libvirt-gconfig/libvirt-gconfig-helpers-private.h index 0a35595..6277cbd 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers-private.h +++ b/libvirt-gconfig/libvirt-gconfig-helpers-private.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers-private.h: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.c b/libvirt-gconfig/libvirt-gconfig-helpers.c index 722fe3d..7bba594 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers.c +++ b/libvirt-gconfig/libvirt-gconfig-helpers.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers.c: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.h b/libvirt-gconfig/libvirt-gconfig-helpers.h index dd5477a..25680f6 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers.h +++ b/libvirt-gconfig/libvirt-gconfig-helpers.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers.h: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-interface.c b/libvirt-gconfig/libvirt-gconfig-interface.c index 9e5b667..59fc12f 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-interface.c @@ -2,7 +2,7 @@ * libvirt-gconfig-interface.c: libvirt interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-interface.h b/libvirt-gconfig/libvirt-gconfig-interface.h index 5dc0516..0ce2919 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.h +++ b/libvirt-gconfig/libvirt-gconfig-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-interface.c: libvirt interface configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-main.c b/libvirt-gconfig/libvirt-gconfig-main.c index eb3732f..b506060 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.c +++ b/libvirt-gconfig/libvirt-gconfig-main.c @@ -2,7 +2,7 @@ * libvirt-gconfig-main.c: libvirt gconfig integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-main.h b/libvirt-gconfig/libvirt-gconfig-main.h index 411a53a..963efe5 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.h +++ b/libvirt-gconfig/libvirt-gconfig-main.h @@ -2,7 +2,7 @@ * libvirt-gconfig-main.h: libvirt gconfig integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network-filter.c b/libvirt-gconfig/libvirt-gconfig-network-filter.c index 576c014..d0940ef 100644 --- a/libvirt-gconfig/libvirt-gconfig-network-filter.c +++ b/libvirt-gconfig/libvirt-gconfig-network-filter.c @@ -2,7 +2,7 @@ * libvirt-gconfig-network-filter.c: libvirt network filter configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network-filter.h b/libvirt-gconfig/libvirt-gconfig-network-filter.h index edc6fe9..004b327 100644 --- a/libvirt-gconfig/libvirt-gconfig-network-filter.h +++ b/libvirt-gconfig/libvirt-gconfig-network-filter.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-network-filter.h: libvirt network filter configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network.c b/libvirt-gconfig/libvirt-gconfig-network.c index 47e998c..08fcb31 100644 --- a/libvirt-gconfig/libvirt-gconfig-network.c +++ b/libvirt-gconfig/libvirt-gconfig-network.c @@ -2,7 +2,7 @@ * libvirt-gconfig-network.c: libvirt network configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network.h b/libvirt-gconfig/libvirt-gconfig-network.h index 60a56a5..923b7a0 100644 --- a/libvirt-gconfig/libvirt-gconfig-network.h +++ b/libvirt-gconfig/libvirt-gconfig-network.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-network.c: libvirt network configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-node-device.c b/libvirt-gconfig/libvirt-gconfig-node-device.c index a42f7cc..7724acf 100644 --- a/libvirt-gconfig/libvirt-gconfig-node-device.c +++ b/libvirt-gconfig/libvirt-gconfig-node-device.c @@ -2,7 +2,7 @@ * libvirt-gconfig-node-device.c: libvirt node device configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-node-device.h b/libvirt-gconfig/libvirt-gconfig-node-device.h index fc1e7ce..27b372d 100644 --- a/libvirt-gconfig/libvirt-gconfig-node-device.h +++ b/libvirt-gconfig/libvirt-gconfig-node-device.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-node-device.h: libvirt node device configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object-private.h b/libvirt-gconfig/libvirt-gconfig-object-private.h index 9b75d2d..122e07f 100644 --- a/libvirt-gconfig/libvirt-gconfig-object-private.h +++ b/libvirt-gconfig/libvirt-gconfig-object-private.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-object-private.h: base object for XML configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c index f7b60e2..86c37f8 100644 --- a/libvirt-gconfig/libvirt-gconfig-object.c +++ b/libvirt-gconfig/libvirt-gconfig-object.c @@ -2,7 +2,7 @@ * libvirt-gconfig-object.c: base object for XML configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object.h b/libvirt-gconfig/libvirt-gconfig-object.h index ce91fa6..870c48e 100644 --- a/libvirt-gconfig/libvirt-gconfig-object.h +++ b/libvirt-gconfig/libvirt-gconfig-object.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-object.h: base object for XML configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-secret.c b/libvirt-gconfig/libvirt-gconfig-secret.c index 801c7a6..594af4f 100644 --- a/libvirt-gconfig/libvirt-gconfig-secret.c +++ b/libvirt-gconfig/libvirt-gconfig-secret.c @@ -2,7 +2,7 @@ * libvirt-gconfig-secret.c: libvirt secret configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-secret.h b/libvirt-gconfig/libvirt-gconfig-secret.h index 2661717..f8b9aae 100644 --- a/libvirt-gconfig/libvirt-gconfig-secret.h +++ b/libvirt-gconfig/libvirt-gconfig-secret.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-secret.h: libvirt secret configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.c b/libvirt-gconfig/libvirt-gconfig-storage-pool.c index c3abb3c..0b398b8 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-pool.c +++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.c @@ -2,7 +2,7 @@ * libvirt-gconfig-storage-pool.c: libvirt storage pool configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.h b/libvirt-gconfig/libvirt-gconfig-storage-pool.h index f91260b..4992138 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-pool.h +++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-storage-pool.h: libvirt storage pool configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol.c b/libvirt-gconfig/libvirt-gconfig-storage-vol.c index 6e6f8d2..3c6f056 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-vol.c +++ b/libvirt-gconfig/libvirt-gconfig-storage-vol.c @@ -2,7 +2,7 @@ * libvirt-gconfig-storage-vol.c: libvirt storage vol configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol.h b/libvirt-gconfig/libvirt-gconfig-storage-vol.h index 5c99c9a..98ca641 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-vol.h +++ b/libvirt-gconfig/libvirt-gconfig-storage-vol.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-storage-vol.c: libvirt storage volume configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.c b/libvirt-gconfig/libvirt-gconfig-xml-doc.c index fbb1a8b..37e88e1 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.c +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-xml-doc.c: libvirt XML document management * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.h b/libvirt-gconfig/libvirt-gconfig-xml-doc.h index b347da6..dc00bcb 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.h +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-xml-doc.h: libvirt XML document management * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index ee6a429..821d26b 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig.h: libvirt gconfig integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 9491f36..bcaa37e 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -1,7 +1,7 @@ /* * test-domain-create.c: test libvirt-gconfig domain creation * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the diff --git a/libvirt-gconfig/tests/test-domain-parse.c b/libvirt-gconfig/tests/test-domain-parse.c index 9528816..09257b5 100644 --- a/libvirt-gconfig/tests/test-domain-parse.c +++ b/libvirt-gconfig/tests/test-domain-parse.c @@ -1,7 +1,7 @@ /* * test-domain-create.c: test libvirt-gconfig domain parsing * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the diff --git a/libvirt-glib/libvirt-glib-error.c b/libvirt-glib/libvirt-glib-error.c index 0319687..7b37192 100644 --- a/libvirt-glib/libvirt-glib-error.c +++ b/libvirt-glib/libvirt-glib-error.c @@ -2,7 +2,7 @@ * libvirt-glib-error.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-error.h b/libvirt-glib/libvirt-glib-error.h index 703648e..2d491a7 100644 --- a/libvirt-glib/libvirt-glib-error.h +++ b/libvirt-glib/libvirt-glib-error.h @@ -2,7 +2,7 @@ * libvirt-glib-error.h: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-event.c b/libvirt-glib/libvirt-glib-event.c index ac14354..a697640 100644 --- a/libvirt-glib/libvirt-glib-event.c +++ b/libvirt-glib/libvirt-glib-event.c @@ -2,7 +2,7 @@ * libvirt-glib-event.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-event.h b/libvirt-glib/libvirt-glib-event.h index bc90c3b..05dc61d 100644 --- a/libvirt-glib/libvirt-glib-event.h +++ b/libvirt-glib/libvirt-glib-event.h @@ -2,7 +2,7 @@ * libvirt-glib-event.h: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-main.c b/libvirt-glib/libvirt-glib-main.c index f2a66d5..fa27355 100644 --- a/libvirt-glib/libvirt-glib-main.c +++ b/libvirt-glib/libvirt-glib-main.c @@ -2,7 +2,7 @@ * libvirt-glib-main.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-main.h b/libvirt-glib/libvirt-glib-main.h index fe55def..7a9cf7c 100644 --- a/libvirt-glib/libvirt-glib-main.h +++ b/libvirt-glib/libvirt-glib-main.h @@ -2,7 +2,7 @@ * libvirt-glib-main.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib.h b/libvirt-glib/libvirt-glib.h index a752a90..8498d9b 100644 --- a/libvirt-glib/libvirt-glib.h +++ b/libvirt-glib/libvirt-glib.h @@ -1,7 +1,7 @@ /* * libvirt-glib.h: libvirt glib integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-compat.h b/libvirt-gobject/libvirt-gobject-compat.h index 7b4be45..d410953 100644 --- a/libvirt-gobject/libvirt-gobject-compat.h +++ b/libvirt-gobject/libvirt-gobject-compat.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-compat.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-connection.c b/libvirt-gobject/libvirt-gobject-connection.c index ffdc62f..386499c 100644 --- a/libvirt-gobject/libvirt-gobject-connection.c +++ b/libvirt-gobject/libvirt-gobject-connection.c @@ -2,7 +2,7 @@ * libvirt-gobject-connection.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-connection.h b/libvirt-gobject/libvirt-gobject-connection.h index 298009a..ff6f560 100644 --- a/libvirt-gobject/libvirt-gobject-connection.h +++ b/libvirt-gobject/libvirt-gobject-connection.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-connection.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device-private.h b/libvirt-gobject/libvirt-gobject-domain-device-private.h index 2a34309..72c660e 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device-private.h +++ b/libvirt-gobject/libvirt-gobject-domain-device-private.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device-private.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device.c b/libvirt-gobject/libvirt-gobject-domain-device.c index 4264c65..4a46a1d 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device.c +++ b/libvirt-gobject/libvirt-gobject-domain-device.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device.h b/libvirt-gobject/libvirt-gobject-domain-device.h index 35d70f5..96c0433 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device.h +++ b/libvirt-gobject/libvirt-gobject-domain-device.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-disk.c b/libvirt-gobject/libvirt-gobject-domain-disk.c index 3659758..ab9b29f 100644 --- a/libvirt-gobject/libvirt-gobject-domain-disk.c +++ b/libvirt-gobject/libvirt-gobject-domain-disk.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-disk.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-disk.h b/libvirt-gobject/libvirt-gobject-domain-disk.h index 8b59170..21f2357 100644 --- a/libvirt-gobject/libvirt-gobject-domain-disk.h +++ b/libvirt-gobject/libvirt-gobject-domain-disk.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-disk.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-interface.c b/libvirt-gobject/libvirt-gobject-domain-interface.c index 9f6ce8d..223a663 100644 --- a/libvirt-gobject/libvirt-gobject-domain-interface.c +++ b/libvirt-gobject/libvirt-gobject-domain-interface.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-interface.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-interface.h b/libvirt-gobject/libvirt-gobject-domain-interface.h index 5541f91..62848db 100644 --- a/libvirt-gobject/libvirt-gobject-domain-interface.h +++ b/libvirt-gobject/libvirt-gobject-domain-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-interface.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.c b/libvirt-gobject/libvirt-gobject-domain-snapshot.c index 578e348..426c900 100644 --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.c +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.c @@ -2,7 +2,7 @@ * libvirt-gobject-domain_snapshot.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.h b/libvirt-gobject/libvirt-gobject-domain-snapshot.h index fc2eb7b..c16408c 100644 --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.h +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain_snapshot.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain.c b/libvirt-gobject/libvirt-gobject-domain.c index 506f5fd..2ea68ea 100644 --- a/libvirt-gobject/libvirt-gobject-domain.c +++ b/libvirt-gobject/libvirt-gobject-domain.c @@ -2,7 +2,7 @@ * libvirt-gobject-domain.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain.h b/libvirt-gobject/libvirt-gobject-domain.h index b67e8df..0694ed8 100644 --- a/libvirt-gobject/libvirt-gobject-domain.h +++ b/libvirt-gobject/libvirt-gobject-domain.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-input-stream.c b/libvirt-gobject/libvirt-gobject-input-stream.c index c76d648..a890471 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.c +++ b/libvirt-gobject/libvirt-gobject-input-stream.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-input-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-input-stream.h b/libvirt-gobject/libvirt-gobject-input-stream.h index 3c9b4b8..21e10e4 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.h +++ b/libvirt-gobject/libvirt-gobject-input-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-input-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-interface.c b/libvirt-gobject/libvirt-gobject-interface.c index 07f857c..8738870 100644 --- a/libvirt-gobject/libvirt-gobject-interface.c +++ b/libvirt-gobject/libvirt-gobject-interface.c @@ -2,7 +2,7 @@ * libvirt-gobject-interface.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-interface.h b/libvirt-gobject/libvirt-gobject-interface.h index c98dbc4..d124ade 100644 --- a/libvirt-gobject/libvirt-gobject-interface.h +++ b/libvirt-gobject/libvirt-gobject-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-interface.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-main.c b/libvirt-gobject/libvirt-gobject-main.c index e601457..366a28b 100644 --- a/libvirt-gobject/libvirt-gobject-main.c +++ b/libvirt-gobject/libvirt-gobject-main.c @@ -2,7 +2,7 @@ * libvirt-gobject-main.c: libvirt gobject integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-main.h b/libvirt-gobject/libvirt-gobject-main.h index 3434e12..05c6b04 100644 --- a/libvirt-gobject/libvirt-gobject-main.h +++ b/libvirt-gobject/libvirt-gobject-main.h @@ -2,7 +2,7 @@ * libvirt-gobject-main.c: libvirt gobject integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-manager.c b/libvirt-gobject/libvirt-gobject-manager.c index 35308ca..a6a1933 100644 --- a/libvirt-gobject/libvirt-gobject-manager.c +++ b/libvirt-gobject/libvirt-gobject-manager.c @@ -2,7 +2,7 @@ * libvirt-gobject-manager.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-manager.h b/libvirt-gobject/libvirt-gobject-manager.h index 88a2dd6..6833479 100644 --- a/libvirt-gobject/libvirt-gobject-manager.h +++ b/libvirt-gobject/libvirt-gobject-manager.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-manager.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network-filter.c b/libvirt-gobject/libvirt-gobject-network-filter.c index 3a66590..7b1899d 100644 --- a/libvirt-gobject/libvirt-gobject-network-filter.c +++ b/libvirt-gobject/libvirt-gobject-network-filter.c @@ -2,7 +2,7 @@ * libvirt-gobject-network_filter.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network-filter.h b/libvirt-gobject/libvirt-gobject-network-filter.h index 2c03c10..529fe03 100644 --- a/libvirt-gobject/libvirt-gobject-network-filter.h +++ b/libvirt-gobject/libvirt-gobject-network-filter.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-network_filter.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network.c b/libvirt-gobject/libvirt-gobject-network.c index 662fc2f..e600e20 100644 --- a/libvirt-gobject/libvirt-gobject-network.c +++ b/libvirt-gobject/libvirt-gobject-network.c @@ -2,7 +2,7 @@ * libvirt-gobject-network.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network.h b/libvirt-gobject/libvirt-gobject-network.h index 12ee917..c5618e4 100644 --- a/libvirt-gobject/libvirt-gobject-network.h +++ b/libvirt-gobject/libvirt-gobject-network.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-network.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-node-device.c b/libvirt-gobject/libvirt-gobject-node-device.c index 3d1809c..f84e579 100644 --- a/libvirt-gobject/libvirt-gobject-node-device.c +++ b/libvirt-gobject/libvirt-gobject-node-device.c @@ -2,7 +2,7 @@ * libvirt-gobject-node_device.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-node-device.h b/libvirt-gobject/libvirt-gobject-node-device.h index 250001b..5956111 100644 --- a/libvirt-gobject/libvirt-gobject-node-device.h +++ b/libvirt-gobject/libvirt-gobject-node-device.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-node_device.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-output-stream.c b/libvirt-gobject/libvirt-gobject-output-stream.c index e38f9b2..f70f282 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.c +++ b/libvirt-gobject/libvirt-gobject-output-stream.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-output-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-output-stream.h b/libvirt-gobject/libvirt-gobject-output-stream.h index dd1d651..4b70a22 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.h +++ b/libvirt-gobject/libvirt-gobject-output-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-output-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-secret.c b/libvirt-gobject/libvirt-gobject-secret.c index f2bb611..4d9d891 100644 --- a/libvirt-gobject/libvirt-gobject-secret.c +++ b/libvirt-gobject/libvirt-gobject-secret.c @@ -2,7 +2,7 @@ * libvirt-gobject-secret.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-secret.h b/libvirt-gobject/libvirt-gobject-secret.h index e4d385e..e5c9bc8 100644 --- a/libvirt-gobject/libvirt-gobject-secret.h +++ b/libvirt-gobject/libvirt-gobject-secret.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-secret.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.c b/libvirt-gobject/libvirt-gobject-storage-pool.c index da8ada5..d21f1b4 100644 --- a/libvirt-gobject/libvirt-gobject-storage-pool.c +++ b/libvirt-gobject/libvirt-gobject-storage-pool.c @@ -2,7 +2,7 @@ * libvirt-gobject-storage_pool.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.h b/libvirt-gobject/libvirt-gobject-storage-pool.h index d95bb19..08f26aa 100644 --- a/libvirt-gobject/libvirt-gobject-storage-pool.h +++ b/libvirt-gobject/libvirt-gobject-storage-pool.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-storage_pool.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.c b/libvirt-gobject/libvirt-gobject-storage-vol.c index 6340ad7..22546fc 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.c +++ b/libvirt-gobject/libvirt-gobject-storage-vol.c @@ -2,7 +2,7 @@ * libvirt-gobject-storage_vol.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.h b/libvirt-gobject/libvirt-gobject-storage-vol.h index 8acdcf9..efc4234 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.h +++ b/libvirt-gobject/libvirt-gobject-storage-vol.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-storage_vol.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-stream.c b/libvirt-gobject/libvirt-gobject-stream.c index 0377428..5bebfa4 100644 --- a/libvirt-gobject/libvirt-gobject-stream.c +++ b/libvirt-gobject/libvirt-gobject-stream.c @@ -2,7 +2,7 @@ * libvirt-gobject-stream.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-stream.h b/libvirt-gobject/libvirt-gobject-stream.h index c7ec797..3caadc3 100644 --- a/libvirt-gobject/libvirt-gobject-stream.h +++ b/libvirt-gobject/libvirt-gobject-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject.h b/libvirt-gobject/libvirt-gobject.h index aef749b..7a04c14 100644 --- a/libvirt-gobject/libvirt-gobject.h +++ b/libvirt-gobject/libvirt-gobject.h @@ -1,7 +1,7 @@ /* * libvirt-gobject.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/python/libvirt-glib.c b/python/libvirt-glib.c index b264df5..1daca36 100644 --- a/python/libvirt-glib.c +++ b/python/libvirt-glib.c @@ -1,7 +1,7 @@ /* * libvirt-glib.c: Binding the glib event loop integration to python * - * Copyright (C) 2008 Red Hat, Inc. + * Copyright (C) 2008 Red Hat, Inc., Inc. * * Daniel Berrange <berrange@redhat.com> */ -- 1.7.6.4

On Thu, Dec 01, 2011 at 02:05:37PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- examples/conn-test.c | 2 +- libvirt-gconfig/libvirt-gconfig-capabilities.c | 2 +- libvirt-gconfig/libvirt-gconfig-capabilities.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-clock.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-clock.h | 2 +- .../libvirt-gconfig-domain-console-pty.c | 2 +- .../libvirt-gconfig-domain-console-pty.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-console.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-console.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-device.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-device.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-disk.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-disk.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-filesys.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-filesys.h | 2 +- .../libvirt-gconfig-domain-graphics-sdl.c | 2 +- .../libvirt-gconfig-domain-graphics-sdl.h | 2 +- .../libvirt-gconfig-domain-graphics-spice.c | 2 +- .../libvirt-gconfig-domain-graphics-spice.h | 2 +- .../libvirt-gconfig-domain-graphics-vnc.c | 2 +- .../libvirt-gconfig-domain-graphics-vnc.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-graphics.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-graphics.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-input.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-input.h | 2 +- .../libvirt-gconfig-domain-interface-network.c | 2 +- .../libvirt-gconfig-domain-interface-network.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-interface.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-interface.h | 2 +- .../libvirt-gconfig-domain-memballoon.c | 2 +- .../libvirt-gconfig-domain-memballoon.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-os.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-os.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-seclabel.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-seclabel.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-snapshot.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-snapshot.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-timer.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain-video.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain-video.h | 2 +- libvirt-gconfig/libvirt-gconfig-domain.c | 2 +- libvirt-gconfig/libvirt-gconfig-domain.h | 2 +- libvirt-gconfig/libvirt-gconfig-helpers-private.h | 2 +- libvirt-gconfig/libvirt-gconfig-helpers.c | 2 +- libvirt-gconfig/libvirt-gconfig-helpers.h | 2 +- libvirt-gconfig/libvirt-gconfig-interface.c | 2 +- libvirt-gconfig/libvirt-gconfig-interface.h | 2 +- libvirt-gconfig/libvirt-gconfig-main.c | 2 +- libvirt-gconfig/libvirt-gconfig-main.h | 2 +- libvirt-gconfig/libvirt-gconfig-network-filter.c | 2 +- libvirt-gconfig/libvirt-gconfig-network-filter.h | 2 +- libvirt-gconfig/libvirt-gconfig-network.c | 2 +- libvirt-gconfig/libvirt-gconfig-network.h | 2 +- libvirt-gconfig/libvirt-gconfig-node-device.c | 2 +- libvirt-gconfig/libvirt-gconfig-node-device.h | 2 +- libvirt-gconfig/libvirt-gconfig-object-private.h | 2 +- libvirt-gconfig/libvirt-gconfig-object.c | 2 +- libvirt-gconfig/libvirt-gconfig-object.h | 2 +- libvirt-gconfig/libvirt-gconfig-secret.c | 2 +- libvirt-gconfig/libvirt-gconfig-secret.h | 2 +- libvirt-gconfig/libvirt-gconfig-storage-pool.c | 2 +- libvirt-gconfig/libvirt-gconfig-storage-pool.h | 2 +- libvirt-gconfig/libvirt-gconfig-storage-vol.c | 2 +- libvirt-gconfig/libvirt-gconfig-storage-vol.h | 2 +- libvirt-gconfig/libvirt-gconfig-xml-doc.c | 2 +- libvirt-gconfig/libvirt-gconfig-xml-doc.h | 2 +- libvirt-gconfig/libvirt-gconfig.h | 2 +- libvirt-gconfig/tests/test-domain-create.c | 2 +- libvirt-gconfig/tests/test-domain-parse.c | 2 +- libvirt-glib/libvirt-glib-error.c | 2 +- libvirt-glib/libvirt-glib-error.h | 2 +- libvirt-glib/libvirt-glib-event.c | 2 +- libvirt-glib/libvirt-glib-event.h | 2 +- libvirt-glib/libvirt-glib-main.c | 2 +- libvirt-glib/libvirt-glib-main.h | 2 +- libvirt-glib/libvirt-glib.h | 2 +- libvirt-gobject/libvirt-gobject-compat.h | 2 +- libvirt-gobject/libvirt-gobject-connection.c | 2 +- libvirt-gobject/libvirt-gobject-connection.h | 2 +- .../libvirt-gobject-domain-device-private.h | 2 +- libvirt-gobject/libvirt-gobject-domain-device.c | 2 +- libvirt-gobject/libvirt-gobject-domain-device.h | 2 +- libvirt-gobject/libvirt-gobject-domain-disk.c | 2 +- libvirt-gobject/libvirt-gobject-domain-disk.h | 2 +- libvirt-gobject/libvirt-gobject-domain-interface.c | 2 +- libvirt-gobject/libvirt-gobject-domain-interface.h | 2 +- libvirt-gobject/libvirt-gobject-domain-snapshot.c | 2 +- libvirt-gobject/libvirt-gobject-domain-snapshot.h | 2 +- libvirt-gobject/libvirt-gobject-domain.c | 2 +- libvirt-gobject/libvirt-gobject-domain.h | 2 +- libvirt-gobject/libvirt-gobject-input-stream.c | 2 +- libvirt-gobject/libvirt-gobject-input-stream.h | 2 +- libvirt-gobject/libvirt-gobject-interface.c | 2 +- libvirt-gobject/libvirt-gobject-interface.h | 2 +- libvirt-gobject/libvirt-gobject-main.c | 2 +- libvirt-gobject/libvirt-gobject-main.h | 2 +- libvirt-gobject/libvirt-gobject-manager.c | 2 +- libvirt-gobject/libvirt-gobject-manager.h | 2 +- libvirt-gobject/libvirt-gobject-network-filter.c | 2 +- libvirt-gobject/libvirt-gobject-network-filter.h | 2 +- libvirt-gobject/libvirt-gobject-network.c | 2 +- libvirt-gobject/libvirt-gobject-network.h | 2 +- libvirt-gobject/libvirt-gobject-node-device.c | 2 +- libvirt-gobject/libvirt-gobject-node-device.h | 2 +- libvirt-gobject/libvirt-gobject-output-stream.c | 2 +- libvirt-gobject/libvirt-gobject-output-stream.h | 2 +- libvirt-gobject/libvirt-gobject-secret.c | 2 +- libvirt-gobject/libvirt-gobject-secret.h | 2 +- libvirt-gobject/libvirt-gobject-storage-pool.c | 2 +- libvirt-gobject/libvirt-gobject-storage-pool.h | 2 +- libvirt-gobject/libvirt-gobject-storage-vol.c | 2 +- libvirt-gobject/libvirt-gobject-storage-vol.h | 2 +- libvirt-gobject/libvirt-gobject-stream.c | 2 +- libvirt-gobject/libvirt-gobject-stream.h | 2 +- libvirt-gobject/libvirt-gobject.h | 2 +- python/libvirt-glib.c | 2 +- 117 files changed, 117 insertions(+), 117 deletions(-)
diff --git a/examples/conn-test.c b/examples/conn-test.c index 6552e9e..37b0007 100644 --- a/examples/conn-test.c +++ b/examples/conn-test.c @@ -1,7 +1,7 @@ /* * conn-test.c: test libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-capabilities.c b/libvirt-gconfig/libvirt-gconfig-capabilities.c index 9d4a95d..104fabc 100644 --- a/libvirt-gconfig/libvirt-gconfig-capabilities.c +++ b/libvirt-gconfig/libvirt-gconfig-capabilities.c @@ -2,7 +2,7 @@ * libvirt-gconfig-capabilities.c: libvirt capabilities configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-capabilities.h b/libvirt-gconfig/libvirt-gconfig-capabilities.h index 1b8bbe3..8288125 100644 --- a/libvirt-gconfig/libvirt-gconfig-capabilities.h +++ b/libvirt-gconfig/libvirt-gconfig-capabilities.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-capabilities.c: libvirt capabilities configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.c b/libvirt-gconfig/libvirt-gconfig-domain-clock.c index 7441a76..16d75d5 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-clock.c: libvirt domain clock configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.h b/libvirt-gconfig/libvirt-gconfig-domain-clock.h index 0c8e839..6e5a80a 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-clock.h: libvirt domain clock configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c index f132d6c..986b35c 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h index 56640ab..f7f8c35 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-console-pty.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console-pty.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.c b/libvirt-gconfig/libvirt-gconfig-domain-console.c index 225a587..4cac279 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console.c: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-console.h b/libvirt-gconfig/libvirt-gconfig-domain-console.h index 9221e6d..e35591c 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-console.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-console.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-console.h: libvirt domain console configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device.c b/libvirt-gconfig/libvirt-gconfig-domain-device.c index 3a2d991..980ae70 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-device.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-device.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-device.c: libvirt domain device configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device.h b/libvirt-gconfig/libvirt-gconfig-domain-device.h index c67ac7b..eea67c0 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-device.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-device.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-device.h: libvirt domain device configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.c b/libvirt-gconfig/libvirt-gconfig-domain-disk.c index ef1b069..502cf43 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-disk.c: libvirt domain disk configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-disk.h b/libvirt-gconfig/libvirt-gconfig-domain-disk.h index 67b00b8..b90b2bc 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-disk.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-disk.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-disk.h: libvirt domain disk configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c index e54e50c..6727726 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-filesys.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-filesys.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-filesys.c: libvirt domain filesystem configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-filesys.h b/libvirt-gconfig/libvirt-gconfig-domain-filesys.h index 4c31459..01be28b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-filesys.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-filesys.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-filesys.h: libvirt domain filesystem configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c index 2dde518..c60e72b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-sdl.c: libvirt domain SDL configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h index 3ae3c7d..12105e9 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-sdl.h: libvirt domain SDL configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c index 67c2267..483f7d7 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-spice.c: libvirt domain SPICE configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h index a96fd59..b1b8361 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-spice.h: libvirt domain SPICE confiiguration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c index 593c9f1..4edfa9a 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-vnc.c: libvirt domain VNC configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h index ad41e08..e69ec54 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics-vnc.h: libvirt domain VNC graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics.c index b8a4063..53a663b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics.c: libvirt domain graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics.h index 93a0eb0..209380d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-graphics.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-graphics.h: libvirt domain graphics configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-input.c b/libvirt-gconfig/libvirt-gconfig-domain-input.c index 77cccbe..5bc70c8 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-input.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-input.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-device-input.c: libvirt domain input configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-input.h b/libvirt-gconfig/libvirt-gconfig-domain-input.h index 2afc263..10e1311 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-input.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-input.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-input.c: libvirt domain input configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c index 6a390fe..ad6cc0b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-interface-network.c: libvirt domain interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h index a5ea3e2..a8c18bf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface-network.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-interface-network.c: libvirt domain interface configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface.c b/libvirt-gconfig/libvirt-gconfig-domain-interface.c index 541f44c..a719eaf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-interface.c: libvirt domain interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Actually this was a wrong copy and paste and should only be Copyright (C) 2011 Red Hat, Inc.
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface.h b/libvirt-gconfig/libvirt-gconfig-domain-interface.h index 2a6bc6a..28f6885 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-interface.h: libvirt domain interface configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Ditto
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c index 6bc5a8f..08e23b2 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-memballoon.c: libvirt domain memballoon configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h index 2754d67..af4c418 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-memballoon.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-memballoon.h: libvirt domain memballoon configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.c b/libvirt-gconfig/libvirt-gconfig-domain-os.c index 28c8894..2b0cdff 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-os.c: libvirt domain OS configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-os.h b/libvirt-gconfig/libvirt-gconfig-domain-os.h index 1665e3d..9f0ff00 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-os.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-os.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-os.c: libvirt domain OS configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c index 56916b7..7537a78 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-seclabel.c: libvirt domain security label configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h index 7f55096..38d4f4e 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-seclabel.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-seclabel.h: libvirt domain security label configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c index 20ec499..72760ba 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-snapshot.c: libvirt domain snapshot configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h index 0df3210..59ec26d 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-snapshot.h: libvirt domain snapshot configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index d278dd7..50fd80f 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-timer.c: libvirt domain timer configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index d63a3f4..7b5a32b 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-timer.h: libvirt domain timer configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-video.c b/libvirt-gconfig/libvirt-gconfig-domain-video.c index 68b739f..bba8073 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-video.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-video.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-video.c: libvirt domain video configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain-video.h b/libvirt-gconfig/libvirt-gconfig-domain-video.h index d9cbcc6..cdf2e62 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-video.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-video.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain-video.h: libvirt domain video configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain.c b/libvirt-gconfig/libvirt-gconfig-domain.c index 2f34c1b..e757228 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.c +++ b/libvirt-gconfig/libvirt-gconfig-domain.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain.c: libvirt domain configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
We can append Copyright (C) 2011 Red Hat, Inc. here
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-domain.h b/libvirt-gconfig/libvirt-gconfig-domain.h index 7b40f99..8921880 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain.h +++ b/libvirt-gconfig/libvirt-gconfig-domain.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-domain.h: libvirt domain configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
and here too
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers-private.h b/libvirt-gconfig/libvirt-gconfig-helpers-private.h index 0a35595..6277cbd 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers-private.h +++ b/libvirt-gconfig/libvirt-gconfig-helpers-private.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers-private.h: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.c b/libvirt-gconfig/libvirt-gconfig-helpers.c index 722fe3d..7bba594 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers.c +++ b/libvirt-gconfig/libvirt-gconfig-helpers.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers.c: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.h b/libvirt-gconfig/libvirt-gconfig-helpers.h index dd5477a..25680f6 100644 --- a/libvirt-gconfig/libvirt-gconfig-helpers.h +++ b/libvirt-gconfig/libvirt-gconfig-helpers.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-helpers.h: libvirt configuration helpers * - * Copyright (C) 2010, 2011 Red Hat + * Copyright (C) 2010, 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-interface.c b/libvirt-gconfig/libvirt-gconfig-interface.c index 9e5b667..59fc12f 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-interface.c @@ -2,7 +2,7 @@ * libvirt-gconfig-interface.c: libvirt interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-interface.h b/libvirt-gconfig/libvirt-gconfig-interface.h index 5dc0516..0ce2919 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.h +++ b/libvirt-gconfig/libvirt-gconfig-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-interface.c: libvirt interface configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-main.c b/libvirt-gconfig/libvirt-gconfig-main.c index eb3732f..b506060 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.c +++ b/libvirt-gconfig/libvirt-gconfig-main.c @@ -2,7 +2,7 @@ * libvirt-gconfig-main.c: libvirt gconfig integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-main.h b/libvirt-gconfig/libvirt-gconfig-main.h index 411a53a..963efe5 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.h +++ b/libvirt-gconfig/libvirt-gconfig-main.h @@ -2,7 +2,7 @@ * libvirt-gconfig-main.h: libvirt gconfig integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network-filter.c b/libvirt-gconfig/libvirt-gconfig-network-filter.c index 576c014..d0940ef 100644 --- a/libvirt-gconfig/libvirt-gconfig-network-filter.c +++ b/libvirt-gconfig/libvirt-gconfig-network-filter.c @@ -2,7 +2,7 @@ * libvirt-gconfig-network-filter.c: libvirt network filter configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network-filter.h b/libvirt-gconfig/libvirt-gconfig-network-filter.h index edc6fe9..004b327 100644 --- a/libvirt-gconfig/libvirt-gconfig-network-filter.h +++ b/libvirt-gconfig/libvirt-gconfig-network-filter.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-network-filter.h: libvirt network filter configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network.c b/libvirt-gconfig/libvirt-gconfig-network.c index 47e998c..08fcb31 100644 --- a/libvirt-gconfig/libvirt-gconfig-network.c +++ b/libvirt-gconfig/libvirt-gconfig-network.c @@ -2,7 +2,7 @@ * libvirt-gconfig-network.c: libvirt network configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-network.h b/libvirt-gconfig/libvirt-gconfig-network.h index 60a56a5..923b7a0 100644 --- a/libvirt-gconfig/libvirt-gconfig-network.h +++ b/libvirt-gconfig/libvirt-gconfig-network.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-network.c: libvirt network configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-node-device.c b/libvirt-gconfig/libvirt-gconfig-node-device.c index a42f7cc..7724acf 100644 --- a/libvirt-gconfig/libvirt-gconfig-node-device.c +++ b/libvirt-gconfig/libvirt-gconfig-node-device.c @@ -2,7 +2,7 @@ * libvirt-gconfig-node-device.c: libvirt node device configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-node-device.h b/libvirt-gconfig/libvirt-gconfig-node-device.h index fc1e7ce..27b372d 100644 --- a/libvirt-gconfig/libvirt-gconfig-node-device.h +++ b/libvirt-gconfig/libvirt-gconfig-node-device.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-node-device.h: libvirt node device configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object-private.h b/libvirt-gconfig/libvirt-gconfig-object-private.h index 9b75d2d..122e07f 100644 --- a/libvirt-gconfig/libvirt-gconfig-object-private.h +++ b/libvirt-gconfig/libvirt-gconfig-object-private.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-object-private.h: base object for XML configuration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c index f7b60e2..86c37f8 100644 --- a/libvirt-gconfig/libvirt-gconfig-object.c +++ b/libvirt-gconfig/libvirt-gconfig-object.c @@ -2,7 +2,7 @@ * libvirt-gconfig-object.c: base object for XML configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
2011 too
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-object.h b/libvirt-gconfig/libvirt-gconfig-object.h index ce91fa6..870c48e 100644 --- a/libvirt-gconfig/libvirt-gconfig-object.h +++ b/libvirt-gconfig/libvirt-gconfig-object.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-object.h: base object for XML configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
+ 2011
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-secret.c b/libvirt-gconfig/libvirt-gconfig-secret.c index 801c7a6..594af4f 100644 --- a/libvirt-gconfig/libvirt-gconfig-secret.c +++ b/libvirt-gconfig/libvirt-gconfig-secret.c @@ -2,7 +2,7 @@ * libvirt-gconfig-secret.c: libvirt secret configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-secret.h b/libvirt-gconfig/libvirt-gconfig-secret.h index 2661717..f8b9aae 100644 --- a/libvirt-gconfig/libvirt-gconfig-secret.h +++ b/libvirt-gconfig/libvirt-gconfig-secret.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-secret.h: libvirt secret configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.c b/libvirt-gconfig/libvirt-gconfig-storage-pool.c index c3abb3c..0b398b8 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-pool.c +++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.c @@ -2,7 +2,7 @@ * libvirt-gconfig-storage-pool.c: libvirt storage pool configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-pool.h b/libvirt-gconfig/libvirt-gconfig-storage-pool.h index f91260b..4992138 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-pool.h +++ b/libvirt-gconfig/libvirt-gconfig-storage-pool.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-storage-pool.h: libvirt storage pool configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol.c b/libvirt-gconfig/libvirt-gconfig-storage-vol.c index 6e6f8d2..3c6f056 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-vol.c +++ b/libvirt-gconfig/libvirt-gconfig-storage-vol.c @@ -2,7 +2,7 @@ * libvirt-gconfig-storage-vol.c: libvirt storage vol configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol.h b/libvirt-gconfig/libvirt-gconfig-storage-vol.h index 5c99c9a..98ca641 100644 --- a/libvirt-gconfig/libvirt-gconfig-storage-vol.h +++ b/libvirt-gconfig/libvirt-gconfig-storage-vol.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig-storage-vol.c: libvirt storage volume configuration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.c b/libvirt-gconfig/libvirt-gconfig-xml-doc.c index fbb1a8b..37e88e1 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.c +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.c @@ -1,7 +1,7 @@ /* * libvirt-gconfig-xml-doc.c: libvirt XML document management * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig-xml-doc.h b/libvirt-gconfig/libvirt-gconfig-xml-doc.h index b347da6..dc00bcb 100644 --- a/libvirt-gconfig/libvirt-gconfig-xml-doc.h +++ b/libvirt-gconfig/libvirt-gconfig-xml-doc.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-xml-doc.h: libvirt XML document management * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index ee6a429..821d26b 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -1,7 +1,7 @@ /* * libvirt-gconfig.h: libvirt gconfig integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 9491f36..bcaa37e 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -1,7 +1,7 @@ /* * test-domain-create.c: test libvirt-gconfig domain creation * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the diff --git a/libvirt-gconfig/tests/test-domain-parse.c b/libvirt-gconfig/tests/test-domain-parse.c index 9528816..09257b5 100644 --- a/libvirt-gconfig/tests/test-domain-parse.c +++ b/libvirt-gconfig/tests/test-domain-parse.c @@ -1,7 +1,7 @@ /* * test-domain-create.c: test libvirt-gconfig domain parsing * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the diff --git a/libvirt-glib/libvirt-glib-error.c b/libvirt-glib/libvirt-glib-error.c index 0319687..7b37192 100644 --- a/libvirt-glib/libvirt-glib-error.c +++ b/libvirt-glib/libvirt-glib-error.c @@ -2,7 +2,7 @@ * libvirt-glib-error.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-error.h b/libvirt-glib/libvirt-glib-error.h index 703648e..2d491a7 100644 --- a/libvirt-glib/libvirt-glib-error.h +++ b/libvirt-glib/libvirt-glib-error.h @@ -2,7 +2,7 @@ * libvirt-glib-error.h: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-event.c b/libvirt-glib/libvirt-glib-event.c index ac14354..a697640 100644 --- a/libvirt-glib/libvirt-glib-event.c +++ b/libvirt-glib/libvirt-glib-event.c @@ -2,7 +2,7 @@ * libvirt-glib-event.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-event.h b/libvirt-glib/libvirt-glib-event.h index bc90c3b..05dc61d 100644 --- a/libvirt-glib/libvirt-glib-event.h +++ b/libvirt-glib/libvirt-glib-event.h @@ -2,7 +2,7 @@ * libvirt-glib-event.h: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-main.c b/libvirt-glib/libvirt-glib-main.c index f2a66d5..fa27355 100644 --- a/libvirt-glib/libvirt-glib-main.c +++ b/libvirt-glib/libvirt-glib-main.c @@ -2,7 +2,7 @@ * libvirt-glib-main.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib-main.h b/libvirt-glib/libvirt-glib-main.h index fe55def..7a9cf7c 100644 --- a/libvirt-glib/libvirt-glib-main.h +++ b/libvirt-glib/libvirt-glib-main.h @@ -2,7 +2,7 @@ * libvirt-glib-main.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-glib/libvirt-glib.h b/libvirt-glib/libvirt-glib.h index a752a90..8498d9b 100644 --- a/libvirt-glib/libvirt-glib.h +++ b/libvirt-glib/libvirt-glib.h @@ -1,7 +1,7 @@ /* * libvirt-glib.h: libvirt glib integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-compat.h b/libvirt-gobject/libvirt-gobject-compat.h index 7b4be45..d410953 100644 --- a/libvirt-gobject/libvirt-gobject-compat.h +++ b/libvirt-gobject/libvirt-gobject-compat.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-compat.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-connection.c b/libvirt-gobject/libvirt-gobject-connection.c index ffdc62f..386499c 100644 --- a/libvirt-gobject/libvirt-gobject-connection.c +++ b/libvirt-gobject/libvirt-gobject-connection.c @@ -2,7 +2,7 @@ * libvirt-gobject-connection.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
I guess it has seen significant changes this year?
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-connection.h b/libvirt-gobject/libvirt-gobject-connection.h index 298009a..ff6f560 100644 --- a/libvirt-gobject/libvirt-gobject-connection.h +++ b/libvirt-gobject/libvirt-gobject-connection.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-connection.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device-private.h b/libvirt-gobject/libvirt-gobject-domain-device-private.h index 2a34309..72c660e 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device-private.h +++ b/libvirt-gobject/libvirt-gobject-domain-device-private.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device-private.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device.c b/libvirt-gobject/libvirt-gobject-domain-device.c index 4264c65..4a46a1d 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device.c +++ b/libvirt-gobject/libvirt-gobject-domain-device.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-device.h b/libvirt-gobject/libvirt-gobject-domain-device.h index 35d70f5..96c0433 100644 --- a/libvirt-gobject/libvirt-gobject-domain-device.h +++ b/libvirt-gobject/libvirt-gobject-domain-device.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-device.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-disk.c b/libvirt-gobject/libvirt-gobject-domain-disk.c index 3659758..ab9b29f 100644 --- a/libvirt-gobject/libvirt-gobject-domain-disk.c +++ b/libvirt-gobject/libvirt-gobject-domain-disk.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-disk.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-disk.h b/libvirt-gobject/libvirt-gobject-domain-disk.h index 8b59170..21f2357 100644 --- a/libvirt-gobject/libvirt-gobject-domain-disk.h +++ b/libvirt-gobject/libvirt-gobject-domain-disk.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-disk.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-interface.c b/libvirt-gobject/libvirt-gobject-domain-interface.c index 9f6ce8d..223a663 100644 --- a/libvirt-gobject/libvirt-gobject-domain-interface.c +++ b/libvirt-gobject/libvirt-gobject-domain-interface.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-interface.c: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-interface.h b/libvirt-gobject/libvirt-gobject-domain-interface.h index 5541f91..62848db 100644 --- a/libvirt-gobject/libvirt-gobject-domain-interface.h +++ b/libvirt-gobject/libvirt-gobject-domain-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain-interface.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.c b/libvirt-gobject/libvirt-gobject-domain-snapshot.c index 578e348..426c900 100644 --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.c +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.c @@ -2,7 +2,7 @@ * libvirt-gobject-domain_snapshot.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain-snapshot.h b/libvirt-gobject/libvirt-gobject-domain-snapshot.h index fc2eb7b..c16408c 100644 --- a/libvirt-gobject/libvirt-gobject-domain-snapshot.h +++ b/libvirt-gobject/libvirt-gobject-domain-snapshot.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain_snapshot.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain.c b/libvirt-gobject/libvirt-gobject-domain.c index 506f5fd..2ea68ea 100644 --- a/libvirt-gobject/libvirt-gobject-domain.c +++ b/libvirt-gobject/libvirt-gobject-domain.c @@ -2,7 +2,7 @@ * libvirt-gobject-domain.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
2011
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-domain.h b/libvirt-gobject/libvirt-gobject-domain.h index b67e8df..0694ed8 100644 --- a/libvirt-gobject/libvirt-gobject-domain.h +++ b/libvirt-gobject/libvirt-gobject-domain.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-domain.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
2011
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-input-stream.c b/libvirt-gobject/libvirt-gobject-input-stream.c index c76d648..a890471 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.c +++ b/libvirt-gobject/libvirt-gobject-input-stream.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-input-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-input-stream.h b/libvirt-gobject/libvirt-gobject-input-stream.h index 3c9b4b8..21e10e4 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.h +++ b/libvirt-gobject/libvirt-gobject-input-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-input-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-interface.c b/libvirt-gobject/libvirt-gobject-interface.c index 07f857c..8738870 100644 --- a/libvirt-gobject/libvirt-gobject-interface.c +++ b/libvirt-gobject/libvirt-gobject-interface.c @@ -2,7 +2,7 @@ * libvirt-gobject-interface.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-interface.h b/libvirt-gobject/libvirt-gobject-interface.h index c98dbc4..d124ade 100644 --- a/libvirt-gobject/libvirt-gobject-interface.h +++ b/libvirt-gobject/libvirt-gobject-interface.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-interface.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-main.c b/libvirt-gobject/libvirt-gobject-main.c index e601457..366a28b 100644 --- a/libvirt-gobject/libvirt-gobject-main.c +++ b/libvirt-gobject/libvirt-gobject-main.c @@ -2,7 +2,7 @@ * libvirt-gobject-main.c: libvirt gobject integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-main.h b/libvirt-gobject/libvirt-gobject-main.h index 3434e12..05c6b04 100644 --- a/libvirt-gobject/libvirt-gobject-main.h +++ b/libvirt-gobject/libvirt-gobject-main.h @@ -2,7 +2,7 @@ * libvirt-gobject-main.c: libvirt gobject integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-manager.c b/libvirt-gobject/libvirt-gobject-manager.c index 35308ca..a6a1933 100644 --- a/libvirt-gobject/libvirt-gobject-manager.c +++ b/libvirt-gobject/libvirt-gobject-manager.c @@ -2,7 +2,7 @@ * libvirt-gobject-manager.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-manager.h b/libvirt-gobject/libvirt-gobject-manager.h index 88a2dd6..6833479 100644 --- a/libvirt-gobject/libvirt-gobject-manager.h +++ b/libvirt-gobject/libvirt-gobject-manager.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-manager.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network-filter.c b/libvirt-gobject/libvirt-gobject-network-filter.c index 3a66590..7b1899d 100644 --- a/libvirt-gobject/libvirt-gobject-network-filter.c +++ b/libvirt-gobject/libvirt-gobject-network-filter.c @@ -2,7 +2,7 @@ * libvirt-gobject-network_filter.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network-filter.h b/libvirt-gobject/libvirt-gobject-network-filter.h index 2c03c10..529fe03 100644 --- a/libvirt-gobject/libvirt-gobject-network-filter.h +++ b/libvirt-gobject/libvirt-gobject-network-filter.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-network_filter.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network.c b/libvirt-gobject/libvirt-gobject-network.c index 662fc2f..e600e20 100644 --- a/libvirt-gobject/libvirt-gobject-network.c +++ b/libvirt-gobject/libvirt-gobject-network.c @@ -2,7 +2,7 @@ * libvirt-gobject-network.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-network.h b/libvirt-gobject/libvirt-gobject-network.h index 12ee917..c5618e4 100644 --- a/libvirt-gobject/libvirt-gobject-network.h +++ b/libvirt-gobject/libvirt-gobject-network.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-network.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-node-device.c b/libvirt-gobject/libvirt-gobject-node-device.c index 3d1809c..f84e579 100644 --- a/libvirt-gobject/libvirt-gobject-node-device.c +++ b/libvirt-gobject/libvirt-gobject-node-device.c @@ -2,7 +2,7 @@ * libvirt-gobject-node_device.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-node-device.h b/libvirt-gobject/libvirt-gobject-node-device.h index 250001b..5956111 100644 --- a/libvirt-gobject/libvirt-gobject-node-device.h +++ b/libvirt-gobject/libvirt-gobject-node-device.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-node_device.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-output-stream.c b/libvirt-gobject/libvirt-gobject-output-stream.c index e38f9b2..f70f282 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.c +++ b/libvirt-gobject/libvirt-gobject-output-stream.c @@ -1,7 +1,7 @@ /* * libvirt-gobject-output-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-output-stream.h b/libvirt-gobject/libvirt-gobject-output-stream.h index dd1d651..4b70a22 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.h +++ b/libvirt-gobject/libvirt-gobject-output-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-output-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-secret.c b/libvirt-gobject/libvirt-gobject-secret.c index f2bb611..4d9d891 100644 --- a/libvirt-gobject/libvirt-gobject-secret.c +++ b/libvirt-gobject/libvirt-gobject-secret.c @@ -2,7 +2,7 @@ * libvirt-gobject-secret.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-secret.h b/libvirt-gobject/libvirt-gobject-secret.h index e4d385e..e5c9bc8 100644 --- a/libvirt-gobject/libvirt-gobject-secret.h +++ b/libvirt-gobject/libvirt-gobject-secret.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-secret.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.c b/libvirt-gobject/libvirt-gobject-storage-pool.c index da8ada5..d21f1b4 100644 --- a/libvirt-gobject/libvirt-gobject-storage-pool.c +++ b/libvirt-gobject/libvirt-gobject-storage-pool.c @@ -2,7 +2,7 @@ * libvirt-gobject-storage_pool.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Some API was added in 2011 too
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.h b/libvirt-gobject/libvirt-gobject-storage-pool.h index d95bb19..08f26aa 100644 --- a/libvirt-gobject/libvirt-gobject-storage-pool.h +++ b/libvirt-gobject/libvirt-gobject-storage-pool.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-storage_pool.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Ditto
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.c b/libvirt-gobject/libvirt-gobject-storage-vol.c index 6340ad7..22546fc 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.c +++ b/libvirt-gobject/libvirt-gobject-storage-vol.c @@ -2,7 +2,7 @@ * libvirt-gobject-storage_vol.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Ditto
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.h b/libvirt-gobject/libvirt-gobject-storage-vol.h index 8acdcf9..efc4234 100644 --- a/libvirt-gobject/libvirt-gobject-storage-vol.h +++ b/libvirt-gobject/libvirt-gobject-storage-vol.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-storage_vol.c: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Ditto
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-stream.c b/libvirt-gobject/libvirt-gobject-stream.c index 0377428..5bebfa4 100644 --- a/libvirt-gobject/libvirt-gobject-stream.c +++ b/libvirt-gobject/libvirt-gobject-stream.c @@ -2,7 +2,7 @@ * libvirt-gobject-stream.c: libvirt glib integration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Ditto
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject-stream.h b/libvirt-gobject/libvirt-gobject-stream.h index c7ec797..3caadc3 100644 --- a/libvirt-gobject/libvirt-gobject-stream.h +++ b/libvirt-gobject/libvirt-gobject-stream.h @@ -1,7 +1,7 @@ /* * libvirt-gobject-stream.h: libvirt gobject integration * - * Copyright (C) 2011 Red Hat + * Copyright (C) 2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/libvirt-gobject/libvirt-gobject.h b/libvirt-gobject/libvirt-gobject.h index aef749b..7a04c14 100644 --- a/libvirt-gobject/libvirt-gobject.h +++ b/libvirt-gobject/libvirt-gobject.h @@ -1,7 +1,7 @@ /* * libvirt-gobject.h: libvirt gobject integration * - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/python/libvirt-glib.c b/python/libvirt-glib.c index b264df5..1daca36 100644 --- a/python/libvirt-glib.c +++ b/python/libvirt-glib.c @@ -1,7 +1,7 @@ /* * libvirt-glib.c: Binding the glib event loop integration to python * - * Copyright (C) 2008 Red Hat, Inc. + * Copyright (C) 2008 Red Hat, Inc., Inc. * * Daniel Berrange <berrange@redhat.com> */ -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Thu, Dec 01, 2011 at 04:03:51PM +0100, Christophe Fergeau wrote:
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-interface.c b/libvirt-gconfig/libvirt-gconfig-domain-interface.c index 541f44c..a719eaf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-interface.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-interface.c: libvirt domain interface configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010 Red Hat + * Copyright (C) 2010 Red Hat, Inc.
Actually this was a wrong copy and paste and should only be Copyright (C) 2011 Red Hat, Inc.
I'll change all cases of '2010' to '2010-2011' Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

From: "Daniel P. Berrange" <berrange@redhat.com> * Makefile.am, python/Makefile.am: Remove use of @FOO@ in favour of $(FOO) --- Makefile.am | 4 ++-- python/Makefile.am | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 2b4ee95..13a7d32 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,9 +6,9 @@ ACLOCAL_AMFLAGS = -I m4 pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libvirt-glib-1.0.pc libvirt-gconfig-1.0.pc libvirt-gobject-1.0.pc -EXTRA_DIST = @PACKAGE@.spec $(pkgconfig_DATA:%.pc=%.pc.in) +EXTRA_DIST = $(PACKAGE).spec $(pkgconfig_DATA:%.pc=%.pc.in) -DISTCLEAN_FILES = @PACKAGE@.spec $(pkgconfig_DATA) +DISTCLEAN_FILES = $(PACKAGE).spec $(pkgconfig_DATA) DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc=yes --enable-introspection=yes diff --git a/python/Makefile.am b/python/Makefile.am index f4f0d9f..c890864 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -23,7 +23,7 @@ libvirtglibmod_la_LIBADD = ../libvirt-glib/libvirt-glib-1.0.la install-data-local: $(mkinstalldirs) $(DESTDIR)$(pythondir) - @INSTALL@ -m 0644 $(srcdir)/libvirtglib.py $(DESTDIR)$(pythondir) + $(INSTALL) -m 0644 $(srcdir)/libvirtglib.py $(DESTDIR)$(pythondir) uninstall-local: rm -f $(DESTDIR)$(pythondir)/libvirtglib.py -- 1.7.6.4

s/used/use in subject, ACK otherwise On Thu, Dec 01, 2011 at 02:05:38PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
* Makefile.am, python/Makefile.am: Remove use of @FOO@ in favour of $(FOO) --- Makefile.am | 4 ++-- python/Makefile.am | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 2b4ee95..13a7d32 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,9 +6,9 @@ ACLOCAL_AMFLAGS = -I m4 pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libvirt-glib-1.0.pc libvirt-gconfig-1.0.pc libvirt-gobject-1.0.pc
-EXTRA_DIST = @PACKAGE@.spec $(pkgconfig_DATA:%.pc=%.pc.in) +EXTRA_DIST = $(PACKAGE).spec $(pkgconfig_DATA:%.pc=%.pc.in)
-DISTCLEAN_FILES = @PACKAGE@.spec $(pkgconfig_DATA) +DISTCLEAN_FILES = $(PACKAGE).spec $(pkgconfig_DATA)
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc=yes --enable-introspection=yes
diff --git a/python/Makefile.am b/python/Makefile.am index f4f0d9f..c890864 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -23,7 +23,7 @@ libvirtglibmod_la_LIBADD = ../libvirt-glib/libvirt-glib-1.0.la
install-data-local: $(mkinstalldirs) $(DESTDIR)$(pythondir) - @INSTALL@ -m 0644 $(srcdir)/libvirtglib.py $(DESTDIR)$(pythondir) + $(INSTALL) -m 0644 $(srcdir)/libvirtglib.py $(DESTDIR)$(pythondir)
uninstall-local: rm -f $(DESTDIR)$(pythondir)/libvirtglib.py -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- NEWS | 1 - acinclude.m4 | 1 - docs/libvirt-gconfig/Makefile.am | 1 - docs/libvirt-glib/Makefile.am | 1 - docs/libvirt-gobject/Makefile.am | 1 - examples/conn-test.c | 1 - examples/conn-test.js | 1 - examples/conn-test.py | 2 -- examples/event-test.c | 1 - examples/event-test.py | 1 - libvirt-gconfig/libvirt-gconfig-interface.c | 1 - libvirt-gconfig/libvirt-gconfig-main.c | 1 - libvirt-glib/libvirt-glib-error.c | 1 - libvirt-glib/libvirt-glib-event.c | 1 - libvirt-glib/libvirt-glib-main.c | 1 - libvirt-gobject/libvirt-gobject-main.c | 1 - libvirt-gobject/libvirt-gobject-manager.c | 1 - python/Makefile.am | 1 - python/libvirtglib.py | 1 - 19 files changed, 0 insertions(+), 20 deletions(-) diff --git a/NEWS b/NEWS index a4ed737..760800c 100644 --- a/NEWS +++ b/NEWS @@ -18,4 +18,3 @@ ==================== First public release. - diff --git a/acinclude.m4 b/acinclude.m4 index c159af9..f0cb421 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -125,4 +125,3 @@ if test -n "$PKG_CONFIG"; then fi fi[]dnl ])]) - diff --git a/docs/libvirt-gconfig/Makefile.am b/docs/libvirt-gconfig/Makefile.am index 215fd2f..2af0d90 100644 --- a/docs/libvirt-gconfig/Makefile.am +++ b/docs/libvirt-gconfig/Makefile.am @@ -39,4 +39,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-gconfig/libvirt-gconfig-1.0.la include $(top_srcdir)/gtk-doc.make - diff --git a/docs/libvirt-glib/Makefile.am b/docs/libvirt-glib/Makefile.am index e820d9a..81e9671 100644 --- a/docs/libvirt-glib/Makefile.am +++ b/docs/libvirt-glib/Makefile.am @@ -41,4 +41,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-glib/libvirt-glib-1.0.la include $(top_srcdir)/gtk-doc.make - diff --git a/docs/libvirt-gobject/Makefile.am b/docs/libvirt-gobject/Makefile.am index 1de847c..6eb3553 100644 --- a/docs/libvirt-gobject/Makefile.am +++ b/docs/libvirt-gobject/Makefile.am @@ -41,4 +41,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-gobject/libvirt-gobject-1.0.la include $(top_srcdir)/gtk-doc.make - diff --git a/examples/conn-test.c b/examples/conn-test.c index 37b0007..4139845 100644 --- a/examples/conn-test.c +++ b/examples/conn-test.c @@ -72,4 +72,3 @@ int main(int argc, char **argv) return 0; } - diff --git a/examples/conn-test.js b/examples/conn-test.js index a53b128..0225a95 100755 --- a/examples/conn-test.js +++ b/examples/conn-test.js @@ -38,4 +38,3 @@ function done(conn, result, data) { conn.open_async(canc, done, null) gtk.main(null, null) - diff --git a/examples/conn-test.py b/examples/conn-test.py index 93adb63..446d7d6 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -44,5 +44,3 @@ def done(conn, result, data): conn.open_async(canc, done, None) Gtk.main() - - diff --git a/examples/event-test.c b/examples/event-test.c index 4fb000e..4496992 100644 --- a/examples/event-test.c +++ b/examples/event-test.c @@ -183,4 +183,3 @@ int main(int argc, char **argv) printf("done\n"); return 0; } - diff --git a/examples/event-test.py b/examples/event-test.py index 4b06235..6ccc8f4 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -59,4 +59,3 @@ def main(): if __name__ == "__main__": main() - diff --git a/libvirt-gconfig/libvirt-gconfig-interface.c b/libvirt-gconfig/libvirt-gconfig-interface.c index 59fc12f..6fdfd93 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-interface.c @@ -71,4 +71,3 @@ GVirConfigInterface *gvir_config_interface_new_from_xml(const gchar *xml, xml, error); return GVIR_CONFIG_INTERFACE(object); } - diff --git a/libvirt-gconfig/libvirt-gconfig-main.c b/libvirt-gconfig/libvirt-gconfig-main.c index b506060..d9b11c5 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.c +++ b/libvirt-gconfig/libvirt-gconfig-main.c @@ -82,4 +82,3 @@ gboolean gvir_init_config_check(int *argc G_GNUC_UNUSED, return TRUE; } - diff --git a/libvirt-glib/libvirt-glib-error.c b/libvirt-glib/libvirt-glib-error.c index 7b37192..ec56e05 100644 --- a/libvirt-glib/libvirt-glib-error.c +++ b/libvirt-glib/libvirt-glib-error.c @@ -126,4 +126,3 @@ GError *gvir_error_new_valist(GQuark domain, return err; } - diff --git a/libvirt-glib/libvirt-glib-event.c b/libvirt-glib/libvirt-glib-event.c index a697640..05ab49e 100644 --- a/libvirt-glib/libvirt-glib-event.c +++ b/libvirt-glib/libvirt-glib-event.c @@ -416,4 +416,3 @@ void gvir_event_register(void) g_once(&once, event_register_once, NULL); } - diff --git a/libvirt-glib/libvirt-glib-main.c b/libvirt-glib/libvirt-glib-main.c index fa27355..9c7e1c2 100644 --- a/libvirt-glib/libvirt-glib-main.c +++ b/libvirt-glib/libvirt-glib-main.c @@ -84,4 +84,3 @@ gboolean gvir_init_check(int *argc G_GNUC_UNUSED, return TRUE; } - diff --git a/libvirt-gobject/libvirt-gobject-main.c b/libvirt-gobject/libvirt-gobject-main.c index 366a28b..3509efb 100644 --- a/libvirt-gobject/libvirt-gobject-main.c +++ b/libvirt-gobject/libvirt-gobject-main.c @@ -90,4 +90,3 @@ gboolean gvir_init_object_check(int *argc, return TRUE; } - diff --git a/libvirt-gobject/libvirt-gobject-manager.c b/libvirt-gobject/libvirt-gobject-manager.c index a6a1933..a23695a 100644 --- a/libvirt-gobject/libvirt-gobject-manager.c +++ b/libvirt-gobject/libvirt-gobject-manager.c @@ -194,4 +194,3 @@ GVirConnection *gvir_manager_find_connection_by_uri(GVirManager *man, } return NULL; } - diff --git a/python/Makefile.am b/python/Makefile.am index c890864..8f693bf 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -32,4 +32,3 @@ uninstall-local: else all: endif - diff --git a/python/libvirtglib.py b/python/libvirtglib.py index 16500b1..3a74c3d 100644 --- a/python/libvirtglib.py +++ b/python/libvirtglib.py @@ -8,4 +8,3 @@ except: def event_register(): libvirtglibmod.event_register() - -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:39PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- NEWS | 1 - acinclude.m4 | 1 - docs/libvirt-gconfig/Makefile.am | 1 - docs/libvirt-glib/Makefile.am | 1 - docs/libvirt-gobject/Makefile.am | 1 - examples/conn-test.c | 1 - examples/conn-test.js | 1 - examples/conn-test.py | 2 -- examples/event-test.c | 1 - examples/event-test.py | 1 - libvirt-gconfig/libvirt-gconfig-interface.c | 1 - libvirt-gconfig/libvirt-gconfig-main.c | 1 - libvirt-glib/libvirt-glib-error.c | 1 - libvirt-glib/libvirt-glib-event.c | 1 - libvirt-glib/libvirt-glib-main.c | 1 - libvirt-gobject/libvirt-gobject-main.c | 1 - libvirt-gobject/libvirt-gobject-manager.c | 1 - python/Makefile.am | 1 - python/libvirtglib.py | 1 - 19 files changed, 0 insertions(+), 20 deletions(-)
diff --git a/NEWS b/NEWS index a4ed737..760800c 100644 --- a/NEWS +++ b/NEWS @@ -18,4 +18,3 @@ ====================
First public release. - diff --git a/acinclude.m4 b/acinclude.m4 index c159af9..f0cb421 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -125,4 +125,3 @@ if test -n "$PKG_CONFIG"; then fi fi[]dnl ])]) - diff --git a/docs/libvirt-gconfig/Makefile.am b/docs/libvirt-gconfig/Makefile.am index 215fd2f..2af0d90 100644 --- a/docs/libvirt-gconfig/Makefile.am +++ b/docs/libvirt-gconfig/Makefile.am @@ -39,4 +39,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-gconfig/libvirt-gconfig-1.0.la
include $(top_srcdir)/gtk-doc.make - diff --git a/docs/libvirt-glib/Makefile.am b/docs/libvirt-glib/Makefile.am index e820d9a..81e9671 100644 --- a/docs/libvirt-glib/Makefile.am +++ b/docs/libvirt-glib/Makefile.am @@ -41,4 +41,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-glib/libvirt-glib-1.0.la
include $(top_srcdir)/gtk-doc.make - diff --git a/docs/libvirt-gobject/Makefile.am b/docs/libvirt-gobject/Makefile.am index 1de847c..6eb3553 100644 --- a/docs/libvirt-gobject/Makefile.am +++ b/docs/libvirt-gobject/Makefile.am @@ -41,4 +41,3 @@ GTKDOC_LIBS = \ $(top_builddir)/libvirt-gobject/libvirt-gobject-1.0.la
include $(top_srcdir)/gtk-doc.make - diff --git a/examples/conn-test.c b/examples/conn-test.c index 37b0007..4139845 100644 --- a/examples/conn-test.c +++ b/examples/conn-test.c @@ -72,4 +72,3 @@ int main(int argc, char **argv)
return 0; } - diff --git a/examples/conn-test.js b/examples/conn-test.js index a53b128..0225a95 100755 --- a/examples/conn-test.js +++ b/examples/conn-test.js @@ -38,4 +38,3 @@ function done(conn, result, data) { conn.open_async(canc, done, null)
gtk.main(null, null) - diff --git a/examples/conn-test.py b/examples/conn-test.py index 93adb63..446d7d6 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -44,5 +44,3 @@ def done(conn, result, data): conn.open_async(canc, done, None)
Gtk.main() - - diff --git a/examples/event-test.c b/examples/event-test.c index 4fb000e..4496992 100644 --- a/examples/event-test.c +++ b/examples/event-test.c @@ -183,4 +183,3 @@ int main(int argc, char **argv) printf("done\n"); return 0; } - diff --git a/examples/event-test.py b/examples/event-test.py index 4b06235..6ccc8f4 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -59,4 +59,3 @@ def main():
if __name__ == "__main__": main() - diff --git a/libvirt-gconfig/libvirt-gconfig-interface.c b/libvirt-gconfig/libvirt-gconfig-interface.c index 59fc12f..6fdfd93 100644 --- a/libvirt-gconfig/libvirt-gconfig-interface.c +++ b/libvirt-gconfig/libvirt-gconfig-interface.c @@ -71,4 +71,3 @@ GVirConfigInterface *gvir_config_interface_new_from_xml(const gchar *xml, xml, error); return GVIR_CONFIG_INTERFACE(object); } - diff --git a/libvirt-gconfig/libvirt-gconfig-main.c b/libvirt-gconfig/libvirt-gconfig-main.c index b506060..d9b11c5 100644 --- a/libvirt-gconfig/libvirt-gconfig-main.c +++ b/libvirt-gconfig/libvirt-gconfig-main.c @@ -82,4 +82,3 @@ gboolean gvir_init_config_check(int *argc G_GNUC_UNUSED,
return TRUE; } - diff --git a/libvirt-glib/libvirt-glib-error.c b/libvirt-glib/libvirt-glib-error.c index 7b37192..ec56e05 100644 --- a/libvirt-glib/libvirt-glib-error.c +++ b/libvirt-glib/libvirt-glib-error.c @@ -126,4 +126,3 @@ GError *gvir_error_new_valist(GQuark domain,
return err; } - diff --git a/libvirt-glib/libvirt-glib-event.c b/libvirt-glib/libvirt-glib-event.c index a697640..05ab49e 100644 --- a/libvirt-glib/libvirt-glib-event.c +++ b/libvirt-glib/libvirt-glib-event.c @@ -416,4 +416,3 @@ void gvir_event_register(void)
g_once(&once, event_register_once, NULL); } - diff --git a/libvirt-glib/libvirt-glib-main.c b/libvirt-glib/libvirt-glib-main.c index fa27355..9c7e1c2 100644 --- a/libvirt-glib/libvirt-glib-main.c +++ b/libvirt-glib/libvirt-glib-main.c @@ -84,4 +84,3 @@ gboolean gvir_init_check(int *argc G_GNUC_UNUSED,
return TRUE; } - diff --git a/libvirt-gobject/libvirt-gobject-main.c b/libvirt-gobject/libvirt-gobject-main.c index 366a28b..3509efb 100644 --- a/libvirt-gobject/libvirt-gobject-main.c +++ b/libvirt-gobject/libvirt-gobject-main.c @@ -90,4 +90,3 @@ gboolean gvir_init_object_check(int *argc,
return TRUE; } - diff --git a/libvirt-gobject/libvirt-gobject-manager.c b/libvirt-gobject/libvirt-gobject-manager.c index a6a1933..a23695a 100644 --- a/libvirt-gobject/libvirt-gobject-manager.c +++ b/libvirt-gobject/libvirt-gobject-manager.c @@ -194,4 +194,3 @@ GVirConnection *gvir_manager_find_connection_by_uri(GVirManager *man, } return NULL; } - diff --git a/python/Makefile.am b/python/Makefile.am index c890864..8f693bf 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -32,4 +32,3 @@ uninstall-local: else all: endif - diff --git a/python/libvirtglib.py b/python/libvirtglib.py index 16500b1..3a74c3d 100644 --- a/python/libvirtglib.py +++ b/python/libvirtglib.py @@ -8,4 +8,3 @@ except:
def event_register(): libvirtglibmod.event_register() - -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> For greater portability do not rely on the test binary having a -a option --- configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 4092bef..805cd9b 100644 --- a/configure.ac +++ b/configure.ac @@ -138,8 +138,8 @@ if test "$with_python" != "no" ; then fi if test "$PYTHON_VERSION" != "" then - if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \ - -d $with_python/lib/python$PYTHON_VERSION/site-packages + if test -r $with_python/include/python$PYTHON_VERSION/Python.h && \ + test -d $with_python/lib/python$PYTHON_VERSION/site-packages then PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:40PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
For greater portability do not rely on the test binary having a -a option --- configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac index 4092bef..805cd9b 100644 --- a/configure.ac +++ b/configure.ac @@ -138,8 +138,8 @@ if test "$with_python" != "no" ; then fi if test "$PYTHON_VERSION" != "" then - if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \ - -d $with_python/lib/python$PYTHON_VERSION/site-packages + if test -r $with_python/include/python$PYTHON_VERSION/Python.h && \ + test -d $with_python/lib/python$PYTHON_VERSION/site-packages then PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- autogen.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/autogen.sh b/autogen.sh index a30114b..fb341b1 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,7 +3,7 @@ set -e srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +test -z "$srcdir" && srcdir=. THEDIR=`pwd` cd $srcdir @@ -58,6 +58,6 @@ if test "x$1" = "x--system"; then fi $srcdir/configure --enable-compile-warnings=maximum $EXTRA_ARGS "$@" && { - echo + echo echo "Now type 'make' to compile libvirt-glib." } -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:41PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- autogen.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/autogen.sh b/autogen.sh index a30114b..fb341b1 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,7 +3,7 @@
set -e srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +test -z "$srcdir" && srcdir=.
THEDIR=`pwd` cd $srcdir @@ -58,6 +58,6 @@ if test "x$1" = "x--system"; then fi
$srcdir/configure --enable-compile-warnings=maximum $EXTRA_ARGS "$@" && { - echo + echo echo "Now type 'make' to compile libvirt-glib." } -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> --- libvirt-gconfig/tests/test-domain-create.c | 2 ++ libvirt-gconfig/tests/test-domain-parse.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index bcaa37e..46c97a3 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -25,6 +25,8 @@ * Author: Christophe Fergeau <cfergeau@redhat.com> */ +#include <config.h> + #include <string.h> #include <libvirt-gconfig/libvirt-gconfig.h> diff --git a/libvirt-gconfig/tests/test-domain-parse.c b/libvirt-gconfig/tests/test-domain-parse.c index 09257b5..f95e062 100644 --- a/libvirt-gconfig/tests/test-domain-parse.c +++ b/libvirt-gconfig/tests/test-domain-parse.c @@ -25,6 +25,8 @@ * Author: Christophe Fergeau <cfergeau@redhat.com> */ +#include <config.h> + #include <string.h> #include <libvirt-gconfig/libvirt-gconfig.h> -- 1.7.6.4

ACK On Thu, Dec 01, 2011 at 02:05:42PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- libvirt-gconfig/tests/test-domain-create.c | 2 ++ libvirt-gconfig/tests/test-domain-parse.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index bcaa37e..46c97a3 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -25,6 +25,8 @@ * Author: Christophe Fergeau <cfergeau@redhat.com> */
+#include <config.h> + #include <string.h> #include <libvirt-gconfig/libvirt-gconfig.h>
diff --git a/libvirt-gconfig/tests/test-domain-parse.c b/libvirt-gconfig/tests/test-domain-parse.c index 09257b5..f95e062 100644 --- a/libvirt-gconfig/tests/test-domain-parse.c +++ b/libvirt-gconfig/tests/test-domain-parse.c @@ -25,6 +25,8 @@ * Author: Christophe Fergeau <cfergeau@redhat.com> */
+#include <config.h> + #include <string.h> #include <libvirt-gconfig/libvirt-gconfig.h>
-- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

From: "Daniel P. Berrange" <berrange@redhat.com> The 'syntax-check' rule validates various coding style requirements. It is run as part of the regular automated builds * GNUmakefile, maint.mk: syntax-check rules (from GNULIB) * cfg.mk: Local extra rules & exclusions * build-aux/useless-if-before-free, build-aux/vc-list-files: Helpers for syntax check (from GNULIB) * autobuild.sh: Run syntax-check as part of build * configure.ac: Ensure GNUmakefile exists in VPATH builds --- GNUmakefile | 132 ++++ autobuild.sh | 13 + build-aux/useless-if-before-free | 207 ++++++ build-aux/vc-list-files | 113 +++ cfg.mk | 137 ++++ configure.ac | 11 + maint.mk | 1511 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 2124 insertions(+), 0 deletions(-) create mode 100644 GNUmakefile create mode 100755 build-aux/useless-if-before-free create mode 100755 build-aux/vc-list-files create mode 100644 cfg.mk create mode 100644 maint.mk diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..ca88b6b --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,132 @@ +# Having a separate GNUmakefile lets me `include' the dynamically +# generated rules created via cfg.mk (package-local configuration) +# as well as maint.mk (generic maintainer rules). +# This makefile is used only if you run GNU Make. +# It is necessary if you want to build targets usually of interest +# only to the maintainer. + +# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Systems where /bin/sh is not the default shell need this. The $(shell) +# command below won't work with e.g. stock DOS/Windows shells. +ifeq ($(wildcard /bin/s[h]),/bin/sh) +SHELL = /bin/sh +else +# will be used only with the next shell-test line, then overwritten +# by a configured-in value +SHELL = sh +endif + +# If the user runs GNU make but has not yet run ./configure, +# give them a diagnostic. +_have-Makefile := $(shell test -f Makefile && echo yes) +ifeq ($(_have-Makefile),yes) + +# Make tar archive easier to reproduce. +export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner + +# Allow the user to add to this in the Makefile. +ALL_RECURSIVE_TARGETS = + +include Makefile + +# Some projects override e.g., _autoreconf here. +-include $(srcdir)/cfg.mk + +# Allow cfg.mk to override these. +_build-aux ?= build-aux +_autoreconf ?= autoreconf -v + +include $(srcdir)/maint.mk + +# Ensure that $(VERSION) is up to date for dist-related targets, but not +# for others: rerunning autoreconf and recompiling everything isn't cheap. +_have-git-version-gen := \ + $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) +ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) + _is-dist-target ?= $(filter-out %clean, \ + $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) + _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) + ifneq (,$(_is-dist-target)$(_is-install-target)) + _curr-ver := $(shell cd $(srcdir) \ + && $(_build-aux)/git-version-gen \ + .tarball-version \ + $(git-version-gen-tag-sed-script)) + ifneq ($(_curr-ver),$(VERSION)) + ifeq ($(_curr-ver),UNKNOWN) + $(info WARNING: unable to verify if $(VERSION) is the correct version) + else + ifneq (,$(_is-install-target)) + # GNU Coding Standards state that 'make install' should not cause + # recompilation after 'make all'. But as long as changing the version + # string alters config.h, the cost of having 'make all' always have an + # up-to-date version is prohibitive. So, as a compromise, we merely + # warn when installing a version string that is out of date; the user + # should run 'autoreconf' (or something like 'make distcheck') to + # fix the version, 'make all' to propagate it, then 'make install'. + $(info WARNING: version string $(VERSION) is out of date;) + $(info run '$(MAKE) _version' to fix it) + else + $(info INFO: running autoreconf for new version string: $(_curr-ver)) +GNUmakefile: _version + touch GNUmakefile + endif + endif + endif + endif +endif + +.PHONY: _version +_version: + cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) + $(MAKE) $(AM_MAKEFLAGS) Makefile + +else + +.DEFAULT_GOAL := abort-due-to-no-makefile +srcdir = . + +# The package can override .DEFAULT_GOAL to run actions like autoreconf. +-include ./cfg.mk +include ./maint.mk + +ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) +$(MAKECMDGOALS): abort-due-to-no-makefile +endif + +abort-due-to-no-makefile: + @echo There seems to be no Makefile in this directory. 1>&2 + @echo "You must run ./configure before running \`make'." 1>&2 + @exit 1 + +endif + +# Tell version 3.79 and up of GNU make to not build goals in this +# directory in parallel, in case someone tries to build multiple +# targets, and one of them can cause a recursive target to be invoked. + +# Only set this if Automake doesn't provide it. +AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ + dist distcheck tags ctags + +ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) + +ifneq ($(word 2, $(MAKECMDGOALS)), ) +ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) +.NOTPARALLEL: +endif +endif diff --git a/autobuild.sh b/autobuild.sh index 0ec44d7..6e9e716 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -3,6 +3,9 @@ set -e set -v +test -n "$1" && RESULTS=$1 || RESULTS=results.log +: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder} + # Make things clean. test -f Makefile && make -k distclean || : @@ -16,6 +19,16 @@ cd build make make install +# set -o pipefail is a bashism; this use of exec is the POSIX alternative +exec 3>&1 +st=$( + exec 4>&1 >&3 + { make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS" +) +exec 3>&- +test "$st" = 0 + + rm -f *.tar.gz make dist diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free new file mode 100755 index 0000000..b8f5a26 --- /dev/null +++ b/build-aux/useless-if-before-free @@ -0,0 +1,207 @@ +eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}' + & eval 'exec perl -wST "$0" $argv:q' + if 0; +# Detect instances of "if (p) free (p);". +# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. + +my $VERSION = '2011-04-20 13:43'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + +# Copyright (C) 2008-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Written by Jim Meyering + +use strict; +use warnings; +use Getopt::Long; + +(my $ME = $0) =~ s|.*/||; + +# use File::Coda; # http://meyering.net/code/Coda/ +END { + defined fileno STDOUT or return; + close STDOUT and return; + warn "$ME: failed to close standard output: $!\n"; + $? ||= 1; +} + +sub usage ($) +{ + my ($exit_code) = @_; + my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); + if ($exit_code != 0) + { + print $STREAM "Try `$ME --help' for more information.\n"; + } + else + { + print $STREAM <<EOF; +Usage: $ME [OPTIONS] FILE... + +Detect any instance in FILE of a useless "if" test before a free call, e.g., +"if (p) free (p);". Any such test may be safely removed without affecting +the semantics of the C code in FILE. Use --name=FOO --name=BAR to also +detect free-like functions named FOO and BAR. + +OPTIONS: + + --list print only the name of each matching FILE (\\0-terminated) + --name=N add name N to the list of \`free\'-like functions to detect; + may be repeated + + --help display this help and exit + --version output version information and exit + +Exit status: + + 0 one or more matches + 1 no match + 2 an error + +EXAMPLE: + +For example, this command prints all removable "if" tests before "free" +and "kfree" calls in the linux kernel sources: + + git ls-files -z |xargs -0 $ME --name=kfree + +EOF + } + exit $exit_code; +} + +sub is_NULL ($) +{ + my ($expr) = @_; + return ($expr eq 'NULL' || $expr eq '0'); +} + +{ + sub EXIT_MATCH {0} + sub EXIT_NO_MATCH {1} + sub EXIT_ERROR {2} + my $err = EXIT_NO_MATCH; + + my $list; + my @name = qw(free); + GetOptions + ( + help => sub { usage 0 }, + version => sub { print "$ME version $VERSION\n"; exit }, + list => \$list, + 'name=s@' => \@name, + ) or usage 1; + + # Make sure we have the right number of non-option arguments. + # Always tell the user why we fail. + @ARGV < 1 + and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; + + my $or = join '|', @name; + my $regexp = qr/(?:$or)/; + + # Set the input record separator. + # Note: this makes it impractical to print line numbers. + $/ = '"'; + + my $found_match = 0; + FILE: + foreach my $file (@ARGV) + { + open FH, '<', $file + or (warn "$ME: can't open `$file' for reading: $!\n"), + $err = EXIT_ERROR, next; + while (defined (my $line = <FH>)) + { + while ($line =~ + /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) + # 1 2 3 + (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;| + \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) + { + my $all = $1; + my ($lhs, $rhs) = ($2, $3); + my ($free_opnd, $braced_free_opnd) = ($4, $5); + my $non_NULL; + if (!defined $rhs) { $non_NULL = $lhs } + elsif (is_NULL $rhs) { $non_NULL = $lhs } + elsif (is_NULL $lhs) { $non_NULL = $rhs } + else { next } + + # Compare the non-NULL part of the "if" expression and the + # free'd expression, without regard to white space. + $non_NULL =~ tr/ \t//d; + my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; + $e2 =~ tr/ \t//d; + if ($non_NULL eq $e2) + { + $found_match = 1; + $list + and (print "$file\0"), next FILE; + print "$file: $all\n"; + } + } + } + } + continue + { + close FH; + } + + $found_match && $err == EXIT_NO_MATCH + and $err = EXIT_MATCH; + + exit $err; +} + +my $foo = <<'EOF'; +# The above is to *find* them. +# This adjusts them, removing the unnecessary "if (p)" part. + +# FIXME: do something like this as an option (doesn't do braces): +free=xfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0x3b -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s' + +# Use the following to remove redundant uses of kfree inside braces. +# Note that -0777 puts perl in slurp-whole-file mode; +# but we have plenty of memory, these days... +free=kfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0777 -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' + +Be careful that the result of the above transformation is valid. +If the matched string is followed by "else", then obviously, it won't be. + +When modifying files, refuse to process anything other than a regular file. +EOF + +## Local Variables: +## mode: perl +## indent-tabs-mode: nil +## eval: (add-hook 'write-file-hooks 'time-stamp) +## time-stamp-start: "my $VERSION = '" +## time-stamp-format: "%:y-%02m-%02d %02H:%02M" +## time-stamp-time-zone: "UTC" +## time-stamp-end: "'; # UTC" +## End: diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files new file mode 100755 index 0000000..405e458 --- /dev/null +++ b/build-aux/vc-list-files @@ -0,0 +1,113 @@ +#!/bin/sh +# List version-controlled file names. + +# Print a version string. +scriptversion=2011-05-16.22; # UTC + +# Copyright (C) 2006-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +# List the specified version-controlled files. +# With no argument, list them all. With a single DIRECTORY argument, +# list the version-controlled files in that directory. + +# If there's an argument, it must be a single, "."-relative directory name. +# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ + +postprocess= +case $1 in + --help) cat <<EOF +Usage: $0 [-C SRCDIR] [DIR...] + +Output a list of version-controlled files in DIR (default .), relative to +SRCDIR (default .). SRCDIR must be the top directory of a checkout. + +Options: + --help print this help, then exit + --version print version number, then exit + -C SRCDIR change directory to SRCDIR before generating list + +Report bugs and patches to <bug-gnulib@gnu.org>. +EOF + exit ;; + + --version) + year=`echo "$scriptversion" | sed 's/[^0-9].*//'` + cat <<EOF +vc-list-files $scriptversion +Copyright (C) $year Free Software Foundation, Inc, +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit ;; + + -C) + test "$2" = . || postprocess="| sed 's|^|$2/|'" + cd "$2" || exit 1 + shift; shift ;; +esac + +test $# = 0 && set . + +for dir +do + if test -d .git; then + test "x$dir" = x. \ + && dir= sed_esc= \ + || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } + # Ignore git symlinks - either they point into the tree, in which case + # we don't need to visit the target twice, or they point somewhere + # else (often into a submodule), in which case the content does not + # belong to this package. + eval exec git ls-tree -r 'HEAD:"$dir"' \ + \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess + elif test -d .hg; then + eval exec hg locate '"$dir/*"' $postprocess + elif test -d .bzr; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + eval exec bzr ls -R --versioned '"$dir"' $postprocess + elif test -d CVS; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + if test -x build-aux/cvsu; then + eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess + elif (cvsu --help) >/dev/null 2>&1; then + eval cvsu --find --types=AFGM '"$dir"' $postprocess + else + eval awk -F/ \''{ \ + if (!$1 && $3 !~ /^-/) { \ + f=FILENAME; \ + if (f ~ /CVS\/Entries$/) \ + f = substr(f, 1, length(f)-11); \ + print f $2; \ + }}'\'' \ + `find "$dir" -name Entries -print` /dev/null' $postprocess + fi + elif test -d .svn; then + eval exec svn list -R '"$dir"' $postprocess + else + echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 + exit 1 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/cfg.mk b/cfg.mk new file mode 100644 index 0000000..ed46aee --- /dev/null +++ b/cfg.mk @@ -0,0 +1,137 @@ +# Customize Makefile.maint. -*- makefile -*- +# Copyright (C) 2008-2011 Red Hat, Inc. +# Copyright (C) 2003-2008 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Tests not to run as part of "make distcheck". +local-checks-to-skip = \ + changelog-check \ + check-AUTHORS \ + makefile-check \ + makefile_path_separator_check \ + patch-check \ + sc_GPL_version \ + sc_always_defined_macros \ + sc_cast_of_alloca_return_value \ + sc_cross_check_PATH_usage_in_tests \ + sc_dd_max_sym_length \ + sc_error_exit_success \ + sc_file_system \ + sc_immutable_NEWS \ + sc_makefile_path_separator_check \ + sc_obsolete_symbols \ + sc_prohibit_always_true_header_tests \ + sc_prohibit_S_IS_definition \ + sc_prohibit_atoi_atof \ + sc_prohibit_hash_without_use \ + sc_prohibit_jm_in_m4 \ + sc_prohibit_quote_without_use \ + sc_prohibit_quotearg_without_use \ + sc_prohibit_stat_st_blocks \ + sc_root_tests \ + sc_space_tab \ + sc_sun_os_names \ + sc_system_h_headers \ + sc_texinfo_acronym \ + sc_tight_scope \ + sc_two_space_separator_in_usage \ + sc_error_message_uppercase \ + sc_program_name \ + sc_require_test_exit_idiom \ + sc_makefile_check \ + sc_useless_cpp_parens + +# Files that should never cause syntax check failures. +VC_LIST_ALWAYS_EXCLUDE_REGEX = \ + (^HACKING|\.po|maint.mk)$$ + +# Functions like free() that are no-ops on NULL arguments. +useless_free_options = \ + --name=g_free \ + --name=xmlBufferFree \ + --name=xmlFree \ + --name=xmlFreeDoc \ + --name=xmlXPathFreeContext \ + --name=xmlXPathFreeObject + +# Ensure that no C source file, docs, or rng schema uses TABs for +# indentation. Also match *.h.in files, to get libvirt.h.in. Exclude +# files in gnulib, since they're imported. +space_indent_files=(\.(rng|s?[ch](\.in)?|html.in|py)|(daemon|tools)/.*\.in) +sc_TAB_in_indentation: + @prohibit='^ * ' \ + in_vc_files='$(space_indent_files)$$' \ + halt='indent with space, not TAB, in C, sh, html, py, and RNG schemas' \ + $(_sc_search_regexp) + +# G_GNUC_UNUSED should only be applied in implementations, not +# header declarations +sc_avoid_attribute_unused_in_header: + @prohibit='^[^#]*G_GNUC_UNUSED([^:]|$$)' \ + in_vc_files='\.h$$' \ + halt='use G_GNUC_UNUSED in .c rather than .h files' \ + $(_sc_search_regexp) + +# Enforce recommended preprocessor indentation style. +sc_preprocessor_indentation: + @if cppi --version >/dev/null 2>&1; then \ + $(VC_LIST_EXCEPT) | grep '\.[ch]$$' | xargs cppi -a -c \ + || { echo '$(ME): incorrect preprocessor indentation' 1>&2; \ + exit 1; }; \ + else \ + echo '$(ME): skipping test $@: cppi not installed' 1>&2; \ + fi + +sc_copyright_format: + @require='Copyright .*Red 'Hat', Inc\.' \ + containing='Copyright .*Red 'Hat \ + halt='Red Hat copyright is missing Inc.' \ + $(_sc_search_regexp) + @prohibit='Copyright [^(].*Red 'Hat \ + halt='consistently use (C) in Red Hat copyright' \ + $(_sc_search_regexp) + @prohibit='\<Red''Hat\>' \ + halt='spell Red Hat as two words' \ + $(_sc_search_regexp) + +# We don't use this feature of maint.mk. +prev_version_file = /dev/null + +# Give credit where due: +# Ensure that each commit author email address (possibly mapped via +# git log's .mailmap) appears in our AUTHORS file. +sc_check_author_list: + @fail=0; \ + for i in $$(git log --pretty=format:%aE%n|sort -u|grep -v '^$$'); do \ + sanitized=$$(echo "$$i"|LC_ALL=C sed 's/\([^a-zA-Z0-9_@-]\)/\\\1/g'); \ + grep -iq "<$$sanitized>" $(srcdir)/AUTHORS \ + || { printf '%s\n' "$$i" >&2; fail=1; }; \ + done; \ + test $$fail = 1 \ + && echo '$(ME): committer(s) not listed in AUTHORS' >&2; \ + test $$fail = 0 + + +exclude_file_name_regexp--sc_bindtextdomain = ^(libvirt-gconfig/tests|examples)/ + +exclude_file_name_regexp--sc_preprocessor_indentation = ^*/*.[ch] + +exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch] + +exclude_file_name_regexp--sc_require_config_h = python/libvirt-glib.c +exclude_file_name_regexp--sc_require_config_h_first = python/libvirt-glib.c + +# XXX we shouldn't really ignore this, but the horrible enum rules... +exclude_file_name_regexp--sc_makefile_at_at_check = libvirt-gobject/Makefile.am diff --git a/configure.ac b/configure.ac index 805cd9b..260d581 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,17 @@ dnl AC_CONFIG_LIBOBJ_DIR([src]) AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions]) +# Autoconf 2.61a.99 and earlier don't support linking a file only +# in VPATH builds. But since GNUmakefile is for maintainer use +# only, it does not matter if we skip the link with older autoconf. +# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH +# builds, so use a shell variable to bypass this. +GNUmakefile=GNUmakefile +m4_if(m4_version_compare([2.61a.100], + m4_defn([m4_PACKAGE_VERSION])), [1], [], + [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], + [GNUmakefile=$GNUmakefile])]) + LIBVIRT_GLIB_COMPILE_WARNINGS([maximum]) PKG_CHECK_MODULES(LIBVIRT, libvirt >= $LIBVIRT_REQUIRED) diff --git a/maint.mk b/maint.mk new file mode 100644 index 0000000..405c6d0 --- /dev/null +++ b/maint.mk @@ -0,0 +1,1511 @@ +# -*-Makefile-*- +# This Makefile fragment tries to be general-purpose enough to be +# used by many projects via the gnulib maintainer-makefile module. + +## Copyright (C) 2001-2011 Free Software Foundation, Inc. +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program 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 General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. + +# This is reported not to work with make-3.79.1 +# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +ME := maint.mk + +# Diagnostic for continued use of deprecated variable. +# Remove in 2013 +ifneq ($(build_aux),) + $(error "$(ME): \ +set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)") +endif + +# Do not save the original name or timestamp in the .tar.gz file. +# Use --rsyncable if available. +gzip_rsyncable := \ + $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \ + && printf %s --rsyncable) +GZIP_ENV = '--no-name --best $(gzip_rsyncable)' + +GIT = git +VC = $(GIT) + +VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) + +# You can override this variable in cfg.mk to set your own regexp +# matching files to ignore. +VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ + +# This is to preprocess robustly the output of $(VC_LIST), so that even +# when $(srcdir) is a pathological name like "....", the leading sed command +# removes only the intended prefix. +_dot_escaped_srcdir = $(subst .,\.,$(srcdir)) + +# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only +# when $(srcdir) is not ".". +ifeq ($(srcdir),.) +_prepend_srcdir_prefix = +else +_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|' +endif + +# In order to be able to consistently filter "."-relative names, +# (i.e., with no $(srcdir) prefix), this definition is careful to +# remove any $(srcdir) prefix, and to restore what it removes. +_sc_excl = \ + $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$) +VC_LIST_EXCEPT = \ + $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \ + | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \ + else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ + | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ + $(_prepend_srcdir_prefix) + +ifeq ($(origin prev_version_file), undefined) + prev_version_file = $(srcdir)/.prev-version +endif + +PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) +VERSION_REGEXP = $(subst .,\.,$(VERSION)) +PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) + +ifeq ($(VC),$(GIT)) +this-vc-tag = v$(VERSION) +this-vc-tag-regexp = v$(VERSION_REGEXP) +else +tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') +tag-this-version = $(subst .,_,$(VERSION)) +this-vc-tag = $(tag-package)-$(tag-this-version) +this-vc-tag-regexp = $(this-vc-tag) +endif +my_distdir = $(PACKAGE)-$(VERSION) + +# Old releases are stored here. +release_archive_dir ?= ../release + +# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. +# Use alpha.gnu.org for alpha and beta releases. +# Use ftp.gnu.org for stable releases. +gnu_ftp_host-alpha = alpha.gnu.org +gnu_ftp_host-beta = alpha.gnu.org +gnu_ftp_host-stable = ftp.gnu.org +gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE)) + +ifeq ($(gnu_rel_host),ftp.gnu.org) +url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE) +else +url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE) +endif + +# Override this in cfg.mk if you are using a different format in your +# NEWS file. +today = $(shell date +%Y-%m-%d) + +# Select which lines of NEWS are searched for $(news-check-regexp). +# This is a sed line number spec. The default says that we search +# lines 1..10 of NEWS for $(news-check-regexp). +# If you want to search only line 3 or only lines 20-22, use "3" or "20,22". +news-check-lines-spec ?= 1,10 +news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' + +# Prevent programs like 'sort' from considering distinct strings to be equal. +# Doing it here saves us from having to set LC_ALL elsewhere in this file. +export LC_ALL = C + +## --------------- ## +## Sanity checks. ## +## --------------- ## + +_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk') + +# Collect the names of rules starting with `sc_'. +syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ + $(srcdir)/$(ME) $(_cfg_mk))) +.PHONY: $(syntax-check-rules) + +ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) +local-checks-available += $(syntax-check-rules) +else +local-checks-available += no-vc-detected +no-vc-detected: + @echo "No version control files detected; skipping syntax check" +endif +.PHONY: $(local-checks-available) + +# Arrange to print the name of each syntax-checking rule just before running it. +$(syntax-check-rules): %: %.m +sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) +.PHONY: $(sc_m_rules_) +$(sc_m_rules_): + @echo $(patsubst sc_%.m, %, $@) + @date +%s.%N > .sc-start-$(basename $@) + +# Compute and print the elapsed time for each syntax-check rule. +sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) +.PHONY: $(sc_z_rules_) +$(sc_z_rules_): %.z: % + @end=$$(date +%s.%N); \ + start=$$(cat .sc-start-$*); \ + rm -f .sc-start-$*; \ + awk -v s=$$start -v e=$$end \ + 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null + +# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper +# that computes and prints elapsed time. +local-check := \ + $(patsubst sc_%, sc_%.z, \ + $(filter-out $(local-checks-to-skip), $(local-checks-available))) + +syntax-check: $(local-check) + +# _sc_search_regexp +# +# This macro searches for a given construct in the selected files and +# then takes some action. +# +# Parameters (shell variables): +# +# prohibit | require +# +# Regular expression (ERE) denoting either a forbidden construct +# or a required construct. Those arguments are exclusive. +# +# in_vc_files | in_files +# +# grep-E-style regexp denoting the files to check. If no files +# are specified the default are all the files that are under +# version control. +# +# containing | non_containing +# +# Select the files (non) containing strings matching this regexp. +# If both arguments are specified then CONTAINING takes +# precedence. +# +# with_grep_options +# +# Extra options for grep. +# +# ignore_case +# +# Ignore case. +# +# halt +# +# Message to display before to halting execution. +# +# Finally, you may exempt files based on an ERE matching file names. +# For example, to exempt from the sc_space_tab check all files with the +# .diff suffix, set this Make variable: +# +# exclude_file_name_regexp--sc_space_tab = \.diff$ +# +# Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, +# when filtering by name via in_files, we explicitly filter out matching +# names here as well. + +# By default, _sc_search_regexp does not ignore case. +export ignore_case = +_ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) + +define _sc_say_and_exit + dummy=; : so we do not need a semicolon before each use; \ + { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; +endef + +# _sc_search_regexp used to be named _prohibit_regexp. However, +# upgrading to the new definition and leaving the old name undefined +# would usually convert each custom rule using $(_prohibit_regexp) +# (usually defined in cfg.mk) into a no-op. This definition ensures +# that people know right away if they're still using the old name. +# FIXME: remove in 2012. +_prohibit_regexp = \ + $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt') + +define _sc_search_regexp + dummy=; : so we do not need a semicolon before each use; \ + \ + : Check arguments; \ + test -n "$$prohibit" && test -n "$$require" \ + && { msg='Cannot specify both prohibit and require' \ + $(_sc_say_and_exit) } || :; \ + test -z "$$prohibit" && test -z "$$require" \ + && { msg='Should specify either prohibit or require' \ + $(_sc_say_and_exit) } || :; \ + test -n "$$in_vc_files" && test -n "$$in_files" \ + && { msg='Cannot specify both in_vc_files and in_files' \ + $(_sc_say_and_exit) } || :; \ + test "x$$halt" != x \ + || { msg='halt not defined' $(_sc_say_and_exit) }; \ + \ + : Filter by file name; \ + if test -n "$$in_files"; then \ + files=$$(find $(srcdir) | grep -E "$$in_files" \ + | grep -Ev '$(exclude_file_name_regexp--$@)'); \ + else \ + files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$in_vc_files"; then \ + files=$$(echo "$$files" | grep -E "$$in_vc_files"); \ + fi; \ + fi; \ + \ + : Filter by content; \ + test -n "$$files" && test -n "$$containing" \ + && { files=$$(grep -l "$$containing" $$files); } || :; \ + test -n "$$files" && test -n "$$non_containing" \ + && { files=$$(grep -vl "$$non_containing" $$files); } || :; \ + \ + : Check for the construct; \ + if test -n "$$files"; then \ + if test -n "$$prohibit"; then \ + grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \ + && { msg="$$halt" $(_sc_say_and_exit) } || :; \ + else \ + grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \ + | grep . \ + && { msg="$$halt" $(_sc_say_and_exit) } || :; \ + fi \ + else :; \ + fi || :; +endef + +sc_avoid_if_before_free: + @$(srcdir)/$(_build-aux)/useless-if-before-free \ + $(useless_free_options) \ + $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ + { echo '$(ME): found useless "if" before "free" above' 1>&2; \ + exit 1; } || : + +sc_cast_of_argument_to_free: + @prohibit='\<free *\( *\(' halt='don'\''t cast free argument' \ + $(_sc_search_regexp) + +sc_cast_of_x_alloc_return_value: + @prohibit='\*\) *x(m|c|re)alloc\>' \ + halt='don'\''t cast x*alloc return value' \ + $(_sc_search_regexp) + +sc_cast_of_alloca_return_value: + @prohibit='\*\) *alloca\>' \ + halt='don'\''t cast alloca return value' \ + $(_sc_search_regexp) + +sc_space_tab: + @prohibit='[ ] ' \ + halt='found SPACE-TAB sequence; remove the SPACE' \ + $(_sc_search_regexp) + +# Don't use *scanf or the old ato* functions in `real' code. +# They provide no error checking mechanism. +# Instead, use strto* functions. +sc_prohibit_atoi_atof: + @prohibit='\<([fs]?scanf|ato([filq]|ll)) *\(' \ + halt='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \ + $(_sc_search_regexp) + +# Use STREQ rather than comparing strcmp == 0, or != 0. +sc_prohibit_strcmp: + @grep -nE '! *str''cmp *\(|\<str''cmp *\(.+\) *[!=]=' \ + $$($(VC_LIST_EXCEPT)) \ + | grep -vE ':# *define STRN?EQ\(' && \ + { echo '$(ME): replace str''cmp calls above with STREQ/STRNEQ' \ + 1>&2; exit 1; } || : + +# Pass EXIT_*, not number, to usage, exit, and error (when exiting) +# Convert all uses automatically, via these two commands: +# git grep -l '\<exit *(1)' \ +# | grep -vEf .x-sc_prohibit_magic_number_exit \ +# | xargs --no-run-if-empty \ +# perl -pi -e 's/(^|[^.])\b(exit ?)\(1\)/$1$2(EXIT_FAILURE)/' +# git grep -l '\<exit *(0)' \ +# | grep -vEf .x-sc_prohibit_magic_number_exit \ +# | xargs --no-run-if-empty \ +# perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/' +sc_prohibit_magic_number_exit: + @prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,' \ + halt='use EXIT_* values rather than magic number' \ + $(_sc_search_regexp) + +# Using EXIT_SUCCESS as the first argument to error is misleading, +# since when that parameter is 0, error does not exit. Use `0' instead. +sc_error_exit_success: + @prohibit='error *\(EXIT_SUCCESS,' \ + in_vc_files='\.[chly]$$' \ + halt='found error (EXIT_SUCCESS' \ + $(_sc_search_regexp) + +# `FATAL:' should be fully upper-cased in error messages +# `WARNING:' should be fully upper-cased, or fully lower-cased +sc_error_message_warn_fatal: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '"Warning|"Fatal|"fatal' && \ + { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ + exit 1; } || : + +# Error messages should not start with a capital letter +sc_error_message_uppercase: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '"[A-Z]' \ + | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ + { echo '$(ME): found capitalized error message' 1>&2; \ + exit 1; } || : + +# Error messages should not end with a period +sc_error_message_period: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '[^."]\."' && \ + { echo '$(ME): found error message ending in period' 1>&2; \ + exit 1; } || : + +sc_file_system: + @prohibit=file''system \ + ignore_case=1 \ + halt='found use of "file''system"; spell it "file system"' \ + $(_sc_search_regexp) + +# Don't use cpp tests of this symbol. All code assumes config.h is included. +sc_prohibit_have_config_h: + @prohibit='^# *if.*HAVE''_CONFIG_H' \ + halt='found use of HAVE''_CONFIG_H; remove' \ + $(_sc_search_regexp) + +# Nearly all .c files must include <config.h>. However, we also permit this +# via inclusion of a package-specific header, if cfg.mk specified one. +# config_h_header must be suitable for grep -E. +config_h_header ?= <config\.h> +sc_require_config_h: + @require='^# *include $(config_h_header)' \ + in_vc_files='\.c$$' \ + halt='the above files do not include <config.h>' \ + $(_sc_search_regexp) + +# You must include <config.h> before including any other header file. +# This can possibly be via a package-specific header, if given by cfg.mk. +sc_require_config_h_first: + @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ + fail=0; \ + for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ + grep '^# *include\>' $$i | sed 1q \ + | grep -E '^# *include $(config_h_header)' > /dev/null \ + || { echo $$i; fail=1; }; \ + done; \ + test $$fail = 1 && \ + { echo '$(ME): the above files include some other header' \ + 'before <config.h>' 1>&2; exit 1; } || :; \ + else :; \ + fi + +sc_prohibit_HAVE_MBRTOWC: + @prohibit='\bHAVE_MBRTOWC\b' \ + halt="do not use $$prohibit; it is always defined" \ + $(_sc_search_regexp) + +# To use this "command" macro, you must first define two shell variables: +# h: the header name, with no enclosing <> or "" +# re: a regular expression that matches IFF something provided by $h is used. +define _sc_header_without_use + dummy=; : so we do not need a semicolon before each use; \ + h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \ + if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ + files=$$(grep -l '^# *include '"$$h_esc" \ + $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ + grep -LE "$$re" $$files | grep . && \ + { echo "$(ME): the above files include $$h but don't use it" \ + 1>&2; exit 1; } || :; \ + else :; \ + fi +endef + +# Prohibit the inclusion of assert.h without an actual use of assert. +sc_prohibit_assert_without_use: + @h='assert.h' re='\<assert *\(' $(_sc_header_without_use) + +# Prohibit the inclusion of close-stream.h without an actual use. +sc_prohibit_close_stream_without_use: + @h='close-stream.h' re='\<close_stream *\(' $(_sc_header_without_use) + +# Prohibit the inclusion of getopt.h without an actual use. +sc_prohibit_getopt_without_use: + @h='getopt.h' re='\<getopt(_long)? *\(' $(_sc_header_without_use) + +# Don't include quotearg.h unless you use one of its functions. +sc_prohibit_quotearg_without_use: + @h='quotearg.h' re='\<quotearg(_[^ ]+)? *\(' $(_sc_header_without_use) + +# Don't include quote.h unless you use one of its functions. +sc_prohibit_quote_without_use: + @h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_long_options_without_use: + @h='long-options.h' re='\<parse_long_options *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_inttostr_without_use: + @h='inttostr.h' re='\<(off|[iu]max|uint)tostr *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_ignore_value_without_use: + @h='ignore-value.h' re='\<ignore_(value|ptr) *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_error_without_use: + @h='error.h' \ + re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\ + $(_sc_header_without_use) + +# Don't include xalloc.h unless you use one of its functions. +# Consider these symbols: +# perl -lne '/^# *define (\w+)\(/ and print $1' lib/xalloc.h|grep -v '^__'; +# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/xalloc.h +# Divide into two sets on case, and filter each through this: +# | sort | perl -MRegexp::Assemble -le \ +# 'print Regexp::Assemble->new(file => "/dev/stdin")->as_string'|sed 's/\?://g' +# Note this was produced by the above: +# _xa1 = \ +#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) +# But we can do better, in at least two ways: +# 1) take advantage of two "dup"-suffixed strings: +# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) +# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable +# "char|[cmz]" +# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa2 = X([CZ]|N?M)ALLOC +sc_prohibit_xalloc_without_use: + @h='xalloc.h' \ + re='\<($(_xa1)|$(_xa2)) *\('\ + $(_sc_header_without_use) + +# Extract function names: +# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h +_hash_re = \ +clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning +_hash_fn = \<($(_hash_re)) *\( +_hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> +sc_prohibit_hash_without_use: + @h='hash.h' \ + re='$(_hash_fn)|$(_hash_struct)'\ + $(_sc_header_without_use) + +sc_prohibit_cloexec_without_use: + @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ + $(_sc_header_without_use) + +sc_prohibit_posixver_without_use: + @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use) + +sc_prohibit_same_without_use: + @h='same.h' re='\<same_name *\(' $(_sc_header_without_use) + +sc_prohibit_hash_pjw_without_use: + @h='hash-pjw.h' \ + re='\<hash_pjw *\(' \ + $(_sc_header_without_use) + +sc_prohibit_safe_read_without_use: + @h='safe-read.h' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \ + $(_sc_header_without_use) + +sc_prohibit_argmatch_without_use: + @h='argmatch.h' \ + re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \ + $(_sc_header_without_use) + +sc_prohibit_canonicalize_without_use: + @h='canonicalize.h' \ + re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode)' \ + $(_sc_header_without_use) + +sc_prohibit_root_dev_ino_without_use: + @h='root-dev-ino.h' \ + re='(\<ROOT_DEV_INO_(CHECK|WARN)\>|\<get_root_dev_ino *\()' \ + $(_sc_header_without_use) + +sc_prohibit_openat_without_use: + @h='openat.h' \ + re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of c-ctype.h without an actual use. +ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\ +|isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper +sc_prohibit_c_ctype_without_use: + @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \ + $(_sc_header_without_use) + +_empty = +_sp = $(_empty) $(_empty) +# The following list was generated by running: +# man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \ +# | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt +_sig_functions = \ + bsd_signal kill killpg pthread_kill pthread_sigmask raise sigaction \ + sigaddset sigaltstack sigdelset sigemptyset sigfillset sighold sigignore \ + siginterrupt sigismember signal sigpause sigpending sigprocmask sigqueue \ + sigrelse sigset sigsuspend sigtimedwait sigwait sigwaitinfo +_sig_function_re = $(subst $(_sp),|,$(strip $(_sig_functions))) +# The following were extracted from "man signal.h" manually. +_sig_types_and_consts = \ + MINSIGSTKSZ SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK \ + SA_RESETHAND SA_RESTART SA_SIGINFO SIGEV_NONE SIGEV_SIGNAL \ + SIGEV_THREAD SIGSTKSZ SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SS_DISABLE \ + SS_ONSTACK mcontext_t pid_t sig_atomic_t sigevent siginfo_t sigset_t \ + sigstack sigval stack_t ucontext_t +# generated via this: +# perl -lne '/^#ifdef (SIG\w+)/ and print $1' lib/sig2str.c|sort -u|fmt -70 +_sig_names = \ + SIGABRT SIGALRM SIGALRM1 SIGBUS SIGCANCEL SIGCHLD SIGCLD SIGCONT \ + SIGDANGER SIGDIL SIGEMT SIGFPE SIGFREEZE SIGGRANT SIGHUP SIGILL \ + SIGINFO SIGINT SIGIO SIGIOT SIGKAP SIGKILL SIGKILLTHR SIGLOST SIGLWP \ + SIGMIGRATE SIGMSG SIGPHONE SIGPIPE SIGPOLL SIGPRE SIGPROF SIGPWR \ + SIGQUIT SIGRETRACT SIGSAK SIGSEGV SIGSOUND SIGSTKFLT SIGSTOP SIGSYS \ + SIGTERM SIGTHAW SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGUSR1 \ + SIGUSR2 SIGVIRT SIGVTALRM SIGWAITING SIGWINCH SIGWIND SIGWINDOW \ + SIGXCPU SIGXFSZ +_sig_syms_re = $(subst $(_sp),|,$(strip $(_sig_names) $(_sig_types_and_consts))) + +# Prohibit the inclusion of signal.h without an actual use. +sc_prohibit_signal_without_use: + @h='signal.h' \ + re='\<($(_sig_function_re)) *\(|\<($(_sig_syms_re))\>' \ + $(_sc_header_without_use) + +# Don't include stdio--.h unless you use one of its functions. +sc_prohibit_stdio--_without_use: + @h='stdio--.h' re='\<((f(re)?|p)open|tmpfile) *\(' \ + $(_sc_header_without_use) + +# Don't include stdio-safer.h unless you use one of its functions. +sc_prohibit_stdio-safer_without_use: + @h='stdio-safer.h' re='\<((f(re)?|p)open|tmpfile)_safer *\(' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of strings.h without a sensible use. +# Using the likes of bcmp, bcopy, bzero, index or rindex is not sensible. +sc_prohibit_strings_without_use: + @h='strings.h' \ + re='\<(strn?casecmp|ffs(ll)?)\>' \ + $(_sc_header_without_use) + +# Get the list of symbol names with this: +# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt +_intprops_names = \ + TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT \ + TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM \ + INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND \ + INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW \ + INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW \ + INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW \ + INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \ + INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW \ + INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW +_intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names))) +# Prohibit the inclusion of intprops.h without an actual use. +sc_prohibit_intprops_without_use: + @h='intprops.h' \ + re='\<($(_intprops_syms_re)) *\(' \ + $(_sc_header_without_use) + +_stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t +# Prohibit the inclusion of stddef.h without an actual use. +sc_prohibit_stddef_without_use: + @h='stddef.h' \ + re='\<($(_stddef_syms_re))\>' \ + $(_sc_header_without_use) + +_de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)? +_de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)? +_de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen +_dirent_syms_re = $(_de1)|$(_de2)|$(_de3) +# Prohibit the inclusion of dirent.h without an actual use. +sc_prohibit_dirent_without_use: + @h='dirent.h' \ + re='\<($(_dirent_syms_re))\>' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of verify.h without an actual use. +sc_prohibit_verify_without_use: + @h='verify.h' \ + re='\<(verify(true|expr)?|static_assert) *\(' \ + $(_sc_header_without_use) + +# Don't include xfreopen.h unless you use one of its functions. +sc_prohibit_xfreopen_without_use: + @h='xfreopen.h' re='\<xfreopen *\(' $(_sc_header_without_use) + +sc_obsolete_symbols: + @prohibit='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \ + halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ + $(_sc_search_regexp) + +# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ + +# Each nonempty ChangeLog line must start with a year number, or a TAB. +sc_changelog: + @prohibit='^[^12 ]' \ + in_vc_files='^ChangeLog$$' \ + halt='found unexpected prefix in a ChangeLog' \ + $(_sc_search_regexp) + +# Ensure that each .c file containing a "main" function also +# calls set_program_name. +sc_program_name: + @require='set_program_name *\(m?argv\[0\]\);' \ + in_vc_files='\.c$$' \ + containing='\<main *(' \ + halt='the above files do not call set_program_name' \ + $(_sc_search_regexp) + +# Ensure that each .c file containing a "main" function also +# calls bindtextdomain. +sc_bindtextdomain: + @require='bindtextdomain *\(' \ + in_vc_files='\.c$$' \ + containing='\<main *(' \ + halt='the above files do not call bindtextdomain' \ + $(_sc_search_regexp) + +# Require that the final line of each test-lib.sh-using test be this one: +# Exit $fail +# Note: this test requires GNU grep's --label= option. +Exit_witness_file ?= tests/test-lib.sh +Exit_base := $(notdir $(Exit_witness_file)) +sc_require_test_exit_idiom: + @if test -f $(srcdir)/$(Exit_witness_file); then \ + die=0; \ + for i in $$(grep -l -F 'srcdir/$(Exit_base)' \ + $$($(VC_LIST) tests)); do \ + tail -n1 $$i | grep '^Exit .' > /dev/null \ + && : || { die=1; echo $$i; } \ + done; \ + test $$die = 1 && \ + { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ + echo 1>&2 'Exit something'; \ + exit 1; } || :; \ + fi + +sc_trailing_blank: + @prohibit='[ ]$$' \ + halt='found trailing blank(s)' \ + $(_sc_search_regexp) + +# Match lines like the following, but where there is only one space +# between the options and the description: +# -D, --all-repeated[=delimit-method] print all duplicate lines\n +longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? +sc_two_space_separator_in_usage: + @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ + halt='help2man requires at least two spaces between an option and its description'\ + $(_sc_search_regexp) + +# A regexp matching function names like "error" that may be used +# to emit translatable messages. +_gl_translatable_diag_func_re ?= error + +# Look for diagnostics that aren't marked for translation. +# This won't find any for which error's format string is on a separate line. +sc_unmarked_diagnostics: + @grep -nE \ + '\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ + $$($(VC_LIST_EXCEPT)) \ + | grep -Ev '(_|ngettext ?)\(' && \ + { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ + exit 1; } || : + +# Avoid useless parentheses like those in this example: +# #if defined (SYMBOL) || defined (SYM2) +sc_useless_cpp_parens: + @prohibit='^# *if .*defined *\(' \ + halt='found useless parentheses in cpp directive' \ + $(_sc_search_regexp) + +# List headers for which HAVE_HEADER_H is always true, assuming you are +# using the appropriate gnulib module. CAUTION: for each "unnecessary" +# #if HAVE_HEADER_H that you remove, be sure that your project explicitly +# requires the gnulib module that guarantees the usability of that header. +gl_assured_headers_ = \ + cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g' + +# Convert the list of names to upper case, and replace each space with "|". +az_ = abcdefghijklmnopqrstuvwxyz +AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ +gl_header_upper_case_or_ = \ + $$($(gl_assured_headers_) \ + | tr $(az_)/.- $(AZ_)___ \ + | tr -s ' ' '|' \ + ) +sc_prohibit_always_true_header_tests: + @or=$(gl_header_upper_case_or_); \ + re="HAVE_($$or)_H"; \ + prohibit='\<'"$$re"'\>' \ + halt=$$(printf '%s\n' \ + 'do not test the above HAVE_<header>_H symbol(s);' \ + ' with the corresponding gnulib module, they are always true') \ + $(_sc_search_regexp) + +# ================================================================== +gl_other_headers_ ?= \ + intprops.h \ + openat.h \ + stat-macros.h + +# Perl -lne code to extract "significant" cpp-defined symbols from a +# gnulib header file, eliminating a few common false-positives. +# The exempted names below are defined only conditionally in gnulib, +# and hence sometimes must/may be defined in application code. +gl_extract_significant_defines_ = \ + /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ + && $$2 !~ /(?:rpl_|_used_without_)/\ + && $$1 !~ /^(?:NSIG|ENODATA)$$/\ + && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ + and print $$1 + +# Create a list of regular expressions matching the names +# of macros that are guaranteed to be defined by parts of gnulib. +define def_sym_regex + gen_h=$(gl_generated_headers_); \ + (cd $(gnulib_dir)/lib; \ + for f in *.in.h $(gl_other_headers_); do \ + test -f $$f \ + && perl -lne '$(gl_extract_significant_defines_)' $$f; \ + done; \ + ) | sort -u \ + | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' +endef + +# Don't define macros that we already get from gnulib header files. +sc_prohibit_always-defined_macros: + @if test -d $(gnulib_dir); then \ + case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ + echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ + esac; \ + $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ + && { echo '$(ME): define the above via some gnulib .h file' \ + 1>&2; exit 1; } || :; \ + fi +# ================================================================== + +# Prohibit checked in backup files. +sc_prohibit_backup_files: + @$(VC_LIST) | grep '~$$' && \ + { echo '$(ME): found version controlled backup file' 1>&2; \ + exit 1; } || : + +# Require the latest GPL. +sc_GPL_version: + @prohibit='either ''version [^3]' \ + halt='GPL vN, N!=3' \ + $(_sc_search_regexp) + +# Require the latest GFDL. Two regexp, since some .texi files end up +# line wrapping between 'Free Documentation License,' and 'Version'. +_GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) +sc_GFDL_version: + @prohibit='$(_GFDL_regexp)' \ + halt='GFDL vN, N!=3' \ + $(_sc_search_regexp) + +# Don't use Texinfo's @acronym{}. +# http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html +texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ +sc_texinfo_acronym: + @prohibit='@acronym\{' \ + in_vc_files='$(texinfo_suffix_re_)' \ + halt='found use of Texinfo @acronym{}' \ + $(_sc_search_regexp) + +cvs_keywords = \ + Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State + +sc_prohibit_cvs_keyword: + @prohibit='\$$($(cvs_keywords))\$$' \ + halt='do not use CVS keyword expansion' \ + $(_sc_search_regexp) + +# This Perl code is slightly obfuscated. Not only is each "$" doubled +# because it's in a Makefile, but the $$c's are comments; we cannot +# use "#" due to the way the script ends up concatenated onto one line. +# It would be much more concise, and would produce better output (including +# counts) if written as: +# perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... +# but that would be far less efficient, reading the entire contents +# of each file, rather than just the last two bytes of each. +# In addition, while the code below detects both blank lines and a missing +# newline at EOF, the above detects only the former. +# +# This is a perl script that is expected to be the single-quoted argument +# to a command-line "-le". The remaining arguments are file names. +# Print the name of each file that ends in exactly one newline byte. +# I.e., warn if there are blank lines (2 or more newlines), or if the +# last byte is not a newline. However, currently we don't complain +# about any file that contains exactly one byte. +# Exit nonzero if at least one such file is found, otherwise, exit 0. +# Warn about, but otherwise ignore open failure. Ignore seek/read failure. +# +# Use this if you want to remove trailing empty lines from selected files: +# perl -pi -0777 -e 's/\n\n+$/\n/' files... +# +require_exactly_one_NL_at_EOF_ = \ + foreach my $$f (@ARGV) \ + { \ + open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ + my $$p = sysseek (F, -2, 2); \ + my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ + my $$last_two_bytes; \ + defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ + close F; \ + $$c = "ignore read failure"; \ + $$p && ($$last_two_bytes eq "\n\n" \ + || substr ($$last_two_bytes,1) ne "\n") \ + and (print $$f), $$fail=1; \ + } \ + END { exit defined $$fail } +sc_prohibit_empty_lines_at_EOF: + @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \ + || { echo '$(ME): empty line(s) or no newline at EOF' \ + 1>&2; exit 1; } || : + +# Make sure we don't use st_blocks. Use ST_NBLOCKS instead. +# This is a bit of a kludge, since it prevents use of the string +# even in comments, but for now it does the job with no false positives. +sc_prohibit_stat_st_blocks: + @prohibit='[.>]st_blocks' \ + halt='do not use st_blocks; use ST_NBLOCKS' \ + $(_sc_search_regexp) + +# Make sure we don't define any S_IS* macros in src/*.c files. +# They're already defined via gnulib's sys/stat.h replacement. +sc_prohibit_S_IS_definition: + @prohibit='^ *# *define *S_IS' \ + halt='do not define S_IS* macros; include <sys/stat.h>' \ + $(_sc_search_regexp) + +# Perl block to convert a match to FILE_NAME:LINENO:TEST, +# that is shared by two definitions below. +perl_filename_lineno_text_ = \ + -e ' {' \ + -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ + -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ + -e ' print "$$ARGV:$$n:$$v\n";' \ + -e ' }' + +prohibit_doubled_word_RE_ ?= \ + /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims +prohibit_doubled_word_ = \ + -e 'while ($(prohibit_doubled_word_RE_))' \ + $(perl_filename_lineno_text_) + +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_doubled_word_match_RE_ ?= ^$$ + +sc_prohibit_doubled_word: + @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \ + | grep -vE '$(ignore_doubled_word_match_RE_)' \ + | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || : + +# A regular expression matching undesirable combinations of words like +# "can not"; this matches them even when the two words appear on different +# lines, but not when there is an intervening delimiter like "#" or "*". +prohibit_undesirable_word_seq_RE_ ?= \ + /\bcan\s+not\b/gims +prohibit_undesirable_word_seq_ = \ + -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ + $(perl_filename_lineno_text_) +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_undesirable_word_sequence_RE_ ?= ^$$ + +sc_prohibit_undesirable_word_seq: + @perl -n -0777 $(prohibit_undesirable_word_seq_) \ + $$($(VC_LIST_EXCEPT)) \ + | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \ + && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || : + +_ptm1 = use "test C1 && test C2", not "test C1 -''a C2" +_ptm2 = use "test C1 || test C2", not "test C1 -''o C2" +# Using test's -a and -o operators is not portable. +# We prefer test over [, since the latter is spelled [[ in configure.ac. +sc_prohibit_test_minus_ao: + @prohibit='(\<test| \[+) .+ -[ao] ' \ + halt='$(_ptm1); $(_ptm2)' \ + $(_sc_search_regexp) + +# Avoid a test bashism. +sc_prohibit_test_double_equal: + @prohibit='(\<test| \[+) .+ == ' \ + containing='#! */bin/[a-z]*sh' \ + halt='use "test x = x", not "test x =''= x"' \ + $(_sc_search_regexp) + +# Each program that uses proper_name_utf8 must link with one of the +# ICONV libraries. Otherwise, some ICONV library must appear in LDADD. +# The perl -0777 invocation below extracts the possibly-multi-line +# definition of LDADD from the appropriate Makefile.am and exits 0 +# when it contains "ICONV". +sc_proper_name_utf8_requires_ICONV: + @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\ + if test "x$$progs" != x; then \ + fail=0; \ + for p in $$progs; do \ + dir=$$(dirname "$$p"); \ + perl -0777 \ + -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \ + $$dir/Makefile.am && continue; \ + base=$$(basename "$$p" .c); \ + grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ + || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ + exit 1; } || :; \ + fi + +# Warn about "c0nst struct Foo const foo[]", +# but not about "char const *const foo" or "#define const const". +sc_redundant_const: + @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ + halt='redundant "const" in declarations' \ + $(_sc_search_regexp) + +sc_const_long_option: + @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \ + | grep -Ev 'const struct option|struct option const' && { \ + echo 1>&2 '$(ME): add "const" to the above declarations'; \ + exit 1; } || : + +NEWS_hash = \ + $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ + $(srcdir)/NEWS \ + | perl -0777 -pe \ + 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ + | md5sum - \ + | sed 's/ .*//') + +# Ensure that we don't accidentally insert an entry into an old NEWS block. +sc_immutable_NEWS: + @if test -f $(srcdir)/NEWS; then \ + test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ + { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ + fi + +# Update the hash stored above. Do this after each release and +# for any corrections to old entries. +update-NEWS-hash: NEWS + perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ + $(srcdir)/cfg.mk + +# Ensure that we use only the standard $(VAR) notation, +# not @...@ in Makefile.am, now that we can rely on automake +# to emit a definition for each substituted variable. +# However, there is still one case in which @VAR@ use is not just +# legitimate, but actually required: when augmenting an automake-defined +# variable with a prefix. For example, gettext uses this: +# MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ +# otherwise, makeinfo would put German or French (current locale) +# navigation hints in the otherwise-English documentation. +# +# Allow the package to add exceptions via a hook in cfg.mk; +# for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by +# setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. +_makefile_at_at_check_exceptions ?= +sc_makefile_at_at_check: + @perl -ne '/\@[A-Z_0-9]+\@/' \ + -e ' && !/([A-Z_0-9]+)\s+=.*\@\1\@$$/' \ + -e ''$(_makefile_at_at_check_exceptions) \ + -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ + $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ + && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : + +news-check: NEWS + if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS \ + | grep -E $(news-check-regexp) >/dev/null; then \ + :; \ + else \ + echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ + exit 1; \ + fi + +sc_makefile_TAB_only_indentation: + @prohibit='^ [ ]{8}' \ + in_vc_files='akefile|\.mk$$' \ + halt='found TAB-8-space indentation' \ + $(_sc_search_regexp) + +sc_m4_quote_check: + @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ + in_vc_files='(^configure\.ac|\.m4)$$' \ + halt='quote the first arg to AC_DEF*' \ + $(_sc_search_regexp) + +fix_po_file_diag = \ +'you have changed the set of files with translatable diagnostics;\n\ +apply the above patch\n' + +# Verify that all source files using _() are listed in po/POTFILES.in. +po_file ?= $(srcdir)/po/POTFILES.in +generated_files ?= $(srcdir)/lib/*.[ch] +sc_po_check: + @if test -f $(po_file); then \ + grep -E -v '^(#|$$)' $(po_file) \ + | grep -v '^src/false\.c$$' | sort > $@-1; \ + files=; \ + for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do \ + test -r $$file || continue; \ + case $$file in \ + *.m4|*.mk) continue ;; \ + *.?|*.??) ;; \ + *) continue;; \ + esac; \ + case $$file in \ + *.[ch]) \ + base=`expr " $$file" : ' \(.*\)\..'`; \ + { test -f $$base.l || test -f $$base.y; } && continue;; \ + esac; \ + files="$$files $$file"; \ + done; \ + grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ + | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \ + diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ + || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ + rm -f $@-1 $@-2; \ + fi + +# Sometimes it is useful to change the PATH environment variable +# in Makefiles. When doing so, it's better not to use the Unix-centric +# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'. +msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead' +sc_makefile_path_separator_check: + @prohibit='PATH[=].*:' \ + in_vc_files='akefile|\.mk$$' \ + halt=$(msg) \ + $(_sc_search_regexp) + +# Check that `make alpha' will not fail at the end of the process, +# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) +# and is read-only. +writable-files: + if test -d $(release_archive_dir); then \ + for file in $(DIST_ARCHIVES); do \ + for p in ./ $(release_archive_dir)/; do \ + test -e $$p$$file || continue; \ + test -w $$p$$file \ + || { echo ERROR: $$p$$file is not writable; fail=1; }; \ + done; \ + done; \ + test "$$fail" && exit 1 || : ; \ + else :; \ + fi + +v_etc_file = $(gnulib_dir)/lib/version-etc.c +sample-test = tests/sample-test +texi = doc/$(PACKAGE).texi +# Make sure that the copyright date in $(v_etc_file) is up to date. +# Do the same for the $(sample-test) and the main doc/.texi file. +sc_copyright_check: + @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ + in_files=$(v_etc_file) \ + halt='out of date copyright in $(v_etc_file); update it' \ + $(_sc_search_regexp) + @require='# Copyright \(C\) '$$(date +%Y)' Free' \ + in_vc_files=$(sample-test) \ + halt='out of date copyright in $(sample-test); update it' \ + $(_sc_search_regexp) + @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \ + in_vc_files=$(texi) \ + halt='out of date copyright in $(texi); update it' \ + $(_sc_search_regexp) + +# If tests/help-version exists and seems to be new enough, assume that its +# use of init.sh and path_prepend_ is correct, and ensure that every other +# use of init.sh is identical. +# This is useful because help-version cross-checks prog --version +# with $(VERSION), which verifies that its path_prepend_ invocation +# sets PATH correctly. This is an inexpensive way to ensure that +# the other init.sh-using tests also get it right. +_hv_file ?= $(srcdir)/tests/help-version +_hv_regex_weak ?= ^ *\. .*/init\.sh" +# Fix syntax-highlighters " +_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" +sc_cross_check_PATH_usage_in_tests: + @if test -f $(_hv_file); then \ + grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \ + || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ + exit 0; }; \ + grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ + || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ + exit 1; }; \ + good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \ + grep -LFx "$$good" \ + $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \ + | grep . && \ + { echo "$(ME): the above files use path_prepend_ inconsistently" \ + 1>&2; exit 1; } || :; \ + fi + +# #if HAVE_... will evaluate to false for any non numeric string. +# That would be flagged by using -Wundef, however gnulib currently +# tests many undefined macros, and so we can't enable that option. +# So at least preclude common boolean strings as macro values. +sc_Wundef_boolean: + @prohibit='^#define.*(yes|no|true|false)$$' \ + in_files='$(CONFIG_INCLUDE)' \ + halt='Use 0 or 1 for macro values' \ + $(_sc_search_regexp) + +# Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might +# not be constant, or might overflow a stack. In general, use PATH_MAX as +# a limit, not an array or alloca size. +sc_prohibit_path_max_allocation: + @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX' \ + halt='Avoid stack allocations of size PATH_MAX' \ + $(_sc_search_regexp) + +sc_vulnerable_makefile_CVE-2009-4029: + @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \ + in_files=$$(find $(srcdir) -name Makefile.in) \ + halt=$$(printf '%s\n' \ + 'the above files are vulnerable; beware of running' \ + ' "make dist*" rules, and upgrade to fixed automake' \ + ' see http://bugzilla.redhat.com/542609 for details') \ + $(_sc_search_regexp) + +vc-diff-check: + (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : + if test -s vc-diffs; then \ + cat vc-diffs; \ + echo "Some files are locally modified:" 1>&2; \ + exit 1; \ + else \ + rm vc-diffs; \ + fi + +rel-files = $(DIST_ARCHIVES) + +gnulib_dir ?= $(srcdir)/gnulib +gnulib-version = $$(cd $(gnulib_dir) && git describe) +bootstrap-tools ?= autoconf,automake,gnulib + +# If it's not already specified, derive the GPG key ID from +# the signed tag we've just applied to mark this release. +gpg_key_ID ?= \ + $$(git cat-file tag v$(VERSION) > .ann-sig \ + && gpgv .ann-sig - < /dev/null 2>&1 \ + | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig) + +translation_project_ ?= coordinator@translationproject.org + +# Make info-gnu the default only for a stable release. +ifeq ($(RELEASE_TYPE),stable) + announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT) + announcement_mail_headers_ ?= \ + To: info-gnu@gnu.org \ + Cc: $(announcement_Cc_) \ + Mail-Followup-To: $(PACKAGE_BUGREPORT) +else + announcement_Cc_ ?= $(translation_project_) + announcement_mail_headers_ ?= \ + To: $(PACKAGE_BUGREPORT) \ + Cc: $(announcement_Cc_) +endif + +announcement: NEWS ChangeLog $(rel-files) + @$(srcdir)/$(_build-aux)/announce-gen \ + --mail-headers='$(announcement_mail_headers_)' \ + --release-type=$(RELEASE_TYPE) \ + --package=$(PACKAGE) \ + --prev=$(PREV_VERSION) \ + --curr=$(VERSION) \ + --gpg-key-id=$(gpg_key_ID) \ + --news=$(srcdir)/NEWS \ + --bootstrap-tools=$(bootstrap-tools) \ + --gnulib-version=$(gnulib-version) \ + --no-print-checksums \ + $(addprefix --url-dir=, $(url_dir_list)) + +## ---------------- ## +## Updating files. ## +## ---------------- ## + +ftp-gnu = ftp://ftp.gnu.org/gnu +www-gnu = http://www.gnu.org + +upload_dest_dir_ ?= $(PACKAGE) +emit_upload_commands: + @echo ===================================== + @echo ===================================== + @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\" + @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" + @echo " $(rel-files)" + @echo '# send the ~/announce-$(my_distdir) e-mail' + @echo ===================================== + @echo ===================================== + +define emit-commit-log + printf '%s\n' 'maint: post-release administrivia' '' \ + '* NEWS: Add header line for next release.' \ + '* .prev-version: Record previous version.' \ + '* cfg.mk (old_NEWS_hash): Auto-update.' +endef + +.PHONY: no-submodule-changes +no-submodule-changes: + if test -d $(srcdir)/.git; then \ + diff=$$(cd $(srcdir) && git submodule -q foreach \ + git diff-index --name-only HEAD) \ + || exit 1; \ + case $$diff in '') ;; \ + *) echo '$(ME): submodule files are locally modified:'; \ + echo "$$diff"; exit 1;; esac; \ + else \ + : ; \ + fi + +submodule-checks ?= no-submodule-changes public-submodule-commit + +# Ensure that each sub-module commit we're using is public. +# Without this, it is too easy to tag and release code that +# cannot be built from a fresh clone. +.PHONY: public-submodule-commit +public-submodule-commit: + $(AM_V_GEN)if test -d $(srcdir)/.git; then \ + cd $(srcdir) && \ + git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \ + = '$$(git merge-base origin $$sha1)' \ + || { echo '$(ME): found non-public submodule commit' >&2; \ + exit 1; }; \ + else \ + : ; \ + fi +# This rule has a high enough utility/cost ratio that it should be a +# dependent of "check" by default. However, some of us do occasionally +# commit a temporary change that deliberately points to a non-public +# submodule commit, and want to be able to use rules like "make check". +# In that case, run e.g., "make check gl_public_submodule_commit=" +# to disable this test. +gl_public_submodule_commit ?= public-submodule-commit +check: $(gl_public_submodule_commit) + +.PHONY: alpha beta stable +ALL_RECURSIVE_TARGETS += alpha beta stable +alpha beta stable: $(local-check) writable-files $(submodule-checks) + test $@ = stable \ + && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ + || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ + || : + $(MAKE) vc-diff-check + $(MAKE) news-check + $(MAKE) distcheck + $(MAKE) dist XZ_OPT=-9ev + $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ + $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ + +# Override this in cfg.mk if you follow different procedures. +release-prep-hook ?= release-prep + +gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] +.PHONY: release-prep +release-prep: + case $$RELEASE_TYPE in alpha|beta|stable) ;; \ + *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac + $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir) + if test -d $(release_archive_dir); then \ + ln $(rel-files) $(release_archive_dir); \ + chmod a-w $(rel-files); \ + fi + echo $(VERSION) > $(prev_version_file) + $(MAKE) update-NEWS-hash + perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS + $(emit-commit-log) > .ci-msg + $(VC) commit -F .ci-msg -a + rm .ci-msg + +# Override this with e.g., -s $(srcdir)/some_other_name.texi +# if the default $(PACKAGE)-derived name doesn't apply. +gendocs_options_ ?= + +.PHONY: web-manual +web-manual: + @test -z "$(manual_title)" \ + && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : + @cd '$(srcdir)/doc'; \ + $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ + -o '$(abs_builddir)/doc/manual' \ + --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ + "$(PACKAGE_NAME) - $(manual_title)" + @echo " *** Upload the doc/manual directory to web-cvs." + +# Code Coverage + +init-coverage: + $(MAKE) $(AM_MAKEFLAGS) clean + lcov --directory . --zerocounters + +COVERAGE_CCOPTS ?= "-g --coverage" +COVERAGE_OUT ?= doc/coverage + +build-coverage: + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check + mkdir -p $(COVERAGE_OUT) + lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ + --capture + +gen-coverage: + genhtml --output-directory $(COVERAGE_OUT) \ + $(COVERAGE_OUT)/$(PACKAGE).info \ + --highlight --frames --legend \ + --title "$(PACKAGE_NAME)" + +coverage: init-coverage build-coverage gen-coverage + +# Update gettext files. +PACKAGE ?= $(shell basename $(PWD)) +PO_DOMAIN ?= $(PACKAGE) +POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ +PODIR ?= po +refresh-po: + rm -f $(PODIR)/*.po && \ + echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ + wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ + echo 'en@boldquot' > $(PODIR)/LINGUAS && \ + echo 'en@quot' >> $(PODIR)/LINGUAS && \ + ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS + + # Running indent once is not idempotent, but running it twice is. +INDENT_SOURCES ?= $(C_SOURCES) +.PHONY: indent +indent: + indent $(INDENT_SOURCES) + indent $(INDENT_SOURCES) + +# If you want to set UPDATE_COPYRIGHT_* environment variables, +# put the assignments in this variable. +update-copyright-env ?= + +# Run this rule once per year (usually early in January) +# to update all FSF copyright year lists in your project. +# If you have an additional project-specific rule, +# add it in cfg.mk along with a line 'update-copyright: prereq'. +# By default, exclude all variants of COPYING; you can also +# add exemptions (such as ChangeLog..* for rotated change logs) +# in the file .x-update-copyright. +.PHONY: update-copyright +update-copyright: + grep -l -w Copyright \ + $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ + | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ + +# This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not +# overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. + +# NOTE: to override any _gl_TS_* default value, you must +# define the variable(s) using "export" in cfg.mk. +_gl_TS_dir ?= src + +ALL_RECURSIVE_TARGETS += sc_tight_scope +sc_tight_scope: tight-scope.mk + @fail=0; \ + if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ + > /dev/null \ + && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ + > /dev/null 2>&1; then \ + echo '$(ME): skipping $@'; \ + else \ + $(MAKE) -s -C $(_gl_TS_dir) \ + -f Makefile \ + -f $(abs_top_srcdir)/cfg.mk \ + -f $(abs_top_builddir)/$< \ + _gl_tight_scope \ + || fail=1; \ + fi; \ + rm -f $<; \ + exit $$fail + +tight-scope.mk: $(ME) + @rm -f $@ $@-t + @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(ME) > $@-t + @chmod a=r $@-t && mv $@-t $@ + +ifeq (a,b) +# TS-start + +# Most functions should have static scope. +# Any that don't must be marked with `extern', but `main' +# and `usage' are exceptions: they're always extern, but +# do not need to be marked. Symbols matching `__.*' are +# reserved by the compiler, so are automatically excluded below. +_gl_TS_unmarked_extern_functions ?= main usage +_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/ + +# If your project uses a macro like "XTERN", then put +# the following in cfg.mk to override this default: +# export _gl_TS_extern = extern|XTERN +_gl_TS_extern ?= extern + +# The second nm|grep checks for file-scope variables with `extern' scope. +# Without gnulib's progname module, you might put program_name here. +# Symbols matching `__.*' are reserved by the compiler, +# so are automatically excluded below. +_gl_TS_unmarked_extern_vars ?= + +# NOTE: the _match variables are perl expressions -- not mere regular +# expressions -- so that you can extend them to match other patterns +# and easily extract matched variable names. +# For example, if your project declares some global variables via +# a macro like this: GLOBAL(type, var_name, initializer), then you +# can override this definition to automatically extract those names: +# export _gl_TS_var_match = \ +# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ +_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ + +# The names of object files in (or relative to) $(_gl_TS_dir). +_gl_TS_obj_files ?= *.$(OBJEXT) + +# Files in which to search for the one-line style extern declarations. +# $(_gl_TS_dir)-relative. +_gl_TS_headers ?= $(noinst_HEADERS) + +.PHONY: _gl_tight_scope +_gl_tight_scope: $(bin_PROGRAMS) + t=exceptions-$$$$; \ + trap 's=$$?; rm -f $$t; exit $$s' 0; \ + for sig in 1 2 3 13 15; do \ + eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ + done; \ + src=`for f in $(SOURCES); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + hdr=`for f in $(_gl_TS_headers); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ + grep -h -A1 '^extern .*[^;]$$' $$src \ + | grep -vE '^(extern |--)' | sed 's/ .*//'; \ + perl -lne \ + '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr; \ + ) | sort -u > $$t; \ + nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \ + && { echo the above functions should have static scope >&2; \ + exit 1; } || : ; \ + ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \ + perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \ + ) | sort -u > $$t; \ + nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \ + | sort -u | grep -Ev -f $$t \ + && { echo the above variables should have static scope >&2; \ + exit 1; } || : +# TS-end +endif -- 1.7.6.4

Hmm not sure what to review in there, let's ACK it and see what breaks :) Christophe On Thu, Dec 01, 2011 at 02:05:43PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
The 'syntax-check' rule validates various coding style requirements. It is run as part of the regular automated builds
* GNUmakefile, maint.mk: syntax-check rules (from GNULIB) * cfg.mk: Local extra rules & exclusions * build-aux/useless-if-before-free, build-aux/vc-list-files: Helpers for syntax check (from GNULIB) * autobuild.sh: Run syntax-check as part of build * configure.ac: Ensure GNUmakefile exists in VPATH builds --- GNUmakefile | 132 ++++ autobuild.sh | 13 + build-aux/useless-if-before-free | 207 ++++++ build-aux/vc-list-files | 113 +++ cfg.mk | 137 ++++ configure.ac | 11 + maint.mk | 1511 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 2124 insertions(+), 0 deletions(-) create mode 100644 GNUmakefile create mode 100755 build-aux/useless-if-before-free create mode 100755 build-aux/vc-list-files create mode 100644 cfg.mk create mode 100644 maint.mk
diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..ca88b6b --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,132 @@ +# Having a separate GNUmakefile lets me `include' the dynamically +# generated rules created via cfg.mk (package-local configuration) +# as well as maint.mk (generic maintainer rules). +# This makefile is used only if you run GNU Make. +# It is necessary if you want to build targets usually of interest +# only to the maintainer. + +# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Systems where /bin/sh is not the default shell need this. The $(shell) +# command below won't work with e.g. stock DOS/Windows shells. +ifeq ($(wildcard /bin/s[h]),/bin/sh) +SHELL = /bin/sh +else +# will be used only with the next shell-test line, then overwritten +# by a configured-in value +SHELL = sh +endif + +# If the user runs GNU make but has not yet run ./configure, +# give them a diagnostic. +_have-Makefile := $(shell test -f Makefile && echo yes) +ifeq ($(_have-Makefile),yes) + +# Make tar archive easier to reproduce. +export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner + +# Allow the user to add to this in the Makefile. +ALL_RECURSIVE_TARGETS = + +include Makefile + +# Some projects override e.g., _autoreconf here. +-include $(srcdir)/cfg.mk + +# Allow cfg.mk to override these. +_build-aux ?= build-aux +_autoreconf ?= autoreconf -v + +include $(srcdir)/maint.mk + +# Ensure that $(VERSION) is up to date for dist-related targets, but not +# for others: rerunning autoreconf and recompiling everything isn't cheap. +_have-git-version-gen := \ + $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) +ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) + _is-dist-target ?= $(filter-out %clean, \ + $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) + _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) + ifneq (,$(_is-dist-target)$(_is-install-target)) + _curr-ver := $(shell cd $(srcdir) \ + && $(_build-aux)/git-version-gen \ + .tarball-version \ + $(git-version-gen-tag-sed-script)) + ifneq ($(_curr-ver),$(VERSION)) + ifeq ($(_curr-ver),UNKNOWN) + $(info WARNING: unable to verify if $(VERSION) is the correct version) + else + ifneq (,$(_is-install-target)) + # GNU Coding Standards state that 'make install' should not cause + # recompilation after 'make all'. But as long as changing the version + # string alters config.h, the cost of having 'make all' always have an + # up-to-date version is prohibitive. So, as a compromise, we merely + # warn when installing a version string that is out of date; the user + # should run 'autoreconf' (or something like 'make distcheck') to + # fix the version, 'make all' to propagate it, then 'make install'. + $(info WARNING: version string $(VERSION) is out of date;) + $(info run '$(MAKE) _version' to fix it) + else + $(info INFO: running autoreconf for new version string: $(_curr-ver)) +GNUmakefile: _version + touch GNUmakefile + endif + endif + endif + endif +endif + +.PHONY: _version +_version: + cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) + $(MAKE) $(AM_MAKEFLAGS) Makefile + +else + +.DEFAULT_GOAL := abort-due-to-no-makefile +srcdir = . + +# The package can override .DEFAULT_GOAL to run actions like autoreconf. +-include ./cfg.mk +include ./maint.mk + +ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) +$(MAKECMDGOALS): abort-due-to-no-makefile +endif + +abort-due-to-no-makefile: + @echo There seems to be no Makefile in this directory. 1>&2 + @echo "You must run ./configure before running \`make'." 1>&2 + @exit 1 + +endif + +# Tell version 3.79 and up of GNU make to not build goals in this +# directory in parallel, in case someone tries to build multiple +# targets, and one of them can cause a recursive target to be invoked. + +# Only set this if Automake doesn't provide it. +AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ + dist distcheck tags ctags + +ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) + +ifneq ($(word 2, $(MAKECMDGOALS)), ) +ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) +.NOTPARALLEL: +endif +endif diff --git a/autobuild.sh b/autobuild.sh index 0ec44d7..6e9e716 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -3,6 +3,9 @@ set -e set -v
+test -n "$1" && RESULTS=$1 || RESULTS=results.log +: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder} + # Make things clean. test -f Makefile && make -k distclean || :
@@ -16,6 +19,16 @@ cd build make make install
+# set -o pipefail is a bashism; this use of exec is the POSIX alternative +exec 3>&1 +st=$( + exec 4>&1 >&3 + { make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS" +) +exec 3>&- +test "$st" = 0 + + rm -f *.tar.gz make dist
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free new file mode 100755 index 0000000..b8f5a26 --- /dev/null +++ b/build-aux/useless-if-before-free @@ -0,0 +1,207 @@ +eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}' + & eval 'exec perl -wST "$0" $argv:q' + if 0; +# Detect instances of "if (p) free (p);". +# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. + +my $VERSION = '2011-04-20 13:43'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + +# Copyright (C) 2008-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Written by Jim Meyering + +use strict; +use warnings; +use Getopt::Long; + +(my $ME = $0) =~ s|.*/||; + +# use File::Coda; # http://meyering.net/code/Coda/ +END { + defined fileno STDOUT or return; + close STDOUT and return; + warn "$ME: failed to close standard output: $!\n"; + $? ||= 1; +} + +sub usage ($) +{ + my ($exit_code) = @_; + my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); + if ($exit_code != 0) + { + print $STREAM "Try `$ME --help' for more information.\n"; + } + else + { + print $STREAM <<EOF; +Usage: $ME [OPTIONS] FILE... + +Detect any instance in FILE of a useless "if" test before a free call, e.g., +"if (p) free (p);". Any such test may be safely removed without affecting +the semantics of the C code in FILE. Use --name=FOO --name=BAR to also +detect free-like functions named FOO and BAR. + +OPTIONS: + + --list print only the name of each matching FILE (\\0-terminated) + --name=N add name N to the list of \`free\'-like functions to detect; + may be repeated + + --help display this help and exit + --version output version information and exit + +Exit status: + + 0 one or more matches + 1 no match + 2 an error + +EXAMPLE: + +For example, this command prints all removable "if" tests before "free" +and "kfree" calls in the linux kernel sources: + + git ls-files -z |xargs -0 $ME --name=kfree + +EOF + } + exit $exit_code; +} + +sub is_NULL ($) +{ + my ($expr) = @_; + return ($expr eq 'NULL' || $expr eq '0'); +} + +{ + sub EXIT_MATCH {0} + sub EXIT_NO_MATCH {1} + sub EXIT_ERROR {2} + my $err = EXIT_NO_MATCH; + + my $list; + my @name = qw(free); + GetOptions + ( + help => sub { usage 0 }, + version => sub { print "$ME version $VERSION\n"; exit }, + list => \$list, + 'name=s@' => \@name, + ) or usage 1; + + # Make sure we have the right number of non-option arguments. + # Always tell the user why we fail. + @ARGV < 1 + and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; + + my $or = join '|', @name; + my $regexp = qr/(?:$or)/; + + # Set the input record separator. + # Note: this makes it impractical to print line numbers. + $/ = '"'; + + my $found_match = 0; + FILE: + foreach my $file (@ARGV) + { + open FH, '<', $file + or (warn "$ME: can't open `$file' for reading: $!\n"), + $err = EXIT_ERROR, next; + while (defined (my $line = <FH>)) + { + while ($line =~ + /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) + # 1 2 3 + (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;| + \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) + { + my $all = $1; + my ($lhs, $rhs) = ($2, $3); + my ($free_opnd, $braced_free_opnd) = ($4, $5); + my $non_NULL; + if (!defined $rhs) { $non_NULL = $lhs } + elsif (is_NULL $rhs) { $non_NULL = $lhs } + elsif (is_NULL $lhs) { $non_NULL = $rhs } + else { next } + + # Compare the non-NULL part of the "if" expression and the + # free'd expression, without regard to white space. + $non_NULL =~ tr/ \t//d; + my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; + $e2 =~ tr/ \t//d; + if ($non_NULL eq $e2) + { + $found_match = 1; + $list + and (print "$file\0"), next FILE; + print "$file: $all\n"; + } + } + } + } + continue + { + close FH; + } + + $found_match && $err == EXIT_NO_MATCH + and $err = EXIT_MATCH; + + exit $err; +} + +my $foo = <<'EOF'; +# The above is to *find* them. +# This adjusts them, removing the unnecessary "if (p)" part. + +# FIXME: do something like this as an option (doesn't do braces): +free=xfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0x3b -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s' + +# Use the following to remove redundant uses of kfree inside braces. +# Note that -0777 puts perl in slurp-whole-file mode; +# but we have plenty of memory, these days... +free=kfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0777 -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' + +Be careful that the result of the above transformation is valid. +If the matched string is followed by "else", then obviously, it won't be. + +When modifying files, refuse to process anything other than a regular file. +EOF + +## Local Variables: +## mode: perl +## indent-tabs-mode: nil +## eval: (add-hook 'write-file-hooks 'time-stamp) +## time-stamp-start: "my $VERSION = '" +## time-stamp-format: "%:y-%02m-%02d %02H:%02M" +## time-stamp-time-zone: "UTC" +## time-stamp-end: "'; # UTC" +## End: diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files new file mode 100755 index 0000000..405e458 --- /dev/null +++ b/build-aux/vc-list-files @@ -0,0 +1,113 @@ +#!/bin/sh +# List version-controlled file names. + +# Print a version string. +scriptversion=2011-05-16.22; # UTC + +# Copyright (C) 2006-2011 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +# List the specified version-controlled files. +# With no argument, list them all. With a single DIRECTORY argument, +# list the version-controlled files in that directory. + +# If there's an argument, it must be a single, "."-relative directory name. +# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ + +postprocess= +case $1 in + --help) cat <<EOF +Usage: $0 [-C SRCDIR] [DIR...] + +Output a list of version-controlled files in DIR (default .), relative to +SRCDIR (default .). SRCDIR must be the top directory of a checkout. + +Options: + --help print this help, then exit + --version print version number, then exit + -C SRCDIR change directory to SRCDIR before generating list + +Report bugs and patches to <bug-gnulib@gnu.org>. +EOF + exit ;; + + --version) + year=`echo "$scriptversion" | sed 's/[^0-9].*//'` + cat <<EOF +vc-list-files $scriptversion +Copyright (C) $year Free Software Foundation, Inc, +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit ;; + + -C) + test "$2" = . || postprocess="| sed 's|^|$2/|'" + cd "$2" || exit 1 + shift; shift ;; +esac + +test $# = 0 && set . + +for dir +do + if test -d .git; then + test "x$dir" = x. \ + && dir= sed_esc= \ + || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } + # Ignore git symlinks - either they point into the tree, in which case + # we don't need to visit the target twice, or they point somewhere + # else (often into a submodule), in which case the content does not + # belong to this package. + eval exec git ls-tree -r 'HEAD:"$dir"' \ + \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess + elif test -d .hg; then + eval exec hg locate '"$dir/*"' $postprocess + elif test -d .bzr; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + eval exec bzr ls -R --versioned '"$dir"' $postprocess + elif test -d CVS; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + if test -x build-aux/cvsu; then + eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess + elif (cvsu --help) >/dev/null 2>&1; then + eval cvsu --find --types=AFGM '"$dir"' $postprocess + else + eval awk -F/ \''{ \ + if (!$1 && $3 !~ /^-/) { \ + f=FILENAME; \ + if (f ~ /CVS\/Entries$/) \ + f = substr(f, 1, length(f)-11); \ + print f $2; \ + }}'\'' \ + `find "$dir" -name Entries -print` /dev/null' $postprocess + fi + elif test -d .svn; then + eval exec svn list -R '"$dir"' $postprocess + else + echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 + exit 1 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/cfg.mk b/cfg.mk new file mode 100644 index 0000000..ed46aee --- /dev/null +++ b/cfg.mk @@ -0,0 +1,137 @@ +# Customize Makefile.maint. -*- makefile -*- +# Copyright (C) 2008-2011 Red Hat, Inc. +# Copyright (C) 2003-2008 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program 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 General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Tests not to run as part of "make distcheck". +local-checks-to-skip = \ + changelog-check \ + check-AUTHORS \ + makefile-check \ + makefile_path_separator_check \ + patch-check \ + sc_GPL_version \ + sc_always_defined_macros \ + sc_cast_of_alloca_return_value \ + sc_cross_check_PATH_usage_in_tests \ + sc_dd_max_sym_length \ + sc_error_exit_success \ + sc_file_system \ + sc_immutable_NEWS \ + sc_makefile_path_separator_check \ + sc_obsolete_symbols \ + sc_prohibit_always_true_header_tests \ + sc_prohibit_S_IS_definition \ + sc_prohibit_atoi_atof \ + sc_prohibit_hash_without_use \ + sc_prohibit_jm_in_m4 \ + sc_prohibit_quote_without_use \ + sc_prohibit_quotearg_without_use \ + sc_prohibit_stat_st_blocks \ + sc_root_tests \ + sc_space_tab \ + sc_sun_os_names \ + sc_system_h_headers \ + sc_texinfo_acronym \ + sc_tight_scope \ + sc_two_space_separator_in_usage \ + sc_error_message_uppercase \ + sc_program_name \ + sc_require_test_exit_idiom \ + sc_makefile_check \ + sc_useless_cpp_parens + +# Files that should never cause syntax check failures. +VC_LIST_ALWAYS_EXCLUDE_REGEX = \ + (^HACKING|\.po|maint.mk)$$ + +# Functions like free() that are no-ops on NULL arguments. +useless_free_options = \ + --name=g_free \ + --name=xmlBufferFree \ + --name=xmlFree \ + --name=xmlFreeDoc \ + --name=xmlXPathFreeContext \ + --name=xmlXPathFreeObject + +# Ensure that no C source file, docs, or rng schema uses TABs for +# indentation. Also match *.h.in files, to get libvirt.h.in. Exclude +# files in gnulib, since they're imported. +space_indent_files=(\.(rng|s?[ch](\.in)?|html.in|py)|(daemon|tools)/.*\.in) +sc_TAB_in_indentation: + @prohibit='^ * ' \ + in_vc_files='$(space_indent_files)$$' \ + halt='indent with space, not TAB, in C, sh, html, py, and RNG schemas' \ + $(_sc_search_regexp) + +# G_GNUC_UNUSED should only be applied in implementations, not +# header declarations +sc_avoid_attribute_unused_in_header: + @prohibit='^[^#]*G_GNUC_UNUSED([^:]|$$)' \ + in_vc_files='\.h$$' \ + halt='use G_GNUC_UNUSED in .c rather than .h files' \ + $(_sc_search_regexp) + +# Enforce recommended preprocessor indentation style. +sc_preprocessor_indentation: + @if cppi --version >/dev/null 2>&1; then \ + $(VC_LIST_EXCEPT) | grep '\.[ch]$$' | xargs cppi -a -c \ + || { echo '$(ME): incorrect preprocessor indentation' 1>&2; \ + exit 1; }; \ + else \ + echo '$(ME): skipping test $@: cppi not installed' 1>&2; \ + fi + +sc_copyright_format: + @require='Copyright .*Red 'Hat', Inc\.' \ + containing='Copyright .*Red 'Hat \ + halt='Red Hat copyright is missing Inc.' \ + $(_sc_search_regexp) + @prohibit='Copyright [^(].*Red 'Hat \ + halt='consistently use (C) in Red Hat copyright' \ + $(_sc_search_regexp) + @prohibit='\<Red''Hat\>' \ + halt='spell Red Hat as two words' \ + $(_sc_search_regexp) + +# We don't use this feature of maint.mk. +prev_version_file = /dev/null + +# Give credit where due: +# Ensure that each commit author email address (possibly mapped via +# git log's .mailmap) appears in our AUTHORS file. +sc_check_author_list: + @fail=0; \ + for i in $$(git log --pretty=format:%aE%n|sort -u|grep -v '^$$'); do \ + sanitized=$$(echo "$$i"|LC_ALL=C sed 's/\([^a-zA-Z0-9_@-]\)/\\\1/g'); \ + grep -iq "<$$sanitized>" $(srcdir)/AUTHORS \ + || { printf '%s\n' "$$i" >&2; fail=1; }; \ + done; \ + test $$fail = 1 \ + && echo '$(ME): committer(s) not listed in AUTHORS' >&2; \ + test $$fail = 0 + + +exclude_file_name_regexp--sc_bindtextdomain = ^(libvirt-gconfig/tests|examples)/ + +exclude_file_name_regexp--sc_preprocessor_indentation = ^*/*.[ch] + +exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch] + +exclude_file_name_regexp--sc_require_config_h = python/libvirt-glib.c +exclude_file_name_regexp--sc_require_config_h_first = python/libvirt-glib.c + +# XXX we shouldn't really ignore this, but the horrible enum rules... +exclude_file_name_regexp--sc_makefile_at_at_check = libvirt-gobject/Makefile.am diff --git a/configure.ac b/configure.ac index 805cd9b..260d581 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,17 @@ dnl AC_CONFIG_LIBOBJ_DIR([src])
AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions])
+# Autoconf 2.61a.99 and earlier don't support linking a file only +# in VPATH builds. But since GNUmakefile is for maintainer use +# only, it does not matter if we skip the link with older autoconf. +# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH +# builds, so use a shell variable to bypass this. +GNUmakefile=GNUmakefile +m4_if(m4_version_compare([2.61a.100], + m4_defn([m4_PACKAGE_VERSION])), [1], [], + [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], + [GNUmakefile=$GNUmakefile])]) + LIBVIRT_GLIB_COMPILE_WARNINGS([maximum])
PKG_CHECK_MODULES(LIBVIRT, libvirt >= $LIBVIRT_REQUIRED) diff --git a/maint.mk b/maint.mk new file mode 100644 index 0000000..405c6d0 --- /dev/null +++ b/maint.mk @@ -0,0 +1,1511 @@ +# -*-Makefile-*- +# This Makefile fragment tries to be general-purpose enough to be +# used by many projects via the gnulib maintainer-makefile module. + +## Copyright (C) 2001-2011 Free Software Foundation, Inc. +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program 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 General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. + +# This is reported not to work with make-3.79.1 +# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +ME := maint.mk + +# Diagnostic for continued use of deprecated variable. +# Remove in 2013 +ifneq ($(build_aux),) + $(error "$(ME): \ +set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)") +endif + +# Do not save the original name or timestamp in the .tar.gz file. +# Use --rsyncable if available. +gzip_rsyncable := \ + $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \ + && printf %s --rsyncable) +GZIP_ENV = '--no-name --best $(gzip_rsyncable)' + +GIT = git +VC = $(GIT) + +VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) + +# You can override this variable in cfg.mk to set your own regexp +# matching files to ignore. +VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ + +# This is to preprocess robustly the output of $(VC_LIST), so that even +# when $(srcdir) is a pathological name like "....", the leading sed command +# removes only the intended prefix. +_dot_escaped_srcdir = $(subst .,\.,$(srcdir)) + +# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only +# when $(srcdir) is not ".". +ifeq ($(srcdir),.) +_prepend_srcdir_prefix = +else +_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|' +endif + +# In order to be able to consistently filter "."-relative names, +# (i.e., with no $(srcdir) prefix), this definition is careful to +# remove any $(srcdir) prefix, and to restore what it removes. +_sc_excl = \ + $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$) +VC_LIST_EXCEPT = \ + $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \ + | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \ + else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ + | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ + $(_prepend_srcdir_prefix) + +ifeq ($(origin prev_version_file), undefined) + prev_version_file = $(srcdir)/.prev-version +endif + +PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) +VERSION_REGEXP = $(subst .,\.,$(VERSION)) +PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) + +ifeq ($(VC),$(GIT)) +this-vc-tag = v$(VERSION) +this-vc-tag-regexp = v$(VERSION_REGEXP) +else +tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') +tag-this-version = $(subst .,_,$(VERSION)) +this-vc-tag = $(tag-package)-$(tag-this-version) +this-vc-tag-regexp = $(this-vc-tag) +endif +my_distdir = $(PACKAGE)-$(VERSION) + +# Old releases are stored here. +release_archive_dir ?= ../release + +# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. +# Use alpha.gnu.org for alpha and beta releases. +# Use ftp.gnu.org for stable releases. +gnu_ftp_host-alpha = alpha.gnu.org +gnu_ftp_host-beta = alpha.gnu.org +gnu_ftp_host-stable = ftp.gnu.org +gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE)) + +ifeq ($(gnu_rel_host),ftp.gnu.org) +url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE) +else +url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE) +endif + +# Override this in cfg.mk if you are using a different format in your +# NEWS file. +today = $(shell date +%Y-%m-%d) + +# Select which lines of NEWS are searched for $(news-check-regexp). +# This is a sed line number spec. The default says that we search +# lines 1..10 of NEWS for $(news-check-regexp). +# If you want to search only line 3 or only lines 20-22, use "3" or "20,22". +news-check-lines-spec ?= 1,10 +news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' + +# Prevent programs like 'sort' from considering distinct strings to be equal. +# Doing it here saves us from having to set LC_ALL elsewhere in this file. +export LC_ALL = C + +## --------------- ## +## Sanity checks. ## +## --------------- ## + +_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk') + +# Collect the names of rules starting with `sc_'. +syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ + $(srcdir)/$(ME) $(_cfg_mk))) +.PHONY: $(syntax-check-rules) + +ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) +local-checks-available += $(syntax-check-rules) +else +local-checks-available += no-vc-detected +no-vc-detected: + @echo "No version control files detected; skipping syntax check" +endif +.PHONY: $(local-checks-available) + +# Arrange to print the name of each syntax-checking rule just before running it. +$(syntax-check-rules): %: %.m +sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) +.PHONY: $(sc_m_rules_) +$(sc_m_rules_): + @echo $(patsubst sc_%.m, %, $@) + @date +%s.%N > .sc-start-$(basename $@) + +# Compute and print the elapsed time for each syntax-check rule. +sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) +.PHONY: $(sc_z_rules_) +$(sc_z_rules_): %.z: % + @end=$$(date +%s.%N); \ + start=$$(cat .sc-start-$*); \ + rm -f .sc-start-$*; \ + awk -v s=$$start -v e=$$end \ + 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null + +# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper +# that computes and prints elapsed time. +local-check := \ + $(patsubst sc_%, sc_%.z, \ + $(filter-out $(local-checks-to-skip), $(local-checks-available))) + +syntax-check: $(local-check) + +# _sc_search_regexp +# +# This macro searches for a given construct in the selected files and +# then takes some action. +# +# Parameters (shell variables): +# +# prohibit | require +# +# Regular expression (ERE) denoting either a forbidden construct +# or a required construct. Those arguments are exclusive. +# +# in_vc_files | in_files +# +# grep-E-style regexp denoting the files to check. If no files +# are specified the default are all the files that are under +# version control. +# +# containing | non_containing +# +# Select the files (non) containing strings matching this regexp. +# If both arguments are specified then CONTAINING takes +# precedence. +# +# with_grep_options +# +# Extra options for grep. +# +# ignore_case +# +# Ignore case. +# +# halt +# +# Message to display before to halting execution. +# +# Finally, you may exempt files based on an ERE matching file names. +# For example, to exempt from the sc_space_tab check all files with the +# .diff suffix, set this Make variable: +# +# exclude_file_name_regexp--sc_space_tab = \.diff$ +# +# Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, +# when filtering by name via in_files, we explicitly filter out matching +# names here as well. + +# By default, _sc_search_regexp does not ignore case. +export ignore_case = +_ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) + +define _sc_say_and_exit + dummy=; : so we do not need a semicolon before each use; \ + { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; +endef + +# _sc_search_regexp used to be named _prohibit_regexp. However, +# upgrading to the new definition and leaving the old name undefined +# would usually convert each custom rule using $(_prohibit_regexp) +# (usually defined in cfg.mk) into a no-op. This definition ensures +# that people know right away if they're still using the old name. +# FIXME: remove in 2012. +_prohibit_regexp = \ + $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt') + +define _sc_search_regexp + dummy=; : so we do not need a semicolon before each use; \ + \ + : Check arguments; \ + test -n "$$prohibit" && test -n "$$require" \ + && { msg='Cannot specify both prohibit and require' \ + $(_sc_say_and_exit) } || :; \ + test -z "$$prohibit" && test -z "$$require" \ + && { msg='Should specify either prohibit or require' \ + $(_sc_say_and_exit) } || :; \ + test -n "$$in_vc_files" && test -n "$$in_files" \ + && { msg='Cannot specify both in_vc_files and in_files' \ + $(_sc_say_and_exit) } || :; \ + test "x$$halt" != x \ + || { msg='halt not defined' $(_sc_say_and_exit) }; \ + \ + : Filter by file name; \ + if test -n "$$in_files"; then \ + files=$$(find $(srcdir) | grep -E "$$in_files" \ + | grep -Ev '$(exclude_file_name_regexp--$@)'); \ + else \ + files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$in_vc_files"; then \ + files=$$(echo "$$files" | grep -E "$$in_vc_files"); \ + fi; \ + fi; \ + \ + : Filter by content; \ + test -n "$$files" && test -n "$$containing" \ + && { files=$$(grep -l "$$containing" $$files); } || :; \ + test -n "$$files" && test -n "$$non_containing" \ + && { files=$$(grep -vl "$$non_containing" $$files); } || :; \ + \ + : Check for the construct; \ + if test -n "$$files"; then \ + if test -n "$$prohibit"; then \ + grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \ + && { msg="$$halt" $(_sc_say_and_exit) } || :; \ + else \ + grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \ + | grep . \ + && { msg="$$halt" $(_sc_say_and_exit) } || :; \ + fi \ + else :; \ + fi || :; +endef + +sc_avoid_if_before_free: + @$(srcdir)/$(_build-aux)/useless-if-before-free \ + $(useless_free_options) \ + $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ + { echo '$(ME): found useless "if" before "free" above' 1>&2; \ + exit 1; } || : + +sc_cast_of_argument_to_free: + @prohibit='\<free *\( *\(' halt='don'\''t cast free argument' \ + $(_sc_search_regexp) + +sc_cast_of_x_alloc_return_value: + @prohibit='\*\) *x(m|c|re)alloc\>' \ + halt='don'\''t cast x*alloc return value' \ + $(_sc_search_regexp) + +sc_cast_of_alloca_return_value: + @prohibit='\*\) *alloca\>' \ + halt='don'\''t cast alloca return value' \ + $(_sc_search_regexp) + +sc_space_tab: + @prohibit='[ ] ' \ + halt='found SPACE-TAB sequence; remove the SPACE' \ + $(_sc_search_regexp) + +# Don't use *scanf or the old ato* functions in `real' code. +# They provide no error checking mechanism. +# Instead, use strto* functions. +sc_prohibit_atoi_atof: + @prohibit='\<([fs]?scanf|ato([filq]|ll)) *\(' \ + halt='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \ + $(_sc_search_regexp) + +# Use STREQ rather than comparing strcmp == 0, or != 0. +sc_prohibit_strcmp: + @grep -nE '! *str''cmp *\(|\<str''cmp *\(.+\) *[!=]=' \ + $$($(VC_LIST_EXCEPT)) \ + | grep -vE ':# *define STRN?EQ\(' && \ + { echo '$(ME): replace str''cmp calls above with STREQ/STRNEQ' \ + 1>&2; exit 1; } || : + +# Pass EXIT_*, not number, to usage, exit, and error (when exiting) +# Convert all uses automatically, via these two commands: +# git grep -l '\<exit *(1)' \ +# | grep -vEf .x-sc_prohibit_magic_number_exit \ +# | xargs --no-run-if-empty \ +# perl -pi -e 's/(^|[^.])\b(exit ?)\(1\)/$1$2(EXIT_FAILURE)/' +# git grep -l '\<exit *(0)' \ +# | grep -vEf .x-sc_prohibit_magic_number_exit \ +# | xargs --no-run-if-empty \ +# perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/' +sc_prohibit_magic_number_exit: + @prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,' \ + halt='use EXIT_* values rather than magic number' \ + $(_sc_search_regexp) + +# Using EXIT_SUCCESS as the first argument to error is misleading, +# since when that parameter is 0, error does not exit. Use `0' instead. +sc_error_exit_success: + @prohibit='error *\(EXIT_SUCCESS,' \ + in_vc_files='\.[chly]$$' \ + halt='found error (EXIT_SUCCESS' \ + $(_sc_search_regexp) + +# `FATAL:' should be fully upper-cased in error messages +# `WARNING:' should be fully upper-cased, or fully lower-cased +sc_error_message_warn_fatal: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '"Warning|"Fatal|"fatal' && \ + { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ + exit 1; } || : + +# Error messages should not start with a capital letter +sc_error_message_uppercase: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '"[A-Z]' \ + | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ + { echo '$(ME): found capitalized error message' 1>&2; \ + exit 1; } || : + +# Error messages should not end with a period +sc_error_message_period: + @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ + | grep -E '[^."]\."' && \ + { echo '$(ME): found error message ending in period' 1>&2; \ + exit 1; } || : + +sc_file_system: + @prohibit=file''system \ + ignore_case=1 \ + halt='found use of "file''system"; spell it "file system"' \ + $(_sc_search_regexp) + +# Don't use cpp tests of this symbol. All code assumes config.h is included. +sc_prohibit_have_config_h: + @prohibit='^# *if.*HAVE''_CONFIG_H' \ + halt='found use of HAVE''_CONFIG_H; remove' \ + $(_sc_search_regexp) + +# Nearly all .c files must include <config.h>. However, we also permit this +# via inclusion of a package-specific header, if cfg.mk specified one. +# config_h_header must be suitable for grep -E. +config_h_header ?= <config\.h> +sc_require_config_h: + @require='^# *include $(config_h_header)' \ + in_vc_files='\.c$$' \ + halt='the above files do not include <config.h>' \ + $(_sc_search_regexp) + +# You must include <config.h> before including any other header file. +# This can possibly be via a package-specific header, if given by cfg.mk. +sc_require_config_h_first: + @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ + fail=0; \ + for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ + grep '^# *include\>' $$i | sed 1q \ + | grep -E '^# *include $(config_h_header)' > /dev/null \ + || { echo $$i; fail=1; }; \ + done; \ + test $$fail = 1 && \ + { echo '$(ME): the above files include some other header' \ + 'before <config.h>' 1>&2; exit 1; } || :; \ + else :; \ + fi + +sc_prohibit_HAVE_MBRTOWC: + @prohibit='\bHAVE_MBRTOWC\b' \ + halt="do not use $$prohibit; it is always defined" \ + $(_sc_search_regexp) + +# To use this "command" macro, you must first define two shell variables: +# h: the header name, with no enclosing <> or "" +# re: a regular expression that matches IFF something provided by $h is used. +define _sc_header_without_use + dummy=; : so we do not need a semicolon before each use; \ + h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \ + if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ + files=$$(grep -l '^# *include '"$$h_esc" \ + $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ + grep -LE "$$re" $$files | grep . && \ + { echo "$(ME): the above files include $$h but don't use it" \ + 1>&2; exit 1; } || :; \ + else :; \ + fi +endef + +# Prohibit the inclusion of assert.h without an actual use of assert. +sc_prohibit_assert_without_use: + @h='assert.h' re='\<assert *\(' $(_sc_header_without_use) + +# Prohibit the inclusion of close-stream.h without an actual use. +sc_prohibit_close_stream_without_use: + @h='close-stream.h' re='\<close_stream *\(' $(_sc_header_without_use) + +# Prohibit the inclusion of getopt.h without an actual use. +sc_prohibit_getopt_without_use: + @h='getopt.h' re='\<getopt(_long)? *\(' $(_sc_header_without_use) + +# Don't include quotearg.h unless you use one of its functions. +sc_prohibit_quotearg_without_use: + @h='quotearg.h' re='\<quotearg(_[^ ]+)? *\(' $(_sc_header_without_use) + +# Don't include quote.h unless you use one of its functions. +sc_prohibit_quote_without_use: + @h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_long_options_without_use: + @h='long-options.h' re='\<parse_long_options *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_inttostr_without_use: + @h='inttostr.h' re='\<(off|[iu]max|uint)tostr *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_ignore_value_without_use: + @h='ignore-value.h' re='\<ignore_(value|ptr) *\(' \ + $(_sc_header_without_use) + +# Don't include this header unless you use one of its functions. +sc_prohibit_error_without_use: + @h='error.h' \ + re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\ + $(_sc_header_without_use) + +# Don't include xalloc.h unless you use one of its functions. +# Consider these symbols: +# perl -lne '/^# *define (\w+)\(/ and print $1' lib/xalloc.h|grep -v '^__'; +# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/xalloc.h +# Divide into two sets on case, and filter each through this: +# | sort | perl -MRegexp::Assemble -le \ +# 'print Regexp::Assemble->new(file => "/dev/stdin")->as_string'|sed 's/\?://g' +# Note this was produced by the above: +# _xa1 = \ +#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) +# But we can do better, in at least two ways: +# 1) take advantage of two "dup"-suffixed strings: +# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) +# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable +# "char|[cmz]" +# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa2 = X([CZ]|N?M)ALLOC +sc_prohibit_xalloc_without_use: + @h='xalloc.h' \ + re='\<($(_xa1)|$(_xa2)) *\('\ + $(_sc_header_without_use) + +# Extract function names: +# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h +_hash_re = \ +clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning +_hash_fn = \<($(_hash_re)) *\( +_hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> +sc_prohibit_hash_without_use: + @h='hash.h' \ + re='$(_hash_fn)|$(_hash_struct)'\ + $(_sc_header_without_use) + +sc_prohibit_cloexec_without_use: + @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ + $(_sc_header_without_use) + +sc_prohibit_posixver_without_use: + @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use) + +sc_prohibit_same_without_use: + @h='same.h' re='\<same_name *\(' $(_sc_header_without_use) + +sc_prohibit_hash_pjw_without_use: + @h='hash-pjw.h' \ + re='\<hash_pjw *\(' \ + $(_sc_header_without_use) + +sc_prohibit_safe_read_without_use: + @h='safe-read.h' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \ + $(_sc_header_without_use) + +sc_prohibit_argmatch_without_use: + @h='argmatch.h' \ + re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \ + $(_sc_header_without_use) + +sc_prohibit_canonicalize_without_use: + @h='canonicalize.h' \ + re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode)' \ + $(_sc_header_without_use) + +sc_prohibit_root_dev_ino_without_use: + @h='root-dev-ino.h' \ + re='(\<ROOT_DEV_INO_(CHECK|WARN)\>|\<get_root_dev_ino *\()' \ + $(_sc_header_without_use) + +sc_prohibit_openat_without_use: + @h='openat.h' \ + re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of c-ctype.h without an actual use. +ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\ +|isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper +sc_prohibit_c_ctype_without_use: + @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \ + $(_sc_header_without_use) + +_empty = +_sp = $(_empty) $(_empty) +# The following list was generated by running: +# man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \ +# | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt +_sig_functions = \ + bsd_signal kill killpg pthread_kill pthread_sigmask raise sigaction \ + sigaddset sigaltstack sigdelset sigemptyset sigfillset sighold sigignore \ + siginterrupt sigismember signal sigpause sigpending sigprocmask sigqueue \ + sigrelse sigset sigsuspend sigtimedwait sigwait sigwaitinfo +_sig_function_re = $(subst $(_sp),|,$(strip $(_sig_functions))) +# The following were extracted from "man signal.h" manually. +_sig_types_and_consts = \ + MINSIGSTKSZ SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK \ + SA_RESETHAND SA_RESTART SA_SIGINFO SIGEV_NONE SIGEV_SIGNAL \ + SIGEV_THREAD SIGSTKSZ SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SS_DISABLE \ + SS_ONSTACK mcontext_t pid_t sig_atomic_t sigevent siginfo_t sigset_t \ + sigstack sigval stack_t ucontext_t +# generated via this: +# perl -lne '/^#ifdef (SIG\w+)/ and print $1' lib/sig2str.c|sort -u|fmt -70 +_sig_names = \ + SIGABRT SIGALRM SIGALRM1 SIGBUS SIGCANCEL SIGCHLD SIGCLD SIGCONT \ + SIGDANGER SIGDIL SIGEMT SIGFPE SIGFREEZE SIGGRANT SIGHUP SIGILL \ + SIGINFO SIGINT SIGIO SIGIOT SIGKAP SIGKILL SIGKILLTHR SIGLOST SIGLWP \ + SIGMIGRATE SIGMSG SIGPHONE SIGPIPE SIGPOLL SIGPRE SIGPROF SIGPWR \ + SIGQUIT SIGRETRACT SIGSAK SIGSEGV SIGSOUND SIGSTKFLT SIGSTOP SIGSYS \ + SIGTERM SIGTHAW SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGUSR1 \ + SIGUSR2 SIGVIRT SIGVTALRM SIGWAITING SIGWINCH SIGWIND SIGWINDOW \ + SIGXCPU SIGXFSZ +_sig_syms_re = $(subst $(_sp),|,$(strip $(_sig_names) $(_sig_types_and_consts))) + +# Prohibit the inclusion of signal.h without an actual use. +sc_prohibit_signal_without_use: + @h='signal.h' \ + re='\<($(_sig_function_re)) *\(|\<($(_sig_syms_re))\>' \ + $(_sc_header_without_use) + +# Don't include stdio--.h unless you use one of its functions. +sc_prohibit_stdio--_without_use: + @h='stdio--.h' re='\<((f(re)?|p)open|tmpfile) *\(' \ + $(_sc_header_without_use) + +# Don't include stdio-safer.h unless you use one of its functions. +sc_prohibit_stdio-safer_without_use: + @h='stdio-safer.h' re='\<((f(re)?|p)open|tmpfile)_safer *\(' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of strings.h without a sensible use. +# Using the likes of bcmp, bcopy, bzero, index or rindex is not sensible. +sc_prohibit_strings_without_use: + @h='strings.h' \ + re='\<(strn?casecmp|ffs(ll)?)\>' \ + $(_sc_header_without_use) + +# Get the list of symbol names with this: +# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt +_intprops_names = \ + TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT \ + TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM \ + INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND \ + INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW \ + INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW \ + INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW \ + INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \ + INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW \ + INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW +_intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names))) +# Prohibit the inclusion of intprops.h without an actual use. +sc_prohibit_intprops_without_use: + @h='intprops.h' \ + re='\<($(_intprops_syms_re)) *\(' \ + $(_sc_header_without_use) + +_stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t +# Prohibit the inclusion of stddef.h without an actual use. +sc_prohibit_stddef_without_use: + @h='stddef.h' \ + re='\<($(_stddef_syms_re))\>' \ + $(_sc_header_without_use) + +_de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)? +_de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)? +_de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen +_dirent_syms_re = $(_de1)|$(_de2)|$(_de3) +# Prohibit the inclusion of dirent.h without an actual use. +sc_prohibit_dirent_without_use: + @h='dirent.h' \ + re='\<($(_dirent_syms_re))\>' \ + $(_sc_header_without_use) + +# Prohibit the inclusion of verify.h without an actual use. +sc_prohibit_verify_without_use: + @h='verify.h' \ + re='\<(verify(true|expr)?|static_assert) *\(' \ + $(_sc_header_without_use) + +# Don't include xfreopen.h unless you use one of its functions. +sc_prohibit_xfreopen_without_use: + @h='xfreopen.h' re='\<xfreopen *\(' $(_sc_header_without_use) + +sc_obsolete_symbols: + @prohibit='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \ + halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ + $(_sc_search_regexp) + +# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ + +# Each nonempty ChangeLog line must start with a year number, or a TAB. +sc_changelog: + @prohibit='^[^12 ]' \ + in_vc_files='^ChangeLog$$' \ + halt='found unexpected prefix in a ChangeLog' \ + $(_sc_search_regexp) + +# Ensure that each .c file containing a "main" function also +# calls set_program_name. +sc_program_name: + @require='set_program_name *\(m?argv\[0\]\);' \ + in_vc_files='\.c$$' \ + containing='\<main *(' \ + halt='the above files do not call set_program_name' \ + $(_sc_search_regexp) + +# Ensure that each .c file containing a "main" function also +# calls bindtextdomain. +sc_bindtextdomain: + @require='bindtextdomain *\(' \ + in_vc_files='\.c$$' \ + containing='\<main *(' \ + halt='the above files do not call bindtextdomain' \ + $(_sc_search_regexp) + +# Require that the final line of each test-lib.sh-using test be this one: +# Exit $fail +# Note: this test requires GNU grep's --label= option. +Exit_witness_file ?= tests/test-lib.sh +Exit_base := $(notdir $(Exit_witness_file)) +sc_require_test_exit_idiom: + @if test -f $(srcdir)/$(Exit_witness_file); then \ + die=0; \ + for i in $$(grep -l -F 'srcdir/$(Exit_base)' \ + $$($(VC_LIST) tests)); do \ + tail -n1 $$i | grep '^Exit .' > /dev/null \ + && : || { die=1; echo $$i; } \ + done; \ + test $$die = 1 && \ + { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ + echo 1>&2 'Exit something'; \ + exit 1; } || :; \ + fi + +sc_trailing_blank: + @prohibit='[ ]$$' \ + halt='found trailing blank(s)' \ + $(_sc_search_regexp) + +# Match lines like the following, but where there is only one space +# between the options and the description: +# -D, --all-repeated[=delimit-method] print all duplicate lines\n +longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? +sc_two_space_separator_in_usage: + @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ + halt='help2man requires at least two spaces between an option and its description'\ + $(_sc_search_regexp) + +# A regexp matching function names like "error" that may be used +# to emit translatable messages. +_gl_translatable_diag_func_re ?= error + +# Look for diagnostics that aren't marked for translation. +# This won't find any for which error's format string is on a separate line. +sc_unmarked_diagnostics: + @grep -nE \ + '\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ + $$($(VC_LIST_EXCEPT)) \ + | grep -Ev '(_|ngettext ?)\(' && \ + { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ + exit 1; } || : + +# Avoid useless parentheses like those in this example: +# #if defined (SYMBOL) || defined (SYM2) +sc_useless_cpp_parens: + @prohibit='^# *if .*defined *\(' \ + halt='found useless parentheses in cpp directive' \ + $(_sc_search_regexp) + +# List headers for which HAVE_HEADER_H is always true, assuming you are +# using the appropriate gnulib module. CAUTION: for each "unnecessary" +# #if HAVE_HEADER_H that you remove, be sure that your project explicitly +# requires the gnulib module that guarantees the usability of that header. +gl_assured_headers_ = \ + cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g' + +# Convert the list of names to upper case, and replace each space with "|". +az_ = abcdefghijklmnopqrstuvwxyz +AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ +gl_header_upper_case_or_ = \ + $$($(gl_assured_headers_) \ + | tr $(az_)/.- $(AZ_)___ \ + | tr -s ' ' '|' \ + ) +sc_prohibit_always_true_header_tests: + @or=$(gl_header_upper_case_or_); \ + re="HAVE_($$or)_H"; \ + prohibit='\<'"$$re"'\>' \ + halt=$$(printf '%s\n' \ + 'do not test the above HAVE_<header>_H symbol(s);' \ + ' with the corresponding gnulib module, they are always true') \ + $(_sc_search_regexp) + +# ================================================================== +gl_other_headers_ ?= \ + intprops.h \ + openat.h \ + stat-macros.h + +# Perl -lne code to extract "significant" cpp-defined symbols from a +# gnulib header file, eliminating a few common false-positives. +# The exempted names below are defined only conditionally in gnulib, +# and hence sometimes must/may be defined in application code. +gl_extract_significant_defines_ = \ + /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ + && $$2 !~ /(?:rpl_|_used_without_)/\ + && $$1 !~ /^(?:NSIG|ENODATA)$$/\ + && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ + and print $$1 + +# Create a list of regular expressions matching the names +# of macros that are guaranteed to be defined by parts of gnulib. +define def_sym_regex + gen_h=$(gl_generated_headers_); \ + (cd $(gnulib_dir)/lib; \ + for f in *.in.h $(gl_other_headers_); do \ + test -f $$f \ + && perl -lne '$(gl_extract_significant_defines_)' $$f; \ + done; \ + ) | sort -u \ + | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' +endef + +# Don't define macros that we already get from gnulib header files. +sc_prohibit_always-defined_macros: + @if test -d $(gnulib_dir); then \ + case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ + echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ + esac; \ + $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ + && { echo '$(ME): define the above via some gnulib .h file' \ + 1>&2; exit 1; } || :; \ + fi +# ================================================================== + +# Prohibit checked in backup files. +sc_prohibit_backup_files: + @$(VC_LIST) | grep '~$$' && \ + { echo '$(ME): found version controlled backup file' 1>&2; \ + exit 1; } || : + +# Require the latest GPL. +sc_GPL_version: + @prohibit='either ''version [^3]' \ + halt='GPL vN, N!=3' \ + $(_sc_search_regexp) + +# Require the latest GFDL. Two regexp, since some .texi files end up +# line wrapping between 'Free Documentation License,' and 'Version'. +_GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) +sc_GFDL_version: + @prohibit='$(_GFDL_regexp)' \ + halt='GFDL vN, N!=3' \ + $(_sc_search_regexp) + +# Don't use Texinfo's @acronym{}. +# http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html +texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ +sc_texinfo_acronym: + @prohibit='@acronym\{' \ + in_vc_files='$(texinfo_suffix_re_)' \ + halt='found use of Texinfo @acronym{}' \ + $(_sc_search_regexp) + +cvs_keywords = \ + Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State + +sc_prohibit_cvs_keyword: + @prohibit='\$$($(cvs_keywords))\$$' \ + halt='do not use CVS keyword expansion' \ + $(_sc_search_regexp) + +# This Perl code is slightly obfuscated. Not only is each "$" doubled +# because it's in a Makefile, but the $$c's are comments; we cannot +# use "#" due to the way the script ends up concatenated onto one line. +# It would be much more concise, and would produce better output (including +# counts) if written as: +# perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... +# but that would be far less efficient, reading the entire contents +# of each file, rather than just the last two bytes of each. +# In addition, while the code below detects both blank lines and a missing +# newline at EOF, the above detects only the former. +# +# This is a perl script that is expected to be the single-quoted argument +# to a command-line "-le". The remaining arguments are file names. +# Print the name of each file that ends in exactly one newline byte. +# I.e., warn if there are blank lines (2 or more newlines), or if the +# last byte is not a newline. However, currently we don't complain +# about any file that contains exactly one byte. +# Exit nonzero if at least one such file is found, otherwise, exit 0. +# Warn about, but otherwise ignore open failure. Ignore seek/read failure. +# +# Use this if you want to remove trailing empty lines from selected files: +# perl -pi -0777 -e 's/\n\n+$/\n/' files... +# +require_exactly_one_NL_at_EOF_ = \ + foreach my $$f (@ARGV) \ + { \ + open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ + my $$p = sysseek (F, -2, 2); \ + my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ + my $$last_two_bytes; \ + defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ + close F; \ + $$c = "ignore read failure"; \ + $$p && ($$last_two_bytes eq "\n\n" \ + || substr ($$last_two_bytes,1) ne "\n") \ + and (print $$f), $$fail=1; \ + } \ + END { exit defined $$fail } +sc_prohibit_empty_lines_at_EOF: + @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \ + || { echo '$(ME): empty line(s) or no newline at EOF' \ + 1>&2; exit 1; } || : + +# Make sure we don't use st_blocks. Use ST_NBLOCKS instead. +# This is a bit of a kludge, since it prevents use of the string +# even in comments, but for now it does the job with no false positives. +sc_prohibit_stat_st_blocks: + @prohibit='[.>]st_blocks' \ + halt='do not use st_blocks; use ST_NBLOCKS' \ + $(_sc_search_regexp) + +# Make sure we don't define any S_IS* macros in src/*.c files. +# They're already defined via gnulib's sys/stat.h replacement. +sc_prohibit_S_IS_definition: + @prohibit='^ *# *define *S_IS' \ + halt='do not define S_IS* macros; include <sys/stat.h>' \ + $(_sc_search_regexp) + +# Perl block to convert a match to FILE_NAME:LINENO:TEST, +# that is shared by two definitions below. +perl_filename_lineno_text_ = \ + -e ' {' \ + -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ + -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ + -e ' print "$$ARGV:$$n:$$v\n";' \ + -e ' }' + +prohibit_doubled_word_RE_ ?= \ + /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims +prohibit_doubled_word_ = \ + -e 'while ($(prohibit_doubled_word_RE_))' \ + $(perl_filename_lineno_text_) + +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_doubled_word_match_RE_ ?= ^$$ + +sc_prohibit_doubled_word: + @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \ + | grep -vE '$(ignore_doubled_word_match_RE_)' \ + | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || : + +# A regular expression matching undesirable combinations of words like +# "can not"; this matches them even when the two words appear on different +# lines, but not when there is an intervening delimiter like "#" or "*". +prohibit_undesirable_word_seq_RE_ ?= \ + /\bcan\s+not\b/gims +prohibit_undesirable_word_seq_ = \ + -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ + $(perl_filename_lineno_text_) +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_undesirable_word_sequence_RE_ ?= ^$$ + +sc_prohibit_undesirable_word_seq: + @perl -n -0777 $(prohibit_undesirable_word_seq_) \ + $$($(VC_LIST_EXCEPT)) \ + | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \ + && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || : + +_ptm1 = use "test C1 && test C2", not "test C1 -''a C2" +_ptm2 = use "test C1 || test C2", not "test C1 -''o C2" +# Using test's -a and -o operators is not portable. +# We prefer test over [, since the latter is spelled [[ in configure.ac. +sc_prohibit_test_minus_ao: + @prohibit='(\<test| \[+) .+ -[ao] ' \ + halt='$(_ptm1); $(_ptm2)' \ + $(_sc_search_regexp) + +# Avoid a test bashism. +sc_prohibit_test_double_equal: + @prohibit='(\<test| \[+) .+ == ' \ + containing='#! */bin/[a-z]*sh' \ + halt='use "test x = x", not "test x =''= x"' \ + $(_sc_search_regexp) + +# Each program that uses proper_name_utf8 must link with one of the +# ICONV libraries. Otherwise, some ICONV library must appear in LDADD. +# The perl -0777 invocation below extracts the possibly-multi-line +# definition of LDADD from the appropriate Makefile.am and exits 0 +# when it contains "ICONV". +sc_proper_name_utf8_requires_ICONV: + @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\ + if test "x$$progs" != x; then \ + fail=0; \ + for p in $$progs; do \ + dir=$$(dirname "$$p"); \ + perl -0777 \ + -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \ + $$dir/Makefile.am && continue; \ + base=$$(basename "$$p" .c); \ + grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ + || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ + exit 1; } || :; \ + fi + +# Warn about "c0nst struct Foo const foo[]", +# but not about "char const *const foo" or "#define const const". +sc_redundant_const: + @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ + halt='redundant "const" in declarations' \ + $(_sc_search_regexp) + +sc_const_long_option: + @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \ + | grep -Ev 'const struct option|struct option const' && { \ + echo 1>&2 '$(ME): add "const" to the above declarations'; \ + exit 1; } || : + +NEWS_hash = \ + $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ + $(srcdir)/NEWS \ + | perl -0777 -pe \ + 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ + | md5sum - \ + | sed 's/ .*//') + +# Ensure that we don't accidentally insert an entry into an old NEWS block. +sc_immutable_NEWS: + @if test -f $(srcdir)/NEWS; then \ + test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ + { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ + fi + +# Update the hash stored above. Do this after each release and +# for any corrections to old entries. +update-NEWS-hash: NEWS + perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ + $(srcdir)/cfg.mk + +# Ensure that we use only the standard $(VAR) notation, +# not @...@ in Makefile.am, now that we can rely on automake +# to emit a definition for each substituted variable. +# However, there is still one case in which @VAR@ use is not just +# legitimate, but actually required: when augmenting an automake-defined +# variable with a prefix. For example, gettext uses this: +# MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ +# otherwise, makeinfo would put German or French (current locale) +# navigation hints in the otherwise-English documentation. +# +# Allow the package to add exceptions via a hook in cfg.mk; +# for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by +# setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. +_makefile_at_at_check_exceptions ?= +sc_makefile_at_at_check: + @perl -ne '/\@[A-Z_0-9]+\@/' \ + -e ' && !/([A-Z_0-9]+)\s+=.*\@\1\@$$/' \ + -e ''$(_makefile_at_at_check_exceptions) \ + -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ + $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ + && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : + +news-check: NEWS + if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS \ + | grep -E $(news-check-regexp) >/dev/null; then \ + :; \ + else \ + echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ + exit 1; \ + fi + +sc_makefile_TAB_only_indentation: + @prohibit='^ [ ]{8}' \ + in_vc_files='akefile|\.mk$$' \ + halt='found TAB-8-space indentation' \ + $(_sc_search_regexp) + +sc_m4_quote_check: + @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ + in_vc_files='(^configure\.ac|\.m4)$$' \ + halt='quote the first arg to AC_DEF*' \ + $(_sc_search_regexp) + +fix_po_file_diag = \ +'you have changed the set of files with translatable diagnostics;\n\ +apply the above patch\n' + +# Verify that all source files using _() are listed in po/POTFILES.in. +po_file ?= $(srcdir)/po/POTFILES.in +generated_files ?= $(srcdir)/lib/*.[ch] +sc_po_check: + @if test -f $(po_file); then \ + grep -E -v '^(#|$$)' $(po_file) \ + | grep -v '^src/false\.c$$' | sort > $@-1; \ + files=; \ + for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do \ + test -r $$file || continue; \ + case $$file in \ + *.m4|*.mk) continue ;; \ + *.?|*.??) ;; \ + *) continue;; \ + esac; \ + case $$file in \ + *.[ch]) \ + base=`expr " $$file" : ' \(.*\)\..'`; \ + { test -f $$base.l || test -f $$base.y; } && continue;; \ + esac; \ + files="$$files $$file"; \ + done; \ + grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ + | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \ + diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ + || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ + rm -f $@-1 $@-2; \ + fi + +# Sometimes it is useful to change the PATH environment variable +# in Makefiles. When doing so, it's better not to use the Unix-centric +# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'. +msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead' +sc_makefile_path_separator_check: + @prohibit='PATH[=].*:' \ + in_vc_files='akefile|\.mk$$' \ + halt=$(msg) \ + $(_sc_search_regexp) + +# Check that `make alpha' will not fail at the end of the process, +# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) +# and is read-only. +writable-files: + if test -d $(release_archive_dir); then \ + for file in $(DIST_ARCHIVES); do \ + for p in ./ $(release_archive_dir)/; do \ + test -e $$p$$file || continue; \ + test -w $$p$$file \ + || { echo ERROR: $$p$$file is not writable; fail=1; }; \ + done; \ + done; \ + test "$$fail" && exit 1 || : ; \ + else :; \ + fi + +v_etc_file = $(gnulib_dir)/lib/version-etc.c +sample-test = tests/sample-test +texi = doc/$(PACKAGE).texi +# Make sure that the copyright date in $(v_etc_file) is up to date. +# Do the same for the $(sample-test) and the main doc/.texi file. +sc_copyright_check: + @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ + in_files=$(v_etc_file) \ + halt='out of date copyright in $(v_etc_file); update it' \ + $(_sc_search_regexp) + @require='# Copyright \(C\) '$$(date +%Y)' Free' \ + in_vc_files=$(sample-test) \ + halt='out of date copyright in $(sample-test); update it' \ + $(_sc_search_regexp) + @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \ + in_vc_files=$(texi) \ + halt='out of date copyright in $(texi); update it' \ + $(_sc_search_regexp) + +# If tests/help-version exists and seems to be new enough, assume that its +# use of init.sh and path_prepend_ is correct, and ensure that every other +# use of init.sh is identical. +# This is useful because help-version cross-checks prog --version +# with $(VERSION), which verifies that its path_prepend_ invocation +# sets PATH correctly. This is an inexpensive way to ensure that +# the other init.sh-using tests also get it right. +_hv_file ?= $(srcdir)/tests/help-version +_hv_regex_weak ?= ^ *\. .*/init\.sh" +# Fix syntax-highlighters " +_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" +sc_cross_check_PATH_usage_in_tests: + @if test -f $(_hv_file); then \ + grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \ + || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ + exit 0; }; \ + grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ + || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ + exit 1; }; \ + good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \ + grep -LFx "$$good" \ + $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \ + | grep . && \ + { echo "$(ME): the above files use path_prepend_ inconsistently" \ + 1>&2; exit 1; } || :; \ + fi + +# #if HAVE_... will evaluate to false for any non numeric string. +# That would be flagged by using -Wundef, however gnulib currently +# tests many undefined macros, and so we can't enable that option. +# So at least preclude common boolean strings as macro values. +sc_Wundef_boolean: + @prohibit='^#define.*(yes|no|true|false)$$' \ + in_files='$(CONFIG_INCLUDE)' \ + halt='Use 0 or 1 for macro values' \ + $(_sc_search_regexp) + +# Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might +# not be constant, or might overflow a stack. In general, use PATH_MAX as +# a limit, not an array or alloca size. +sc_prohibit_path_max_allocation: + @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX' \ + halt='Avoid stack allocations of size PATH_MAX' \ + $(_sc_search_regexp) + +sc_vulnerable_makefile_CVE-2009-4029: + @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \ + in_files=$$(find $(srcdir) -name Makefile.in) \ + halt=$$(printf '%s\n' \ + 'the above files are vulnerable; beware of running' \ + ' "make dist*" rules, and upgrade to fixed automake' \ + ' see http://bugzilla.redhat.com/542609 for details') \ + $(_sc_search_regexp) + +vc-diff-check: + (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : + if test -s vc-diffs; then \ + cat vc-diffs; \ + echo "Some files are locally modified:" 1>&2; \ + exit 1; \ + else \ + rm vc-diffs; \ + fi + +rel-files = $(DIST_ARCHIVES) + +gnulib_dir ?= $(srcdir)/gnulib +gnulib-version = $$(cd $(gnulib_dir) && git describe) +bootstrap-tools ?= autoconf,automake,gnulib + +# If it's not already specified, derive the GPG key ID from +# the signed tag we've just applied to mark this release. +gpg_key_ID ?= \ + $$(git cat-file tag v$(VERSION) > .ann-sig \ + && gpgv .ann-sig - < /dev/null 2>&1 \ + | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig) + +translation_project_ ?= coordinator@translationproject.org + +# Make info-gnu the default only for a stable release. +ifeq ($(RELEASE_TYPE),stable) + announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT) + announcement_mail_headers_ ?= \ + To: info-gnu@gnu.org \ + Cc: $(announcement_Cc_) \ + Mail-Followup-To: $(PACKAGE_BUGREPORT) +else + announcement_Cc_ ?= $(translation_project_) + announcement_mail_headers_ ?= \ + To: $(PACKAGE_BUGREPORT) \ + Cc: $(announcement_Cc_) +endif + +announcement: NEWS ChangeLog $(rel-files) + @$(srcdir)/$(_build-aux)/announce-gen \ + --mail-headers='$(announcement_mail_headers_)' \ + --release-type=$(RELEASE_TYPE) \ + --package=$(PACKAGE) \ + --prev=$(PREV_VERSION) \ + --curr=$(VERSION) \ + --gpg-key-id=$(gpg_key_ID) \ + --news=$(srcdir)/NEWS \ + --bootstrap-tools=$(bootstrap-tools) \ + --gnulib-version=$(gnulib-version) \ + --no-print-checksums \ + $(addprefix --url-dir=, $(url_dir_list)) + +## ---------------- ## +## Updating files. ## +## ---------------- ## + +ftp-gnu = ftp://ftp.gnu.org/gnu +www-gnu = http://www.gnu.org + +upload_dest_dir_ ?= $(PACKAGE) +emit_upload_commands: + @echo ===================================== + @echo ===================================== + @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\" + @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" + @echo " $(rel-files)" + @echo '# send the ~/announce-$(my_distdir) e-mail' + @echo ===================================== + @echo ===================================== + +define emit-commit-log + printf '%s\n' 'maint: post-release administrivia' '' \ + '* NEWS: Add header line for next release.' \ + '* .prev-version: Record previous version.' \ + '* cfg.mk (old_NEWS_hash): Auto-update.' +endef + +.PHONY: no-submodule-changes +no-submodule-changes: + if test -d $(srcdir)/.git; then \ + diff=$$(cd $(srcdir) && git submodule -q foreach \ + git diff-index --name-only HEAD) \ + || exit 1; \ + case $$diff in '') ;; \ + *) echo '$(ME): submodule files are locally modified:'; \ + echo "$$diff"; exit 1;; esac; \ + else \ + : ; \ + fi + +submodule-checks ?= no-submodule-changes public-submodule-commit + +# Ensure that each sub-module commit we're using is public. +# Without this, it is too easy to tag and release code that +# cannot be built from a fresh clone. +.PHONY: public-submodule-commit +public-submodule-commit: + $(AM_V_GEN)if test -d $(srcdir)/.git; then \ + cd $(srcdir) && \ + git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \ + = '$$(git merge-base origin $$sha1)' \ + || { echo '$(ME): found non-public submodule commit' >&2; \ + exit 1; }; \ + else \ + : ; \ + fi +# This rule has a high enough utility/cost ratio that it should be a +# dependent of "check" by default. However, some of us do occasionally +# commit a temporary change that deliberately points to a non-public +# submodule commit, and want to be able to use rules like "make check". +# In that case, run e.g., "make check gl_public_submodule_commit=" +# to disable this test. +gl_public_submodule_commit ?= public-submodule-commit +check: $(gl_public_submodule_commit) + +.PHONY: alpha beta stable +ALL_RECURSIVE_TARGETS += alpha beta stable +alpha beta stable: $(local-check) writable-files $(submodule-checks) + test $@ = stable \ + && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ + || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ + || : + $(MAKE) vc-diff-check + $(MAKE) news-check + $(MAKE) distcheck + $(MAKE) dist XZ_OPT=-9ev + $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ + $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ + +# Override this in cfg.mk if you follow different procedures. +release-prep-hook ?= release-prep + +gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] +.PHONY: release-prep +release-prep: + case $$RELEASE_TYPE in alpha|beta|stable) ;; \ + *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac + $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir) + if test -d $(release_archive_dir); then \ + ln $(rel-files) $(release_archive_dir); \ + chmod a-w $(rel-files); \ + fi + echo $(VERSION) > $(prev_version_file) + $(MAKE) update-NEWS-hash + perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS + $(emit-commit-log) > .ci-msg + $(VC) commit -F .ci-msg -a + rm .ci-msg + +# Override this with e.g., -s $(srcdir)/some_other_name.texi +# if the default $(PACKAGE)-derived name doesn't apply. +gendocs_options_ ?= + +.PHONY: web-manual +web-manual: + @test -z "$(manual_title)" \ + && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : + @cd '$(srcdir)/doc'; \ + $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ + -o '$(abs_builddir)/doc/manual' \ + --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ + "$(PACKAGE_NAME) - $(manual_title)" + @echo " *** Upload the doc/manual directory to web-cvs." + +# Code Coverage + +init-coverage: + $(MAKE) $(AM_MAKEFLAGS) clean + lcov --directory . --zerocounters + +COVERAGE_CCOPTS ?= "-g --coverage" +COVERAGE_OUT ?= doc/coverage + +build-coverage: + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check + mkdir -p $(COVERAGE_OUT) + lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ + --capture + +gen-coverage: + genhtml --output-directory $(COVERAGE_OUT) \ + $(COVERAGE_OUT)/$(PACKAGE).info \ + --highlight --frames --legend \ + --title "$(PACKAGE_NAME)" + +coverage: init-coverage build-coverage gen-coverage + +# Update gettext files. +PACKAGE ?= $(shell basename $(PWD)) +PO_DOMAIN ?= $(PACKAGE) +POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ +PODIR ?= po +refresh-po: + rm -f $(PODIR)/*.po && \ + echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ + wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ + echo 'en@boldquot' > $(PODIR)/LINGUAS && \ + echo 'en@quot' >> $(PODIR)/LINGUAS && \ + ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS + + # Running indent once is not idempotent, but running it twice is. +INDENT_SOURCES ?= $(C_SOURCES) +.PHONY: indent +indent: + indent $(INDENT_SOURCES) + indent $(INDENT_SOURCES) + +# If you want to set UPDATE_COPYRIGHT_* environment variables, +# put the assignments in this variable. +update-copyright-env ?= + +# Run this rule once per year (usually early in January) +# to update all FSF copyright year lists in your project. +# If you have an additional project-specific rule, +# add it in cfg.mk along with a line 'update-copyright: prereq'. +# By default, exclude all variants of COPYING; you can also +# add exemptions (such as ChangeLog..* for rotated change logs) +# in the file .x-update-copyright. +.PHONY: update-copyright +update-copyright: + grep -l -w Copyright \ + $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ + | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ + +# This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not +# overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. + +# NOTE: to override any _gl_TS_* default value, you must +# define the variable(s) using "export" in cfg.mk. +_gl_TS_dir ?= src + +ALL_RECURSIVE_TARGETS += sc_tight_scope +sc_tight_scope: tight-scope.mk + @fail=0; \ + if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ + > /dev/null \ + && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ + > /dev/null 2>&1; then \ + echo '$(ME): skipping $@'; \ + else \ + $(MAKE) -s -C $(_gl_TS_dir) \ + -f Makefile \ + -f $(abs_top_srcdir)/cfg.mk \ + -f $(abs_top_builddir)/$< \ + _gl_tight_scope \ + || fail=1; \ + fi; \ + rm -f $<; \ + exit $$fail + +tight-scope.mk: $(ME) + @rm -f $@ $@-t + @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(ME) > $@-t + @chmod a=r $@-t && mv $@-t $@ + +ifeq (a,b) +# TS-start + +# Most functions should have static scope. +# Any that don't must be marked with `extern', but `main' +# and `usage' are exceptions: they're always extern, but +# do not need to be marked. Symbols matching `__.*' are +# reserved by the compiler, so are automatically excluded below. +_gl_TS_unmarked_extern_functions ?= main usage +_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/ + +# If your project uses a macro like "XTERN", then put +# the following in cfg.mk to override this default: +# export _gl_TS_extern = extern|XTERN +_gl_TS_extern ?= extern + +# The second nm|grep checks for file-scope variables with `extern' scope. +# Without gnulib's progname module, you might put program_name here. +# Symbols matching `__.*' are reserved by the compiler, +# so are automatically excluded below. +_gl_TS_unmarked_extern_vars ?= + +# NOTE: the _match variables are perl expressions -- not mere regular +# expressions -- so that you can extend them to match other patterns +# and easily extract matched variable names. +# For example, if your project declares some global variables via +# a macro like this: GLOBAL(type, var_name, initializer), then you +# can override this definition to automatically extract those names: +# export _gl_TS_var_match = \ +# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ +_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ + +# The names of object files in (or relative to) $(_gl_TS_dir). +_gl_TS_obj_files ?= *.$(OBJEXT) + +# Files in which to search for the one-line style extern declarations. +# $(_gl_TS_dir)-relative. +_gl_TS_headers ?= $(noinst_HEADERS) + +.PHONY: _gl_tight_scope +_gl_tight_scope: $(bin_PROGRAMS) + t=exceptions-$$$$; \ + trap 's=$$?; rm -f $$t; exit $$s' 0; \ + for sig in 1 2 3 13 15; do \ + eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ + done; \ + src=`for f in $(SOURCES); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + hdr=`for f in $(_gl_TS_headers); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ + grep -h -A1 '^extern .*[^;]$$' $$src \ + | grep -vE '^(extern |--)' | sed 's/ .*//'; \ + perl -lne \ + '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr; \ + ) | sort -u > $$t; \ + nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \ + && { echo the above functions should have static scope >&2; \ + exit 1; } || : ; \ + ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \ + perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \ + ) | sort -u > $$t; \ + nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \ + | sort -u | grep -Ev -f $$t \ + && { echo the above variables should have static scope >&2; \ + exit 1; } || : +# TS-end +endif -- 1.7.6.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
participants (2)
-
Christophe Fergeau
-
Daniel P. Berrange