[libvirt] [PATCH 03/10] cleanup: Don't include libvirt/libvirt.h

Osier Yang jyang at redhat.com
Wed Apr 17 15:24:28 UTC 2013


On 17/04/13 23:07, Eric Blake wrote:
> On 04/17/2013 06:38 AM, Osier Yang wrote:
>>>>     */
>>>>    -%#include <libvirt/libvirt.h>
>>>>    %#include "internal.h"
>>>>    %#include <arpa/inet.h>
>>>>    
>>> This has broken make check
> Let's revert this hunk, and stop enforcing the checks on .x files, then.
>
>>>     GEN      remote_protocol-struct
>>> --- remote_protocol-structs    2013-04-11 18:02:02.445662659 +0100
>>> +++ remote_protocol-struct-t3    2013-04-17 11:57:29.472083827 +0100
>>> @@ -7,6 +7,7 @@
>>>            VIR_TYPED_PARAM_DOUBLE = 5,
>>>            VIR_TYPED_PARAM_BOOLEAN = 6,
>>>            VIR_TYPED_PARAM_STRING = 7,
>>> +        VIR_TYPED_PARAM_LAST = 8,
> We _don't_ want the wire protocol to be exposing *_LAST enum elements.
> That's _why_ we included <libvirt/libvirt.h> first (to get only public
> names), then "internal.h" second (to get everything else).  Including
> "internal.h" first (or in isolation) turns on private names such as
> *_LAST elements.  I forgot about that, and hadn't actually tested your
> patch (I was just reviewing it based on content), or I would have
> spotted it sooner.

Hum, I see.

>
>>>    };
>>>    struct remote_nonnull_domain {
>>>            remote_nonnull_string      name;
>>> make[2]: *** [remote_protocol-struct] Error 1
>>>
>>>
>> I'm wondering why it works on my FC18.
> Probably because you don't have dwarves installed, or if you do, because
> there have been known-buggy versions of dwarves where pdwtags fails to
> parse files compiled by newer gcc versions; in either of those
> situations, 'make check' no longer validates the remote_protocol-struct
> file.
Right, I have not installed it, :(

Pushed the reverting patch in build-breaker rule:

commit f043199413c8263a17802cf2c0636bc1fe348772
Author: Osier Yang <jyang at redhat.com>
Date:   Wed Apr 17 23:14:52 2013 +0800

     remote: Revert removing "libvirt/libvirt.h" in remote_protocol.x

     Commit 2d25fd4f410f removed the including of "libvirt/libvirt.h",
     which breaks the build. Pushed under build-breaker rule.

diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index d384225..b957b8e 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -36,6 +36,7 @@
   * 'REMOTE_'.  This makes names quite long.
   */

+%#include <libvirt/libvirt.h>
  %#include "internal.h"
  %#include <arpa/inet.h>

Osier




More information about the libvir-list mailing list