<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/python/qemu/aqmp, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/python/qemu/aqmp?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/python/qemu/aqmp?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-04-21T15:01:00+00:00</updated>
<entry>
<title>python: rename qemu.aqmp to qemu.qmp</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-30T17:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=37094b6dd59f56978b918e79cadf17c6fd5d36e2'/>
<id>urn:sha1:37094b6dd59f56978b918e79cadf17c6fd5d36e2</id>
<content type='text'>
Now that we are fully switched over to the new QMP library, move it back
over the old namespace. This is being done primarily so that we may
upload this package simply as "qemu.qmp" without introducing confusion
over whether or not "aqmp" is a new protocol or not.

The trade-off is increased confusion inside the QEMU developer
tree. Sorry!

Note: the 'private' member "_aqmp" in legacy.py also changes to "_qmp";
not out of necessity, but just to remove any traces of the "aqmp"
name.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Acked-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@openvz.org&gt;
Message-id: 20220330172812.3427355-8-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: copy qmp docstrings to qemu.aqmp.legacy</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-30T17:28:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b0654f4f989dcb9af323ce8289ae71861b0f5a2b'/>
<id>urn:sha1:b0654f4f989dcb9af323ce8289ae71861b0f5a2b</id>
<content type='text'>
Copy the docstrings out of qemu.qmp, adjusting them as necessary to
more accurately reflect the current state of this class.

(Licensing: This is copying and modifying GPLv2-only licensed docstrings
into a GPLv2-only file.)

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@virtuozzo.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Message-id: 20220330172812.3427355-5-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: fully separate from qmp.QEMUMonitorProtocol</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-30T17:28:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0c78ebf72267d6d02e72f53a898e8c3eeedb955c'/>
<id>urn:sha1:0c78ebf72267d6d02e72f53a898e8c3eeedb955c</id>
<content type='text'>
After this patch, qemu.aqmp.legacy.QEMUMonitorProtocol no longer
inherits from qemu.qmp.QEMUMonitorProtocol. To do this, several
inherited methods need to be explicitly re-defined.

(Licensing: This is copying and modifying GPLv2-only code into a
GPLv2-only file.)

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@virtuozzo.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Message-id: 20220330172812.3427355-4-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: take QMPBadPortError and parse_address from qemu.qmp</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-30T17:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9fcd3930e0b2f4f7c224d0e76d209ff1b5118abc'/>
<id>urn:sha1:9fcd3930e0b2f4f7c224d0e76d209ff1b5118abc</id>
<content type='text'>
Shift these definitions over from the qmp package to the async qmp
package.

(Licensing: this is a lateral move, from GPLv2 (only) to GPLv2 (only))

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@virtuozzo.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Message-id: 20220330172812.3427355-3-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp-tui: relicense as LGPLv2+</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-25T20:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=445c9d4e3d88d7bcd51a0fae3b8f03cfbcf55f9c'/>
<id>urn:sha1:445c9d4e3d88d7bcd51a0fae3b8f03cfbcf55f9c</id>
<content type='text'>
aqmp-tui, the async QMP text user interface tool, is presently licensed
as GPLv2+. I intend to include this tool as an add-on to an LGPLv2+
library package hosted on PyPI.org. I've selected LGPLv2+ to maximize
compatibility with other licenses while retaining a copyleft license.

To keep licensing matters simple, I'd like to relicense this tool as
LGPLv2+ as well in order to keep the resultant license of the hosted
release files simple -- even if library users won't "link against" this
command line tool.

Therefore, I am asking permission to loosen the license.

Niteesh is effectively the sole author of this code, with scattered
lines from myself.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: G S Niteesh Babu &lt;niteesh.gs@gmail.com&gt;
Message-id: 20220325200438.2556381-5-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/qmp-shell: relicense as LGPLv2+</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-25T20:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0e08b94700234d6004194ae93d9641c9f2026565'/>
<id>urn:sha1:0e08b94700234d6004194ae93d9641c9f2026565</id>
<content type='text'>
qmp-shell is presently licensed as GPLv2 (only). I intend to include
this tool as an add-on to an LGPLv2+ library package hosted on
PyPI.org. I've selected LGPLv2+ to maximize compatibility with other
licenses while retaining a copyleft license.

To keep licensing matters simple, I'd like to relicense this tool as
LGPLv2+ as well in order to keep the resultant license of the hosted
release files simple -- even if library users won't "link against" this
command line tool.

