mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
virt-manager: add package
virt-manager is a graphical tool for managing virtual machines via libvirt. By default, virt-manager is compiled with GUI dependency using `gui` flag. Build tested on aarch64 and x86-64 machines, with both with and without gui PACKAGECONFIG flag. Signed-off-by: Paul Le Guen de Kerneizon <paul.leguendekerneizon@savoirfairelinux.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
parent
8c18554d3e
commit
a7ca71f70b
|
@ -0,0 +1,76 @@
|
||||||
|
From bcdb3555b924573e85039b54d63d6173ad99b846 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Le Guen de Kerneizon <paul.leguendekerneizon@savoirfairelinux.com>
|
||||||
|
Date: Wed, 28 Feb 2024 10:24:00 +0100
|
||||||
|
Subject: [PATCH] setup.py: move global args to install args
|
||||||
|
|
||||||
|
Presently, during the installation process, global arguments such as
|
||||||
|
`no-update-icon-cache` and `no-compile-schemas` are utilized to
|
||||||
|
prevent the installation of specific graphical components. These
|
||||||
|
arguments are essential, for instance, when installing virt-manager
|
||||||
|
without any GUI dependencies on the target system. However, these
|
||||||
|
global arguments must be set before the install command, yet they only
|
||||||
|
take effect during the execution of the command.
|
||||||
|
|
||||||
|
Since the Yocto `setuptools3_legacy` class parses arguments after the
|
||||||
|
command, this commit aims to make these arguments applicable locally to
|
||||||
|
the install command.
|
||||||
|
|
||||||
|
Signed-off-by: Paul Le Guen de Kerneizon <paul.leguendekerneizon@savoirfairelinux.com>
|
||||||
|
---
|
||||||
|
setup.py | 20 ++++++++++++--------
|
||||||
|
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index cd6cd83e..faca546a 100755
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -242,6 +242,16 @@ class my_egg_info(setuptools.command.install_egg_info.install_egg_info):
|
||||||
|
|
||||||
|
|
||||||
|
class my_install(setuptools.command.install.install):
|
||||||
|
+ setuptools.command.install.install.user_options += [
|
||||||
|
+ ("no-update-icon-cache", None, "Don't run gtk-update-icon-cache"),
|
||||||
|
+ ("no-compile-schemas", None, "Don't compile gsettings schemas"),
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ def initialize_options(self):
|
||||||
|
+ setuptools.command.install.install.initialize_options(self)
|
||||||
|
+ self.no_update_icon_cache = None
|
||||||
|
+ self.no_compile_schemas = None
|
||||||
|
+
|
||||||
|
"""
|
||||||
|
Error if we weren't 'configure'd with the correct install prefix
|
||||||
|
"""
|
||||||
|
@@ -266,12 +276,12 @@ class my_install(setuptools.command.install.install):
|
||||||
|
def run(self):
|
||||||
|
setuptools.command.install.install.run(self)
|
||||||
|
|
||||||
|
- if not self.distribution.no_update_icon_cache:
|
||||||
|
+ if not self.no_update_icon_cache:
|
||||||
|
print("running gtk-update-icon-cache")
|
||||||
|
icon_path = os.path.join(self.install_data, "share/icons/hicolor")
|
||||||
|
self.spawn(["gtk-update-icon-cache", "-q", "-t", icon_path])
|
||||||
|
|
||||||
|
- if not self.distribution.no_compile_schemas:
|
||||||
|
+ if not self.no_compile_schemas:
|
||||||
|
print("compiling gsettings schemas")
|
||||||
|
gschema_install = os.path.join(self.install_data,
|
||||||
|
"share/glib-2.0/schemas")
|
||||||
|
@@ -421,14 +431,8 @@ class CheckPylint(setuptools.Command):
|
||||||
|
|
||||||
|
|
||||||
|
class VMMDistribution(setuptools.dist.Distribution):
|
||||||
|
- global_options = setuptools.dist.Distribution.global_options + [
|
||||||
|
- ("no-update-icon-cache", None, "Don't run gtk-update-icon-cache"),
|
||||||
|
- ("no-compile-schemas", None, "Don't compile gsettings schemas"),
|
||||||
|
- ]
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
- self.no_update_icon_cache = False
|
||||||
|
- self.no_compile_schemas = False
|
||||||
|
setuptools.dist.Distribution.__init__(self, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
54
recipes-extended/virt-manager/virt-manager_4.1.0.bb
Normal file
54
recipes-extended/virt-manager/virt-manager_4.1.0.bb
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
DESCRIPTION = "virt-manager is a graphical tool for managing virtual machines via libvirt"
|
||||||
|
HOMEPAGE = "https://virt-manager.org/"
|
||||||
|
LICENSE = "GPL-2.0-only"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
DEPENDS += "python3-docutils-native"
|
||||||
|
SRCREV = "6710ca6969b7d9c4e8344acd0fe3d50b24adc8ec"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/virt-manager/virt-manager;branch=main;protocol=https \
|
||||||
|
file://0001-setup.py-move-global-args-to-install-args.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= "gui"
|
||||||
|
PACKAGECONFIG[gui] = ",--no-update-icon-cache --no-compile-schemas,python3-pygobject"
|
||||||
|
|
||||||
|
inherit ${@bb.utils.contains('PACKAGECONFIG', 'gui', 'gtk-icon-cache', '', d)}
|
||||||
|
inherit bash-completion gettext pkgconfig setuptools3_legacy
|
||||||
|
|
||||||
|
PACKAGES += " \
|
||||||
|
${PN}-common \
|
||||||
|
${PN}-install \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS:${PN}-common += " \
|
||||||
|
libvirt-python \
|
||||||
|
libosinfo \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS:${PN} = "${PN}-common"
|
||||||
|
RDEPENDS:${PN}-install = "${PN}-common"
|
||||||
|
|
||||||
|
SETUPTOOLS_INSTALL_ARGS += "${PACKAGECONFIG_CONFARGS}"
|
||||||
|
|
||||||
|
FILES:${PN} = " \
|
||||||
|
${bindir}/virt-manager \
|
||||||
|
${datadir}/icons/* \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES:${PN}-common = " \
|
||||||
|
${libdir}/* \
|
||||||
|
${libdir}/python3.10/* \
|
||||||
|
${datadir}/applications \
|
||||||
|
${datadir}/virt-manager \
|
||||||
|
${datadir}/glib-2.0/* \
|
||||||
|
${datadir}/metainfo/* \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES:${PN}-install = " \
|
||||||
|
${bindir}/virt-clone \
|
||||||
|
${bindir}/virt-install \
|
||||||
|
${bindir}/virt-xml \
|
||||||
|
"
|
Loading…
Reference in New Issue
Block a user