[libvirt] [jenkins-ci PATCH 0/2] Fix virt-manager build failure
By making a lot of compromises. Not a perfect solution, but still better than not building virt-manager at all until we've come up with a proper one I reckon. ¯\_(ツ)_/¯ Andrea Bolognani (2): guests: Install Python 3 dependencies for virt-manager jobs: Switch all Python builds to Python 3 guests/host_vars/libvirt-centos-6/main.yml | 1 - guests/host_vars/libvirt-centos-7/main.yml | 2 -- guests/host_vars/libvirt-debian-8/main.yml | 1 - guests/host_vars/libvirt-ubuntu-14/main.yml | 1 - guests/host_vars/libvirt-ubuntu-16/main.yml | 1 - guests/vars/mappings.yml | 41 ++++++++++++++++------------- guests/vars/projects/virt-manager.yml | 8 +++--- jobs/python-distutils.yaml | 8 +++--- projects/virt-manager.yaml | 2 +- 9 files changed, 31 insertions(+), 34 deletions(-) -- 2.14.3
virt-manager is Python 3 only now, so we need to update the list of packages that gets installed on our guests. In some cases the Python 3 build of the dependency is not available, so we have no choice but to stop building virt-manager there. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- guests/host_vars/libvirt-centos-7/main.yml | 1 - guests/host_vars/libvirt-debian-8/main.yml | 1 - guests/host_vars/libvirt-ubuntu-14/main.yml | 1 - guests/host_vars/libvirt-ubuntu-16/main.yml | 1 - guests/vars/mappings.yml | 41 ++++++++++++++++------------- guests/vars/projects/virt-manager.yml | 8 +++--- 6 files changed, 26 insertions(+), 27 deletions(-) diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index 30c826a..8338f99 100644 --- a/guests/host_vars/libvirt-centos-7/main.yml +++ b/guests/host_vars/libvirt-centos-7/main.yml @@ -13,5 +13,4 @@ projects: - libvirt-sandbox - osinfo-db - osinfo-db-tools - - virt-manager - virt-viewer diff --git a/guests/host_vars/libvirt-debian-8/main.yml b/guests/host_vars/libvirt-debian-8/main.yml index f097792..ecf9cd3 100644 --- a/guests/host_vars/libvirt-debian-8/main.yml +++ b/guests/host_vars/libvirt-debian-8/main.yml @@ -11,5 +11,4 @@ projects: - libvirt-python - libvirt-tck - osinfo-db-tools - - virt-manager - virt-viewer diff --git a/guests/host_vars/libvirt-ubuntu-14/main.yml b/guests/host_vars/libvirt-ubuntu-14/main.yml index 18b013d..c11dd5b 100644 --- a/guests/host_vars/libvirt-ubuntu-14/main.yml +++ b/guests/host_vars/libvirt-ubuntu-14/main.yml @@ -7,5 +7,4 @@ projects: - libvirt-python - libvirt-tck - osinfo-db-tools - - virt-manager - virt-viewer diff --git a/guests/host_vars/libvirt-ubuntu-16/main.yml b/guests/host_vars/libvirt-ubuntu-16/main.yml index 7baecf7..190f174 100644 --- a/guests/host_vars/libvirt-ubuntu-16/main.yml +++ b/guests/host_vars/libvirt-ubuntu-16/main.yml @@ -11,5 +11,4 @@ projects: - libvirt-sandbox - libvirt-tck - osinfo-db-tools - - virt-manager - virt-viewer diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 440123c..579deb4 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -555,21 +555,6 @@ mappings: pkg: python27 rpm: python2-devel - python2-gi: - deb: python-gi - pkg: py27-gobject3 - rpm: python-gobject - CentOS6: - - python2-ipaddr: - default: python-ipaddr - FreeBSD: py27-ipaddr - - python2-libxml2: - default: python-libxml2 - pkg: py27-libxml2 - CentOS: libxml2-python - python2-lxml: default: python-lxml Fedora: python2-lxml @@ -580,16 +565,28 @@ mappings: Fedora: python2-nose FreeBSD: py27-nose - python2-requests: - default: python-requests - Fedora: python2-requests - FreeBSD: py27-requests + python3: + default: python3 + CentOS: python3-devel: deb: python3-dev pkg: python36 Fedora: python3-devel + python3-gi: + deb: python3-gi + pkg: py36-gobject3 + rpm: python3-gobject + CentOS: + + python3-libxml2: + default: python3-libxml2 + FreeBSD: py36-libxml2 + CentOS: + Ubuntu: + Debian8: + python3-lxml: default: python3-lxml FreeBSD: py36-lxml @@ -600,6 +597,12 @@ mappings: FreeBSD: py36-nose CentOS: + python3-requests: + default: python3-requests + FreeBSD: py36-requests + CentOS: + Ubuntu12: + qemu-img: default: qemu-utils rpm: qemu-img diff --git a/guests/vars/projects/virt-manager.yml b/guests/vars/projects/virt-manager.yml index 474017f..e9e5324 100644 --- a/guests/vars/projects/virt-manager.yml +++ b/guests/vars/projects/virt-manager.yml @@ -1,8 +1,8 @@ --- packages: - intltool - - python2-gi - - python2-ipaddr - - python2-libxml2 - - python2-requests + - python3 + - python3-gi + - python3-libxml2 + - python3-requests - unzip -- 2.14.3
virt-manager is Python 3 only now, so using Python 2 to call its build script will not work. Moreover, since we build and test it against our local copy of libvirt-python, we need to make sure libvirt-python itself is built for Python 3. At the moment, we don't have support for building against several Python versions, so our only option is to switch from Python 2 to Python 3 entirely. We don't lose all build coverage for the Python 2 bits thanks to the fact that the libvirt-python-master-rpm job will still build both python2-libvirt and python3-libvirt, but we definitely want to come up with a better solution in the long run. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- guests/host_vars/libvirt-centos-6/main.yml | 1 - guests/host_vars/libvirt-centos-7/main.yml | 1 - jobs/python-distutils.yaml | 8 ++++---- projects/virt-manager.yaml | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/guests/host_vars/libvirt-centos-6/main.yml b/guests/host_vars/libvirt-centos-6/main.yml index d717ae7..c3651f3 100644 --- a/guests/host_vars/libvirt-centos-6/main.yml +++ b/guests/host_vars/libvirt-centos-6/main.yml @@ -5,4 +5,3 @@ projects: - libvirt - libvirt-cim - libvirt-perl - - libvirt-python diff --git a/guests/host_vars/libvirt-centos-7/main.yml b/guests/host_vars/libvirt-centos-7/main.yml index 8338f99..15812ae 100644 --- a/guests/host_vars/libvirt-centos-7/main.yml +++ b/guests/host_vars/libvirt-centos-7/main.yml @@ -9,7 +9,6 @@ projects: - libvirt-go - libvirt-go-xml - libvirt-perl - - libvirt-python - libvirt-sandbox - osinfo-db - osinfo-db-tools diff --git a/jobs/python-distutils.yaml b/jobs/python-distutils.yaml index 47b25f1..a6fd107 100644 --- a/jobs/python-distutils.yaml +++ b/jobs/python-distutils.yaml @@ -43,8 +43,8 @@ {global_env} {local_env} {command_pre_build} - python2 setup.py build - python2 setup.py install --prefix=$VIRT_PREFIX + python3 setup.py build + python3 setup.py install --prefix=$VIRT_PREFIX publishers: - email: recipients: '{obj:spam}' @@ -83,7 +83,7 @@ - shell: | {global_env} {local_env} - python2 setup.py test + python3 setup.py test publishers: - email: recipients: '{obj:spam}' @@ -122,7 +122,7 @@ {global_env} {local_env} sed -i -e 's/BuildRequires: libvirt.*devel.*//' *.spec.in - python2 setup.py rpm + python3 setup.py rpm publishers: - email: recipients: '{obj:spam}' diff --git a/projects/virt-manager.yaml b/projects/virt-manager.yaml index c1d198b..6a99a91 100644 --- a/projects/virt-manager.yaml +++ b/projects/virt-manager.yaml @@ -17,7 +17,7 @@ - 'libvirt-python-master-build' - 'libosinfo-master-build' command_pre_build: | - python2 setup.py configure --prefix=$VIRT_PREFIX + python3 setup.py configure --prefix=$VIRT_PREFIX - python-distutils-check-job: parent_jobs: 'virt-manager-master-build' - python-distutils-rpm-job: -- 2.14.3
participants (1)
-
Andrea Bolognani