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(a)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