[libvirt PATCH 4/4] scripts: emit raw enum value in API build description
Michal Privoznik
mprivozn at redhat.com
Thu May 21 12:43:10 UTC 2020
On 5/19/20 3:01 PM, Daniel P. Berrangé wrote:
> Currently the value for an enum is only emitted if it is a plain
> string. If the enum is an integer or hex value, or a complex code block,
> it is omitted from the API build. This fixes that by emitting the raw
> value if no string value is present.
>
> With this change:
>
> <macro name='LIBVIR_CHECK_VERSION'
> file='libvirt-common'
> params='major,minor,micro'>
> <macro name='LIBVIR_VERSION_NUMBER'
> file='libvirt-common'>
> <macro name='VIR_COPY_CPUMAP'
> file='libvirt-domain'
> params='cpumaps,maplen,vcpu,cpumap'>
> ...snip...
>
> <macro name='LIBVIR_CHECK_VERSION'
> file='libvirt-common'
> params='major,minor,micro'
> raw='((major) * 1000000 + (minor) * 1000 + (micro) <= LIBVIR_VERSION_NUMBER)'>
> <macro name='LIBVIR_VERSION_NUMBER'
> file='libvirt-common'
> raw='6004000'>
> <macro name='VIR_COPY_CPUMAP'
> file='libvirt-domain'
> params='cpumaps,maplen,vcpu,cpumap'
> raw='memcpy(cpumap, VIR_GET_CPUMAP(cpumaps, maplen, vcpu), maplen)'>
> ...snip...
>
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
> scripts/apibuild.py | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
I'm seeing some weird errors after I apply this one, like:
make[2]: Entering directory
'/home/zippy/work/libvirt/libvirt.git/_build/docs'
/usr/bin/xsltproc --nonet -o ./ \
--stringparam builddir '/home/zippy/work/libvirt/libvirt.git/_build' \
--stringparam timestamp "Thu May 21 12:42:53 UTC 2020" \
../../docs/newapi.xsl libvirt-api.xml
libvirt-api.xml:2092: parser error : Unescaped '<' not allowed in
attributes values
' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 +
(micro)
^
libvirt-api.xml:2092: parser error : attributes construct error
' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 +
(micro)
^
libvirt-api.xml:2092: parser error : Couldn't find end of Start Tag
macro line 2092
' params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 +
(micro)
^
libvirt-api.xml:2092: parser error : StartTag: invalid element name
params='major,minor,micro' raw='((major) * 1000000 + (minor) * 1000 +
(micro) <
^
libvirt-api.xml:2097: parser error : Opening and ending tag mismatch:
symbols line 2091 and macro
</macro>
^
libvirt-api.xml:2146: parser error : xmlParseEntityRef: no name
_CPU_USED' file='libvirt-domain' params='cpumap,cpu'
raw='((cpumap)[(cpu) / 8] &
^
libvirt-api.xml:2146: parser error : Unescaped '<' not allowed in
attributes values
_USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) /
8] & (1
^
libvirt-api.xml:2146: parser error : attributes construct error
_USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) /
8] & (1
^
libvirt-api.xml:2146: parser error : Couldn't find end of Start Tag
macro line 2146
_USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) /
8] & (1
^
libvirt-api.xml:2146: parser error : StartTag: invalid element name
USED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) /
8] & (1 <
^
libvirt-api.xml:2146: parser error : StartTag: invalid element name
SED' file='libvirt-domain' params='cpumap,cpu' raw='((cpumap)[(cpu) / 8]
& (1 <<
^
libvirt-api.xml:2150: parser error : Opening and ending tag mismatch:
api line 2 and macro
</macro>
^
libvirt-api.xml:2151: parser error : Extra content at the end of the
document
<macro name='VIR_DOMAIN_BANDWIDTH_IN_AVERAGE' file='libvirt-domain'
string='
^
unable to parse libvirt-api.xml
Michal
More information about the libvir-list
mailing list