<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/tests/qapi-schema, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/tests/qapi-schema?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/tests/qapi-schema?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-09-01T05:42:37+00:00</updated>
<entry>
<title>meson: remove dead assignments</title>
<updated>2022-09-01T05:42:37+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-07-14T08:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e3af71e9009de156665df67b9bdf5bc192aae215'/>
<id>urn:sha1:e3af71e9009de156665df67b9bdf5bc192aae215</id>
<content type='text'>
Found with "muon analyze".

Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi-schema: test: add a unit test for parsing array alternates</title>
<updated>2022-04-21T08:11:25+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-03-21T16:42:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=79db994861daadeeb9e852fba3831e9f3d5554c8'/>
<id>urn:sha1:79db994861daadeeb9e852fba3831e9f3d5554c8</id>
<content type='text'>
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-Id: &lt;20220321164243.200569-4-pbonzini@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
[Dead code dropped in test_visitor_in_alternate_list()]
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi-schema: test: add a qapi-schema-test for array alternates</title>
<updated>2022-04-21T08:11:25+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-03-21T16:42:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b36dc5c279706e23ed75f0a90dfe7195340a73cb'/>
<id>urn:sha1:b36dc5c279706e23ed75f0a90dfe7195340a73cb</id>
<content type='text'>
Check that conflicts among array alternates are detected correctly.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-Id: &lt;20220321164243.200569-3-pbonzini@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
[Expected test output alternate-conflict-lists.json corrected]
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi-schema: support alternates with array type</title>
<updated>2022-04-21T08:11:25+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2022-03-21T16:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a58069494ded1282c36b7fca8d67bf487c160983'/>
<id>urn:sha1:a58069494ded1282c36b7fca8d67bf487c160983</id>
<content type='text'>
Detect array types as alternate branches, and turn the JSON list into
a QAPISchemaArrayType.  Array types in an alternate are represented with
QTYPE_QLIST in the type field.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-Id: &lt;20220321164243.200569-2-pbonzini@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>meson: drop sphinx_extn_depends</title>
<updated>2021-11-08T08:27:23+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2021-10-15T10:36:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=89bcfe780a8e1a900d94014dfdef756cc3eb8221'/>
<id>urn:sha1:89bcfe780a8e1a900d94014dfdef756cc3eb8221</id>
<content type='text'>
Module dependencies is now handled by depfile.py.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/qapi-schema/meson: add depfile to sphinx doc</title>
<updated>2021-11-08T08:27:23+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2021-10-15T10:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=706bbad2bacf21bed3e61d99203afe85b73f97f1'/>
<id>urn:sha1:706bbad2bacf21bed3e61d99203afe85b73f97f1</id>
<content type='text'>
Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: New special feature flag "unstable"</title>
<updated>2021-10-29T13:55:52+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2021-10-28T10:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a3c45b3e62962f99338716b1347cfb0d427cea44'/>
<id>urn:sha1:a3c45b3e62962f99338716b1347cfb0d427cea44</id>
<content type='text'>
By convention, names starting with "x-" are experimental.  The parts
of external interfaces so named may be withdrawn or changed
incompatibly in future releases.

The naming convention makes unstable interfaces easy to recognize.
Promoting something from experimental to stable involves a name
change.  Client code needs to be updated.  Occasionally bothersome.

Worse, the convention is not universally observed:

* QOM type "input-barrier" has properties "x-origin", "y-origin".
  Looks accidental, but it's ABI since 4.2.

* QOM types "memory-backend-file", "memory-backend-memfd",
  "memory-backend-ram", and "memory-backend-epc" have a property
  "x-use-canonical-path-for-ramblock-id" that is documented to be
  stable despite its name.

We could document these exceptions, but documentation helps only
humans.  We want to recognize "unstable" in code, like "deprecated".

So support recognizing it the same way: introduce new special feature
flag "unstable".  It will be treated specially by the QAPI generator,
like the existing feature flag "deprecated", and unlike regular
feature flags.

This commit updates documentation and prepares tests.  The next commit
updates the QAPI schema.  The remaining patches update the QAPI
generator and wire up -compat policy checking.

Management applications can then use query-qmp-schema and -compat to
manage or guard against use of unstable interfaces the same way as for
deprecated interfaces.

docs/devel/qapi-code-gen.txt no longer mandates the naming convention.
Using it anyway might help writers of programs that aren't
full-fledged management applications.  Not using it can save us
bothersome renames.  We'll see how that shakes out.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Juan Quintela &lt;quintela@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
Message-Id: &lt;20211028102520.747396-2-armbru@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi: Add feature flags to enum members</title>
<updated>2021-10-27T15:18:55+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2021-10-25T04:24:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b6c18755e41f7b40aad4c2c8188fb1719535699d'/>
<id>urn:sha1:b6c18755e41f7b40aad4c2c8188fb1719535699d</id>
<content type='text'>
This is quite similar to commit 84ab008687 "qapi: Add feature flags to
struct members", only for enums instead of structs.

Special feature flag 'deprecated' is silently ignored there.  This is
okay only because it will be implemented shortly.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Message-Id: &lt;20211025042405.3762351-3-armbru@redhat.com&gt;
Reviewed-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>meson: switch minimum meson version to 0.58.2, minimum recommended to 0.59.2</title>
<updated>2021-10-05T11:10:29+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2021-02-09T13:59:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=654d6b0453aa6eb19af0d75b0f087a97a5776da7'/>
<id>urn:sha1:654d6b0453aa6eb19af0d75b0f087a97a5776da7</id>
<content type='text'>
Meson 0.58.2 does not need b_staticpic=$pie anymore, and has
stabilized the keyval module.  Remove the workaround and use a few
replacements for features deprecated in the 0.57.0 release cycle.

One feature that we would like to use is passing dependencies to
summary.  However, that was broken in 0.59.0 and 0.59.1.  Therefore,
use the embedded Meson if the host has anything older than 0.59.2,
but allow --meson= to use 0.58.2.

Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>qapi/parser: remove FIXME comment from _append_body_line</title>
<updated>2021-10-02T05:33:42+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-09-30T20:57:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cd87c14cde5db42a2f13bfdbba1f3cbeb347a411'/>
<id>urn:sha1:cd87c14cde5db42a2f13bfdbba1f3cbeb347a411</id>
<content type='text'>
True, we do not check the validity of this symbol -- but we don't check
the validity of definition names during parse, either -- that happens
later, during the expr check. I don't want to introduce a dependency on
expr.py:check_name_str here and introduce a cycle.

Instead, rest assured that a documentation block is required for each
definition. This requirement uses the names of each section to ensure
that we fulfilled this requirement.

e.g., let's say that block-core.json has a comment block for
"Snapshot!Info" by accident. We'll see this error message:

In file included from ../../qapi/block.json:8:
../../qapi/block-core.json: In struct 'SnapshotInfo':
../../qapi/block-core.json:38: documentation comment is for 'Snapshot!Info'

That's a pretty decent error message.

Now, let's say that we actually mangle it twice, identically:

../../qapi/block-core.json: In struct 'Snapshot!Info':
../../qapi/block-core.json:38: struct has an invalid name

That's also pretty decent. If we forget to fix it in both places, we'll
just be back to the first error.

Therefore, let's just drop this FIXME and adjust the error message to
not imply a more thorough check than is actually performed.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Message-Id: &lt;20210930205716.1148693-6-jsnow@redhat.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
</content>
</entry>
</feed>
