Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-libvirt-python for
openSUSE:Factory checked in at 2022-04-05 19:57:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-libvirt-python (Old)
and /work/SRC/openSUSE:Factory/.python-libvirt-python.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-libvirt-python"
Tue Apr 5 19:57:51 2022 rev:55 rq:966488 version:8.2.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-libvirt-python/python-libvirt-python.changes
2022-03-05 14:44:38.919719566 +0100
+++
/work/SRC/openSUSE:Factory/.python-libvirt-python.new.1900/python-libvirt-python.changes
2022-04-05 19:57:53.440603193 +0200
@@ -1,0 +2,6 @@
+Fri Apr 1 21:27:54 UTC 2022 - James Fehlig <[email protected]>
+
+- Update to 8.2.0
+ - Add all new APIs and constants in libvirt 8.2.0
+
+-------------------------------------------------------------------
Old:
----
libvirt-python-8.1.0.tar.gz
New:
----
libvirt-python-8.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-libvirt-python.spec ++++++
--- /var/tmp/diff_new_pack.vpk5EP/_old 2022-04-05 19:57:54.108595746 +0200
+++ /var/tmp/diff_new_pack.vpk5EP/_new 2022-04-05 19:57:54.112595701 +0200
@@ -23,7 +23,7 @@
%define srcname libvirt-python
Name: python-libvirt-python
URL: https://libvirt.org/
-Version: 8.1.0
+Version: 8.2.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vpk5EP/_old 2022-04-05 19:57:54.140595388 +0200
+++ /var/tmp/diff_new_pack.vpk5EP/_new 2022-04-05 19:57:54.144595344 +0200
@@ -1,7 +1,7 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="filename">libvirt-python</param>
- <param name="revision">v8.1.0</param>
+ <param name="revision">v8.2.0</param>
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="url">https://gitlab.com/libvirt/libvirt-python.git</param>
++++++ libvirt-python-8.1.0.tar.gz -> libvirt-python-8.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/.gitlab-ci.yml
new/libvirt-python-8.2.0/.gitlab-ci.yml
--- old/libvirt-python-8.1.0/.gitlab-ci.yml 2022-02-11 12:20:26.000000000
+0100
+++ new/libvirt-python-8.2.0/.gitlab-ci.yml 2022-03-28 16:44:48.000000000
+0200
@@ -28,7 +28,7 @@
- ninja -C build install
- popd
- $PYTHON setup.py build
- - $PYTHON setup.py install
+ - $PYTHON -m pip install .
- $PYTHON setup.py test
- $PYTHON setup.py sdist
- if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild
--nodeps -ta dist/libvirt-python*tar.gz ; fi
@@ -40,7 +40,7 @@
- export CFLAGS="-Werror"
script:
- $PYTHON setup.py build
- - $PYTHON setup.py install
+ - $PYTHON -m pip install .
- $PYTHON setup.py test
- $PYTHON setup.py sdist
- if test -x /usr/bin/rpmbuild && test "$RPM" != "skip" ; then rpmbuild
--nodeps -ta dist/libvirt-python*tar.gz ; fi
@@ -48,10 +48,10 @@
include: '/ci/gitlab.yml'
api-coverage:
- image: $CI_REGISTRY_IMAGE/ci-centos-8:latest
+ image: $CI_REGISTRY_IMAGE/ci-centos-stream-8:latest
stage: sanity_checks
needs:
- - job: x86_64-centos-8-git
+ - job: x86_64-centos-stream-8-git
artifacts: true
before_script:
- *git_build_vars
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/centos-8.Dockerfile
new/libvirt-python-8.2.0/ci/containers/centos-8.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/centos-8.Dockerfile 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/centos-8.Dockerfile 1970-01-01
01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/centos:8
-
-RUN dnf update -y && \
- dnf install 'dnf-command(config-manager)' -y && \
- dnf config-manager --set-enabled -y powertools && \
- dnf install -y centos-release-advanced-virtualization && \
- dnf install -y epel-release && \
- dnf install -y \
- ca-certificates \
- ccache \
- cpp \
- gcc \
- gettext \
- git \
- glib2-devel \
- glibc-devel \
- glibc-langpack-en \
- gnutls-devel \
- libnl3-devel \
- libtirpc-devel \
- libvirt-devel \
- libxml2 \
- libxml2-devel \
- libxslt \
- make \
- ninja-build \
- perl \
- pkgconfig \
- python3 \
- python3-devel \
- python3-docutils \
- python3-lxml \
- python3-pip \
- python3-pytest \
- python3-setuptools \
- python3-wheel \
- rpcgen \
- rpm-build && \
- dnf autoremove -y && \
- dnf clean all -y && \
- rpm -qa | sort > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-
-RUN pip3 install \
- meson==0.56.0
-
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/centos-stream-8.Dockerfile
new/libvirt-python-8.2.0/ci/containers/centos-stream-8.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/centos-stream-8.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/centos-stream-8.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -14,16 +14,33 @@
dnf install -y \
ca-certificates \
ccache \
+ cpp \
gcc \
+ gettext \
git \
+ glib2-devel \
+ glibc-devel \
glibc-langpack-en \
+ gnutls-devel \
+ libnl3-devel \
+ libtirpc-devel \
libvirt-devel \
+ libxml2 \
+ libxml2-devel \
+ libxslt \
+ make \
+ meson \
+ ninja-build \
+ perl \
pkgconfig \
python3 \
python3-devel \
+ python3-docutils \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools \
+ rpcgen \
rpm-build && \
dnf autoremove -y && \
dnf clean all -y && \
@@ -33,5 +50,7 @@
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
ENV LANG "en_US.UTF-8"
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/debian-10.Dockerfile
new/libvirt-python-8.2.0/ci/containers/debian-10.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/debian-10.Dockerfile 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/debian-10.Dockerfile 2022-03-28
16:44:48.000000000 +0200
@@ -21,6 +21,7 @@
python3 \
python3-dev \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools && \
eatmydata apt-get autoremove -y && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/debian-sid.Dockerfile
new/libvirt-python-8.2.0/ci/containers/debian-sid.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/debian-sid.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/debian-sid.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -21,6 +21,7 @@
python3 \
python3-dev \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools && \
eatmydata apt-get autoremove -y && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/fedora-33.Dockerfile
new/libvirt-python-8.2.0/ci/containers/fedora-33.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/fedora-33.Dockerfile 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/fedora-33.Dockerfile 1970-01-01
01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool manifest ci/manifest.yml
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM registry.fedoraproject.org/fedora:33
-
-RUN dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
-if test -d /usr/lib64\n\
-then\n\
- export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
-else\n\
- export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
-fi\n\
-exec "$@"' > /usr/bin/nosync && \
- chmod +x /usr/bin/nosync && \
- nosync dnf update -y && \
- nosync dnf install -y \
- ca-certificates \
- ccache \
- gcc \
- git \
- glibc-langpack-en \
- libvirt-devel \
- pkgconfig \
- python3 \
- python3-devel \
- python3-lxml \
- python3-pytest \
- python3-setuptools \
- rpm-build && \
- nosync dnf autoremove -y && \
- nosync dnf clean all -y && \
- rpm -qa | sort > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-
-ENV LANG "en_US.UTF-8"
-ENV PYTHON "/usr/bin/python3"
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/fedora-34.Dockerfile
new/libvirt-python-8.2.0/ci/containers/fedora-34.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/fedora-34.Dockerfile 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/fedora-34.Dockerfile 2022-03-28
16:44:48.000000000 +0200
@@ -28,6 +28,7 @@
python3 \
python3-devel \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools \
rpm-build && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/fedora-35.Dockerfile
new/libvirt-python-8.2.0/ci/containers/fedora-35.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/fedora-35.Dockerfile 1970-01-01
01:00:00.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/fedora-35.Dockerfile 2022-03-28
16:44:48.000000000 +0200
@@ -0,0 +1,44 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+FROM registry.fedoraproject.org/fedora:35
+
+RUN dnf install -y nosync && \
+ echo -e '#!/bin/sh\n\
+if test -d /usr/lib64\n\
+then\n\
+ export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
+else\n\
+ export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
+fi\n\
+exec "$@"' > /usr/bin/nosync && \
+ chmod +x /usr/bin/nosync && \
+ nosync dnf update -y && \
+ nosync dnf install -y \
+ ca-certificates \
+ ccache \
+ gcc \
+ git \
+ glibc-langpack-en \
+ libvirt-devel \
+ pkgconfig \
+ python3 \
+ python3-devel \
+ python3-lxml \
+ python3-pip \
+ python3-pytest \
+ python3-setuptools \
+ rpm-build && \
+ nosync dnf autoremove -y && \
+ nosync dnf clean all -y && \
+ rpm -qa | sort > /packages.txt && \
+ mkdir -p /usr/libexec/ccache-wrappers && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+
+ENV LANG "en_US.UTF-8"
+ENV PYTHON "/usr/bin/python3"
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/fedora-rawhide.Dockerfile
new/libvirt-python-8.2.0/ci/containers/fedora-rawhide.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/fedora-rawhide.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/fedora-rawhide.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -17,7 +17,7 @@
fi\n\
exec "$@"' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
- nosync dnf update -y && \
+ nosync dnf distro-sync -y && \
nosync dnf install -y \
ca-certificates \
ccache \
@@ -29,6 +29,7 @@
python3 \
python3-devel \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools \
rpm-build && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/opensuse-leap-152.Dockerfile
new/libvirt-python-8.2.0/ci/containers/opensuse-leap-152.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/opensuse-leap-152.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/opensuse-leap-152.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -18,6 +18,7 @@
python3-base \
python3-devel \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools \
rpm-build && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/opensuse-tumbleweed.Dockerfile
new/libvirt-python-8.2.0/ci/containers/opensuse-tumbleweed.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/opensuse-tumbleweed.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/opensuse-tumbleweed.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -6,7 +6,7 @@
FROM registry.opensuse.org/opensuse/tumbleweed:latest
-RUN zypper update -y && \
+RUN zypper dist-upgrade -y && \
zypper install -y \
ca-certificates \
ccache \
@@ -18,6 +18,7 @@
python3-base \
python3-devel \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools \
rpm-build && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/ubuntu-1804.Dockerfile
new/libvirt-python-8.2.0/ci/containers/ubuntu-1804.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/ubuntu-1804.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/ubuntu-1804.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -21,6 +21,7 @@
python3 \
python3-dev \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools && \
eatmydata apt-get autoremove -y && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/libvirt-python-8.1.0/ci/containers/ubuntu-2004.Dockerfile
new/libvirt-python-8.2.0/ci/containers/ubuntu-2004.Dockerfile
--- old/libvirt-python-8.1.0/ci/containers/ubuntu-2004.Dockerfile
2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/ci/containers/ubuntu-2004.Dockerfile
2022-03-28 16:44:48.000000000 +0200
@@ -21,6 +21,7 @@
python3 \
python3-dev \
python3-lxml \
+ python3-pip \
python3-pytest \
python3-setuptools && \
eatmydata apt-get autoremove -y && \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/ci/gitlab.yml
new/libvirt-python-8.2.0/ci/gitlab.yml
--- old/libvirt-python-8.1.0/ci/gitlab.yml 2022-02-11 12:20:26.000000000
+0100
+++ new/libvirt-python-8.2.0/ci/gitlab.yml 2022-03-28 16:44:48.000000000
+0200
@@ -10,8 +10,7 @@
stage: containers
needs: []
services:
- - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
- alias: docker
+ - docker:dind
before_script:
- export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
- export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt-python/ci-$NAME:latest"
@@ -50,13 +49,6 @@
# Native container jobs
-x86_64-centos-8-container:
- extends: .container_job
- allow_failure: false
- variables:
- NAME: centos-8
-
-
x86_64-centos-stream-8-container:
extends: .container_job
allow_failure: false
@@ -78,18 +70,18 @@
NAME: debian-sid
-x86_64-fedora-33-container:
+x86_64-fedora-34-container:
extends: .container_job
allow_failure: false
variables:
- NAME: fedora-33
+ NAME: fedora-34
-x86_64-fedora-34-container:
+x86_64-fedora-35-container:
extends: .container_job
allow_failure: false
variables:
- NAME: fedora-34
+ NAME: fedora-35
x86_64-fedora-rawhide-container:
@@ -129,36 +121,28 @@
# Native build jobs
-x86_64-centos-8:
+x86_64-centos-stream-8:
extends: .native_build_job
needs:
- - x86_64-centos-8-container
+ - x86_64-centos-stream-8-container
allow_failure: false
variables:
- NAME: centos-8
+ NAME: centos-stream-8
-x86_64-centos-8-git:
+x86_64-centos-stream-8-git:
extends: .native_git_build_job
needs:
- - x86_64-centos-8-container
+ - x86_64-centos-stream-8-container
allow_failure: false
variables:
- NAME: centos-8
+ NAME: centos-stream-8
artifacts:
expire_in: 2 days
paths:
- scratch
- build
-x86_64-centos-stream-8:
- extends: .native_build_job
- needs:
- - x86_64-centos-stream-8-container
- allow_failure: false
- variables:
- NAME: centos-stream-8
-
x86_64-debian-10:
extends: .native_build_job
@@ -178,22 +162,22 @@
NAME: debian-sid
-x86_64-fedora-33:
+x86_64-fedora-34:
extends: .native_build_job
needs:
- - x86_64-fedora-33-container
+ - x86_64-fedora-34-container
allow_failure: false
variables:
- NAME: fedora-33
+ NAME: fedora-34
-x86_64-fedora-34:
+x86_64-fedora-35:
extends: .native_build_job
needs:
- - x86_64-fedora-34-container
+ - x86_64-fedora-35-container
allow_failure: false
variables:
- NAME: fedora-34
+ NAME: fedora-35
x86_64-fedora-rawhide:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/ci/manifest.yml
new/libvirt-python-8.2.0/ci/manifest.yml
--- old/libvirt-python-8.1.0/ci/manifest.yml 2022-02-11 12:20:26.000000000
+0100
+++ new/libvirt-python-8.2.0/ci/manifest.yml 2022-03-28 16:44:48.000000000
+0200
@@ -8,7 +8,7 @@
targets:
- centos-8:
+ centos-stream-8:
projects:
- libvirt-python
- libvirt+minimal
@@ -25,16 +25,14 @@
- scratch
- build
- centos-stream-8: x86_64
-
debian-10: x86_64
debian-sid: x86_64
- fedora-33: x86_64
-
fedora-34: x86_64
+ fedora-35: x86_64
+
fedora-rawhide: x86_64
opensuse-leap-152:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/generator.py
new/libvirt-python-8.2.0/generator.py
--- old/libvirt-python-8.1.0/generator.py 2022-02-11 12:20:26.000000000
+0100
+++ new/libvirt-python-8.2.0/generator.py 2022-03-28 16:44:48.000000000
+0200
@@ -626,6 +626,7 @@
# "virDomainQemuAttach",
'virConnectDomainQemuMonitorEventRegister', # overridden in -qemu.py
'virConnectDomainQemuMonitorEventDeregister', # overridden in -qemu.py
+ 'virDomainQemuMonitorCommandWithFiles', # overridden in -qemu.py
}
# Generate C code, but skip python impl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/libvirt-qemu-override.c
new/libvirt-python-8.2.0/libvirt-qemu-override.c
--- old/libvirt-python-8.1.0/libvirt-qemu-override.c 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/libvirt-qemu-override.c 2022-03-28
16:44:48.000000000 +0200
@@ -20,6 +20,9 @@
#include "typewrappers.h"
#include "libvirt-utils.h"
#include "build/libvirt-qemu.h"
+#ifndef __CYGWIN__
+# include <fcntl.h>
+#endif
#ifndef __CYGWIN__
extern PyObject *PyInit_libvirtmod_qemu(void);
@@ -325,6 +328,118 @@
}
#endif /* LIBVIR_CHECK_VERSION(1, 2, 3) */
+#if LIBVIR_CHECK_VERSION(8, 2, 0)
+static PyObject *
+libvirt_qemu_virDomainQemuMonitorCommandWithFiles(PyObject *self
ATTRIBUTE_UNUSED,
+ PyObject *args)
+{
+ PyObject *pyobj_domain;
+ const char *cmd;
+ PyObject *pyobj_files;
+ unsigned int flags;
+ virDomainPtr domain;
+ unsigned int ninfiles;
+ int *infiles = NULL;
+ unsigned int noutfiles = 0;
+ int *outfiles = NULL;
+ char *result = NULL;
+ ssize_t i;
+ PyObject *py_outfiles = NULL;
+ PyObject *py_retval = NULL;
+ int c_retval;
+
+ if (!PyArg_ParseTuple(args,
+ (char *)
"Os|OI:virDomainQemuMonitorCommandWithFiles",
+ &pyobj_domain, &cmd, &pyobj_files, &flags))
+ return NULL;
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+
+ ninfiles = PyList_Size(pyobj_files);
+
+ if (VIR_ALLOC_N(infiles, ninfiles) < 0)
+ return PyErr_NoMemory();
+
+ for (i = 0; i < ninfiles; i++) {
+ PyObject *pyfd;
+ int fd;
+
+ pyfd = PyList_GetItem(pyobj_files, i);
+
+ if (libvirt_intUnwrap(pyfd, &fd) < 0)
+ goto cleanup;
+
+ infiles[i] = fd;
+ }
+
+ LIBVIRT_BEGIN_ALLOW_THREADS;
+ c_retval = virDomainQemuMonitorCommandWithFiles(domain, cmd, ninfiles,
infiles,
+ &noutfiles, &outfiles,
&result, flags);
+ LIBVIRT_END_ALLOW_THREADS;
+
+ if (c_retval < 0) {
+ py_retval = VIR_PY_NONE;
+ goto cleanup;
+ }
+
+ if (!(py_outfiles = PyList_New(0)) ||
+ !(py_retval = PyTuple_New(2))) {
+ goto error;
+ }
+
+ for (i = 0; i < noutfiles; i++) {
+ int fd = outfiles[i];
+ const char *mode = "r+b";
+
+ /* Since FD passing works only on UNIX-like systems, we can do this. */
+#ifndef __CYGWIN__
+ int fflags;
+
+ if ((fflags = fcntl(fd, F_GETFL)) < 0)
+ goto error;
+
+ switch (fflags & (O_ACCMODE | O_APPEND)) {
+ case O_RDONLY:
+ mode = "rb";
+ break;
+ case O_WRONLY:
+ mode = "wb";
+ break;
+ case O_RDWR:
+ mode = "r+b";
+ break;
+ case O_WRONLY | O_APPEND:
+ mode = "ab";
+ break;
+ case O_RDWR | O_APPEND:
+ mode = "a+b";
+ break;
+ }
+#endif
+
+ VIR_PY_LIST_APPEND_GOTO(py_outfiles, PyFile_FromFd(fd, NULL, mode, 0,
NULL, NULL, NULL, 1), error);
+ }
+
+ VIR_PY_TUPLE_SET_GOTO(py_retval, 0, libvirt_charPtrWrap(result), error);
+ VIR_PY_TUPLE_SET_GOTO(py_retval, 1, py_outfiles, error);
+ /* stolen by py_retval */
+ py_outfiles = NULL;
+
+ cleanup:
+ Py_XDECREF(py_outfiles);
+ VIR_FREE(result);
+ VIR_FREE(outfiles);
+ VIR_FREE(infiles);
+ return py_retval;
+
+ error:
+ while (noutfiles > 0) {
+ VIR_FORCE_CLOSE(outfiles[--noutfiles]);
+ }
+ Py_CLEAR(py_retval);
+ goto cleanup;
+}
+#endif /* LIBVIR_CHECK_VERSION(8, 2, 0) */
+
/************************************************************************
* *
* The registration stuff *
@@ -340,6 +455,9 @@
{(char *) "virConnectDomainQemuMonitorEventRegister",
libvirt_qemu_virConnectDomainQemuMonitorEventRegister, METH_VARARGS, NULL},
{(char *) "virConnectDomainQemuMonitorEventDeregister",
libvirt_qemu_virConnectDomainQemuMonitorEventDeregister, METH_VARARGS, NULL},
#endif /* LIBVIR_CHECK_VERSION(1, 2, 3) */
+#if LIBVIR_CHECK_VERSION(8, 2, 0)
+ {(char *) "virDomainQemuMonitorCommandWithFiles",
libvirt_qemu_virDomainQemuMonitorCommandWithFiles, METH_VARARGS, NULL},
+#endif /* LIBVIR_CHECK_VERSION(8, 2, 0) */
{NULL, NULL, 0, NULL}
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/libvirt-qemu-override.py
new/libvirt-python-8.2.0/libvirt-qemu-override.py
--- old/libvirt-python-8.1.0/libvirt-qemu-override.py 2022-02-11
12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/libvirt-qemu-override.py 2022-03-28
16:44:48.000000000 +0200
@@ -1,5 +1,5 @@
# Manually written part of python bindings for libvirt-qemu
-from typing import Any, Callable, Dict
+from typing import Any, Callable, Dict, List, IO
def _dispatchQemuMonitorEventCallback(conn: libvirt.virConnect, dom:
libvirt.virDomain, event: str, seconds: int, micros: int, details: str, cbData:
Dict[str, Any]) -> int:
@@ -38,3 +38,32 @@
raise libvirt.libvirtError('virConnectDomainQemuMonitorEventRegister()
failed')
conn.qemuMonitorEventCallbackID[ret] = opaque # type: ignore
return ret
+
+def qemuMonitorCommandWithFiles(domain: libvirt.virDomain, cmd: str, files:
List[int] = [], flags: int = 0) -> (str, List[IO]):
+ """This API is QEMU specific, so it will only work with hypervisor
+ connections to the QEMU driver with local connections using the unix
+ socket.
+
+ Send an arbitrary monitor command @cmd with file descriptors @files to
+ domain through the QEMU monitor and optionally return a list of files
+ in the returned tuple. There are several requirements to safely
+ and successfully use this API:
+
+ - A @cmd that queries state without making any modifications is safe
+ - A @cmd that alters state that is also tracked by libvirt is unsafe,
+ and may cause libvirtd to crash
+ - A @cmd that alters state not tracked by the current version of
+ libvirt is possible as a means to test new qemu features before
+ they have support in libvirt, but no guarantees are made to safety
+
+ If VIR_DOMAIN_QEMU_MONITOR_COMMAND_HMP is set, the command is considered to
+ be a human monitor command and libvirt will automatically convert it into
+ QMP if needed. In that case the @result will also be converted back from
+ QMP.
+
+ Returns a tuple consisting of the string output from @cmd and a list of
+ files respectively."""
+ ret = libvirtmod_qemu.virDomainQemuMonitorCommandWithFiles(domain._o, cmd,
files, flags)
+ if ret is None:
+ raise libvirt.libvirtError('virDomainQemuMonitorCommandWithFiles()
failed')
+ return ret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/libvirt-python-8.1.0/setup.py
new/libvirt-python-8.2.0/setup.py
--- old/libvirt-python-8.1.0/setup.py 2022-02-11 12:20:26.000000000 +0100
+++ new/libvirt-python-8.2.0/setup.py 2022-03-28 16:44:48.000000000 +0200
@@ -335,7 +335,7 @@
_c_modules, _py_modules = get_module_lists()
setup(name = 'libvirt-python',
- version = '8.1.0',
+ version = '8.2.0',
url = 'http://www.libvirt.org',
maintainer = 'Libvirt Maintainers',
maintainer_email = '[email protected]',