Therefore, I am asking permission from the current authors of this
tool to loosen the license. At present, those people are:

- John Snow (me!), 411/609
- Luiz Capitulino, Author, 97/609
- Daniel Berrangé, 81/609
- Eduardo Habkost, 10/609
- Marc-André Lureau, 6/609
- Fam Zheng, 3/609
- Cleber Rosa, 1/609

(All of which appear to have been written under redhat.com addresses.)

Eduardo's fixes are largely automated from 2to3 conversion tools and may
not necessarily constitute authorship, but his signature would put to
rest any questions.

Cleber's changes concern a single import statement change. Also won't
hurt to ask.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Acked-by: Fam Zheng &lt;fam@euphon.net&gt;
Acked-by: Luiz Capitulino &lt;lcapitulino@redhat.com&gt;
Acked-by: Eduardo Habkost &lt;eduardo@habkost.net&gt;
Acked-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Acked-by: Cleber Rosa &lt;crosa@redhat.com&gt;
Message-id: 20220325200438.2556381-4-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: relicense as LGPLv2+</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-25T20:04:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9dcea96d083f02be68f5d76535bfe1c6688ab241'/>
<id>urn:sha1:9dcea96d083f02be68f5d76535bfe1c6688ab241</id>
<content type='text'>
I am the sole author of all of the async QMP code (python/qemu/aqmp)
with the following exceptions:

python/qemu/aqmp/qmp_shell.py and python/qemu/aqmp/legacy.py were
written by Luiz Capitulino (et al) and are already licensed separately
as GPLv2 (only).

aqmp_tui.py was written by Niteesh Babu G S and is licensed as GPLv2+.

I wish to relicense as LGPLv2+ in order to provide as much flexibility
as I reasonably can, while retaining a copyleft license. It is my belief
that LGPLv2+ is a suitable license for the Python ecosystem that aligns
with the goals and philosophy of the QEMU project.

The intent is to eventually drop legacy.py, leaving only library code
that is LGPLv2+.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Message-id: 20220325200438.2556381-3-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: add explicit GPLv2 license to legacy.py</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-25T20:04:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=380fc8f32ed98d6655bc2c901300ebdf973ad488'/>
<id>urn:sha1:380fc8f32ed98d6655bc2c901300ebdf973ad488</id>
<content type='text'>
The legacy.py module is heavily based on the QMP module by Luiz
Capitulino (et al) which is licensed as explicit GPLv2-only. The async
QMP package is currently licensed similarly, but I intend to relicense
the async package to the more flexible LGPLv2+.

In preparation for that change, make the license on legacy.py explicit.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Message-id: 20220325200438.2556381-2-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: drop _bind_hack()</title>
<updated>2022-03-07T19:36:41+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-02-25T20:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4c1fe7003c9b373acb0791b4356e2285a10365c0'/>
<id>urn:sha1:4c1fe7003c9b373acb0791b4356e2285a10365c0</id>
<content type='text'>
_bind_hack() was a quick fix to allow async QMP to call bind(2) prior to
calling listen(2) and accept(2). This wasn't sufficient to fully address
the race condition present in synchronous clients.

With the race condition in legacy.py fixed (see the previous commit),
there are no longer any users of _bind_hack(). Drop it.

Fixes: b0b662bb2b3
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Acked-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Message-id: 20220225205948.3693480-11-jsnow@redhat.com
[Expanded commit message. --js]
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/aqmp: fix race condition in legacy.py</title>
<updated>2022-03-07T19:36:41+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-02-25T20:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=673856f9d889dc50b6a1a7964df960c4f00c7c93'/>
<id>urn:sha1:673856f9d889dc50b6a1a7964df960c4f00c7c93</id>
<content type='text'>
legacy.py provides a synchronous model. iotests frequently uses this
paradigm:

 - create QMP client object
 - start QEMU process
 - await connection from QEMU process

In the switch from sync to async QMP, the QMP client object stopped
calling bind() and listen() during the QMP object creation step, which
creates a race condition if the QEMU process dials in too quickly.

With refactoring out of the way, restore the former behavior of calling
bind() and listen() during __init__() to fix this race condition.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Acked-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Message-id: 20220225205948.3693480-10-jsnow@redhat.com
[Expanded commit message. --js]
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
</feed>
