forked from seapath/meta-seapath
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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. This commit was cherry-picked from meta-virtualization layer commit a7ca71f70b39cd44fe6719af6cf0cc624d4c6743. Signed-off-by: Paul Le Guen de Kerneizon <[email protected]> Signed-off-by: Bruce Ashfield <[email protected]> Signed-off-by: Mathieu Dupré <[email protected]>
- Loading branch information
1 parent
39dd112
commit eab285d
Showing
2 changed files
with
133 additions
and
0 deletions.
There are no files selected for viewing
76 changes: 76 additions & 0 deletions
76
...s-extended/virt-manager/virt-manager/0001-setup.py-move-global-args-to-install-args.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
From bcdb3555b924573e85039b54d63d6173ad99b846 Mon Sep 17 00:00:00 2001 | ||
From: Paul Le Guen de Kerneizon <[email protected]> | ||
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 <[email protected]> | ||
--- | ||
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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# Imported from meta-virtualization a7ca71f70b39cd44fe6719af6cf0cc624d4c6743 | ||
|
||
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 \ | ||
" |