diff --git a/0001-initrdinject-Use-full-option-versions-for-cpio.patch b/0001-initrdinject-Use-full-option-versions-for-cpio.patch new file mode 100644 index 0000000000000000000000000000000000000000..3ce130c64087d82c1eef934970cf5337a4208a31 --- /dev/null +++ b/0001-initrdinject-Use-full-option-versions-for-cpio.patch @@ -0,0 +1,25 @@ +From: Cole Robinson +Date: Tue, 2 Apr 2019 15:02:47 -0400 +Subject: [PATCH virt-manager] initrdinject: Use full option versions for cpio + +Makes it more self documenting IMO + +(cherry picked from commit 309840b9535b0e1965ed177b4558652faa256b36) +--- + virtinst/initrdinject.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/virtinst/initrdinject.py b/virtinst/initrdinject.py +index 78c18c28..9a09f20c 100644 +--- a/virtinst/initrdinject.py ++++ b/virtinst/initrdinject.py +@@ -30,7 +30,8 @@ def perform_initrd_injections(initrd, injections, scratchdir): + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + cwd=tempdir) +- cpio_proc = subprocess.Popen(['cpio', '-o', '--null', '-Hnewc', '--quiet'], ++ cpio_proc = subprocess.Popen(['cpio', '--create', '--null', '--quiet', ++ '--format=newc'], + stdin=find_proc.stdout, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, diff --git a/0002-initrdinject-Force-added-files-to-be-owned-as-root-b.patch b/0002-initrdinject-Force-added-files-to-be-owned-as-root-b.patch new file mode 100644 index 0000000000000000000000000000000000000000..881c1deea9dc2d6d1853119a33141fa23bca4698 --- /dev/null +++ b/0002-initrdinject-Force-added-files-to-be-owned-as-root-b.patch @@ -0,0 +1,33 @@ +From: Cole Robinson +Date: Wed, 3 Apr 2019 18:07:12 -0400 +Subject: [PATCH virt-manager] initrdinject: Force added files to be owned as + root (bz 1686464) + +systemd in fedora30 has some new security restriction about non-root +owned directories. Initrd inject would tickle this because the cpio +archive would cause the root dir in the initrd to be owned by the +uid that launched virt-install. + +Pass --owner=+0:+0 to cpio to force root ownership + +Suggested-by: James Szinger + +https://bugzilla.redhat.com/show_bug.cgi?id=1686464 +(cherry picked from commit c6b5f22fa61d87557b5fab23be080073d2f7906e) +--- + virtinst/initrdinject.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virtinst/initrdinject.py b/virtinst/initrdinject.py +index 9a09f20c..4032f9ba 100644 +--- a/virtinst/initrdinject.py ++++ b/virtinst/initrdinject.py +@@ -31,7 +31,7 @@ def perform_initrd_injections(initrd, injections, scratchdir): + stderr=subprocess.PIPE, + cwd=tempdir) + cpio_proc = subprocess.Popen(['cpio', '--create', '--null', '--quiet', +- '--format=newc'], ++ '--format=newc', '--owner=+0:+0'], + stdin=find_proc.stdout, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, diff --git a/virt-manager-2.1.0.tar.gz b/virt-manager-2.1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bd704809f80b0221f5bf6e6439d47f836dbadf55 Binary files /dev/null and b/virt-manager-2.1.0.tar.gz differ diff --git a/virt-manager.spec b/virt-manager.spec new file mode 100644 index 0000000000000000000000000000000000000000..b384b17c8f82ed11b0f33f2bf0a7a211d4e1b53c --- /dev/null +++ b/virt-manager.spec @@ -0,0 +1,85 @@ +%global __python %{__python3} +Name: virt-manager +Version: 2.1.0 +Release: 3 +Summary: The manage virtual machines tool which via libvirt. +License: GPLv2+ +BuildArch: noarch +URL: https://virt-manager.org/ +Source0: https://virt-manager.org/download/sources/virt-manager/virt-manager-%{version}.tar.gz +Patch0001: 0001-initrdinject-Use-full-option-versions-for-cpio.patch +Patch0002: 0002-initrdinject-Force-added-files-to-be-owned-as-root-b.patch +Requires: virt-manager-common = %{version}-%{release} python3-gobject gtk3 libvirt-glib >= 0.0.9 +Requires: gtk-vnc2 spice-gtk3 dconf vte291 +Recommends: (libvirt-daemon-kvm or libvirt-daemon-qemu) libvirt-daemon-config-network +BuildRequires: intltool /usr/bin/pod2man python3-devel + +%description +The virtual machine management tool uses libvirt as the management API and provides +graphical tools for managing KVM,Xen and LXC.Used to start, stop, add or delete +virtual devices, Connect to the console via graphics or serial to view and count the +resource usage and provide it to the virtual machine. + +%package common +Summary: Files used for Virtual Machine Manager interfaces +Requires: python3-argcomplete python3-libvirt python3-libxml2 python3-requests +Requires: libosinfo >= 0.2.10 python3-gobject-base genisoimage + +%description common +The files used by virt-manager interfaces, as virt-install related tools. + +%package -n virt-install +Summary: Utilities for installing virtual machines +Requires: virt-manager-common = %{version}-%{release} libvirt-client +Provides: virt-install virt-clone virt-convert virt-xml + +%description -n virt-install +Package provides several command line utilities, including virt-clone (clone an +existing virtual machine) and virt-install (build and install new VMs). + +%package help +Summary: Documentation for user of virt-manager. +Requires: virt-manager = %{version}-%{release} + +%description help +Documentation for user of virt-manager. + +%prep +%autosetup -n virt-manager-%{version} -p1 -S git + +%build +./setup.py configure --default-hvs "qemu,xen,lxc" + +%install +./setup.py --no-update-icon-cache --no-compile-schemas install -O1 --root=%{buildroot} +%find_lang virt-manager +for f in $(find %{buildroot} -type f -executable -print); do + sed -i "1 s|^#!/usr/bin/env python3|#!%{__python3}|" $f || : +done + +%files +%doc README.md COPYING NEWS.md +%{_bindir}/virt-manager +%{_datadir}/virt-manager/ui/*.ui +%{_datadir}/virt-manager/{virt-manager,virtManager,icons} +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/appdata/virt-manager.appdata.xml +%{_datadir}/applications/virt-manager.desktop +%{_datadir}/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml + +%files common -f virt-manager.lang +%dir %{_datadir}/virt-manager +%{_datadir}/virt-manager/{virtcli,virtconv,virtinst} + +%files -n virt-install +%{_datadir}/virt-manager/{virt-install,virt-clone,virt-convert,virt-xml} +%{_datadir}/bash-completion/completions/{virt-install,virt-clone,virt-convert,virt-xml} +%{_bindir}/{virt-install,virt-clone,virt-convert,virt-xml} + +%files help +%{_mandir}/man1/virt-manager.1* +%{_mandir}/man1/{virt-install.1*,virt-clone.1*,virt-convert.1*,virt-xml.1*} + +%changelog +* Wed Apr 22 2020 Jeffery.Gao - 2.1.0-3 +- Package init