Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/libguestfs.git#3ad6d7c006d4e91ae53b36d0c736d99778151254
This commit is contained in:
DistroBaker 2021-03-30 14:55:19 +00:00
parent 214ec76a02
commit 68dda0e02f
6 changed files with 358 additions and 442 deletions

View File

@ -0,0 +1,60 @@
From eb53d74ba2e5e9086a5ac8679d55e6a338397e07 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 23 Mar 2021 10:00:12 +0000
Subject: [PATCH 1/2] Don't include huge ChangeLog in the tarball.
Adds a few megabytes which people can easily get from the git
repository.
---
.gitignore | 1 -
Makefile.am | 9 +--------
2 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/.gitignore b/.gitignore
index 716a9b2cd..f6e7d18e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,7 +81,6 @@ Makefile.in
/build-aux/test-driver
/build-aux/ylwrap
/bundled/ocaml-augeas/.depend
-/ChangeLog
/compile
/config.cache
/config.guess
diff --git a/Makefile.am b/Makefile.am
index 9feac761b..743d2fbad 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -215,15 +215,13 @@ maintainer-upload-website:
# When doing 'make dist' update a few files automatically.
#
# BUGS - list of bugs (created from Bugzilla)
-# ChangeLog - changelog (created from git)
# docs/C_SOURCE_FILES
# - source files scanned for internal documentation
# po/POTFILES - files with ordinary extensions, but not OCaml files
# po/POTFILES-ml - OCaml files, which need a special tool to translate
-dist-hook: BUGS ChangeLog docs/C_SOURCE_FILES po/POTFILES po/POTFILES-ml
+dist-hook: BUGS docs/C_SOURCE_FILES po/POTFILES po/POTFILES-ml
cp BUGS $(distdir)/BUGS
- cp ChangeLog $(distdir)/ChangeLog
BUGS: configure.ac
rm -f $@ $@-t
@@ -231,11 +229,6 @@ BUGS: configure.ac
$(top_srcdir)/update-bugs.sh > $@-t
mv $@-t $@
-ChangeLog: configure.ac
- rm -f $@ $@-t
- git log --decorate=false > $@-t
- mv $@-t $@
-
# This has to be in the top-level Makefile.am so that we have access
# to DIST_SUBDIRS.
docs/C_SOURCE_FILES: configure.ac
--
2.29.0.rc2

View File

@ -0,0 +1,34 @@
From 7af98c099c181f0b378a8390fb72f424d4bc7a4a Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 25 Mar 2021 19:44:34 +0000
Subject: [PATCH] Revert "appliance: Use <cpu mode="maximum"/> for -cpu max on
libvirt."
This reverts commit 13ceb6a87b2869909a6a0e3c8caa962b72e4cb0e.
---
lib/launch-libvirt.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/launch-libvirt.c b/lib/launch-libvirt.c
index 194530c49..2d995bee0 100644
--- a/lib/launch-libvirt.c
+++ b/lib/launch-libvirt.c
@@ -1183,8 +1183,13 @@ construct_libvirt_xml_cpu (guestfs_h *g,
} end_element ();
}
else if (STREQ (cpu_model, "max")) {
- /* https://bugzilla.redhat.com/show_bug.cgi?id=1935572#c11 */
- attribute ("mode", "maximum");
+ if (params->data->is_kvm)
+ attribute ("mode", "host-passthrough");
+ else
+ attribute ("mode", "host-model");
+ start_element ("model") {
+ attribute ("fallback", "allow");
+ } end_element ();
}
else
single_element ("model", cpu_model);
--
2.29.0.rc2

View File

@ -1,80 +0,0 @@
From 282e2f74cf1209ecf6bb18655018b2000a5b36a1 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 28 Jan 2021 12:20:49 +0000
Subject: [PATCH] appliance: Use -cpu max.
QEMU has a newish feature (from about 2017 / qemu 2.9) called -cpu max
which is supposed to select the best CPU, ideal for libguestfs.
After this change, on x86-64:
KVM TCG
Direct -cpu max -cpu max
(non-libvirt)
Libvirt <cpu mode="host-passthrough"> <cpu mode="host-model">
<model fallback="allow"/> <model fallback="allow"/>
</cpu> </cpu>
---
lib/appliance-cpu.c | 16 ++++++++--------
lib/launch-libvirt.c | 9 +++++++++
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/lib/appliance-cpu.c b/lib/appliance-cpu.c
index 5ef9f5c72..54ac6e2e3 100644
--- a/lib/appliance-cpu.c
+++ b/lib/appliance-cpu.c
@@ -38,6 +38,11 @@
*
* The literal string C<"host"> means use C<-cpu host>.
*
+ * =item C<"max">
+ *
+ * The literal string C<"max"> means use C<-cpu max> (the best
+ * possible). This requires awkward translation for libvirt.
+ *
* =item some string
*
* Some string such as C<"cortex-a57"> means use C<-cpu cortex-a57>.
@@ -80,14 +85,9 @@ guestfs_int_get_cpu_model (int kvm)
/* See discussion in https://bugzilla.redhat.com/show_bug.cgi?id=1605071 */
return NULL;
#else
- /* On most architectures, it is faster to pass the CPU host model to
- * the appliance, allowing maximum speed for things like checksums
- * and encryption. Only do this with KVM. It is broken in subtle
- * ways on TCG, and fairly pointless when you're emulating anyway.
+ /* On most architectures we can use "max" to get the best possible CPU.
+ * For recent qemu this should work even on TCG.
*/
- if (kvm)
- return "host";
- else
- return NULL;
+ return "max";
#endif
}
diff --git a/lib/launch-libvirt.c b/lib/launch-libvirt.c
index 026dc6b26..eff1c8f7e 100644
--- a/lib/launch-libvirt.c
+++ b/lib/launch-libvirt.c
@@ -1169,6 +1169,15 @@ construct_libvirt_xml_cpu (guestfs_h *g,
attribute ("fallback", "allow");
} end_element ();
}
+ else if (STREQ (cpu_model, "max")) {
+ if (params->data->is_kvm)
+ attribute ("mode", "host-passthrough");
+ else
+ attribute ("mode", "host-model");
+ start_element ("model") {
+ attribute ("fallback", "allow");
+ } end_element ();
+ }
else
single_element ("model", cpu_model);
} end_element ();
--
2.29.0.rc2

View File

@ -0,0 +1,125 @@
From 4991fe525961450704bbc80b5f2095bc8499f767 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 23 Mar 2021 11:08:42 +0000
Subject: [PATCH 2/2] bash-completion: Remove completion scripts for tools.
These have moved to guestfs-tools.
Fixes: commit 733d2182b64df7abc5c5cd7d78177baa6079628c
---
.gitignore | 19 ----------
bash/Makefile.am | 43 +---------------------
bash/{virt-alignment-scan => guestunmount} | 0
3 files changed, 2 insertions(+), 60 deletions(-)
rename bash/{virt-alignment-scan => guestunmount} (100%)
diff --git a/.gitignore b/.gitignore
index f6e7d18e5..a37ab0593 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,29 +45,10 @@ Makefile.in
/appliance/supermin.d
/AUTHORS
/autom4te.cache
-/bash/guestunmount
-/bash/virt-builder
-/bash/virt-cat
/bash/virt-copy-in
/bash/virt-copy-out
-/bash/virt-customize
-/bash/virt-df
-/bash/virt-dib
-/bash/virt-diff
-/bash/virt-edit
-/bash/virt-filesystems
-/bash/virt-format
-/bash/virt-get-kernel
-/bash/virt-inspector
-/bash/virt-log
-/bash/virt-ls
-/bash/virt-resize
-/bash/virt-sysprep
-/bash/virt-sparsify
-/bash/virt-tail
/bash/virt-tar-in
/bash/virt-tar-out
-/bash/virt-win-reg
/build-aux/.gitignore
/build-aux/ar-lib
/build-aux/compile
diff --git a/bash/Makefile.am b/bash/Makefile.am
index 23933806e..86f38d4af 100644
--- a/bash/Makefile.am
+++ b/bash/Makefile.am
@@ -20,35 +20,16 @@ include $(top_srcdir)/subdir-rules.mk
scripts = \
guestfish \
guestmount \
+ guestunmount \
libguestfs-test-tool \
- virt-alignment-scan \
virt-rescue
# Some of the scripts are simply symbolic links.
symlinks = \
- guestunmount \
- virt-builder \
- virt-cat \
virt-copy-in \
virt-copy-out \
- virt-customize \
- virt-diff \
- virt-df \
- virt-dib \
- virt-edit \
- virt-filesystems \
- virt-format \
- virt-get-kernel \
- virt-inspector \
- virt-log \
- virt-ls \
- virt-resize \
- virt-sparsify \
- virt-sysprep \
- virt-tail \
virt-tar-in \
- virt-tar-out \
- virt-win-reg
+ virt-tar-out
# Note: Don't distribute the symbolic links, only the real files.
EXTRA_DIST = \
@@ -59,26 +40,6 @@ EXTRA_DIST = \
CLEANFILES += \
$(symlinks)
-# Any tool that has --short-options and --long-options only is handled
-# by this common script.
-virt-win-reg:
- rm -f $@
- $(LN_S) libguestfs-test-tool $@
-
-# Any tool that has --short-options and --long-options and a few
-# common options like -d is handled by this common script. However
-# this script cannot deal with commands that use --ro/--rw
-# (eg. virt-rescue), nor commands that have lots of exceptions
-# (eg. guestfish). Those tools have to be handled individually.
-guestunmount \
-virt-builder virt-cat virt-customize virt-df virt-dib virt-diff \
-virt-edit virt-filesystems virt-format virt-get-kernel virt-inspector \
-virt-log virt-ls \
-virt-resize virt-sparsify virt-sysprep \
-virt-tail:
- rm -f $@
- $(LN_S) virt-alignment-scan $@
-
# guestfish is handled specially.
virt-copy-in virt-copy-out virt-tar-in virt-tar-out:
rm -f $@
diff --git a/bash/virt-alignment-scan b/bash/guestunmount
similarity index 100%
rename from bash/virt-alignment-scan
rename to bash/guestunmount
--
2.29.0.rc2

View File

@ -44,7 +44,7 @@
%global patches_touch_autotools 1
# The source directory.
%global source_directory 1.44-stable
%global source_directory 1.45-development
# Filter perl provides.
%{?perl_default_filter}
@ -55,8 +55,8 @@
Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.44.0
Release: 5%{?dist}
Version: 1.45.2
Release: 2%{?dist}
License: LGPLv2+
# Build only for architectures that have a kernel
@ -86,14 +86,20 @@ Source7: libguestfs.keyring
# Maintainer script which helps with handling patches.
Source8: copy-patches.sh
# Upstream patch to use -cpu max.
Patch1: 0001-appliance-Use-cpu-max.patch
# Upstream patches since 1.45.2 was released fixing various build issues.
Patch1: 0001-Don-t-include-huge-ChangeLog-in-the-tarball.patch
Patch2: 0002-bash-completion-Remove-completion-scripts-for-tools.patch
# Non-upstream patch which reverts (temporarily) libvirt cpu maximum.
# This feature requires libvirt 7.1 which is not currently available
# in Fedora 34.
Patch3: 0001-Revert-appliance-Use-cpu-mode-maximum-for-cpu-max-on.patch
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool, gettext-devel
%endif
# Basic build requirements for the library and virt tools.
# Basic build requirements.
BuildRequires: gcc, gcc-c++
BuildRequires: make
BuildRequires: rpcgen
@ -114,7 +120,7 @@ BuildRequires: glibc-static
BuildRequires: libselinux-utils
BuildRequires: libselinux-devel
BuildRequires: fuse, fuse-devel
BuildRequires: pcre-devel
BuildRequires: pcre2-devel
BuildRequires: file-devel
BuildRequires: libvirt-devel
BuildRequires: gperf
@ -131,7 +137,8 @@ BuildRequires: unzip
BuildRequires: systemd-units
BuildRequires: netpbm-progs
BuildRequires: icoutils
BuildRequires: libvirt-daemon-kvm >= 5.3.0
#BuildRequires: libvirt-daemon-kvm >= 7.1.0
BuildRequires: libvirt-daemon-kvm
%if !0%{?rhel}
BuildRequires: perl(Expect)
%endif
@ -145,11 +152,8 @@ BuildRequires: systemd-devel
BuildRequires: bash-completion
BuildRequires: /usr/bin/ping
BuildRequires: /usr/bin/wget
BuildRequires: curl
BuildRequires: xz
BuildRequires: /usr/bin/qemu-img
BuildRequires: perl(Win::Hivex)
BuildRequires: perl(Win::Hivex::Regedit)
%if 0%{verify_tarball_signature}
BuildRequires: gnupg2
@ -160,13 +164,14 @@ BuildRequires: ocaml
BuildRequires: ocaml-ocamldoc
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-gettext-devel
%if !0%{?rhel}
BuildRequires: ocaml-ounit-devel
%endif
BuildRequires: lua
BuildRequires: lua-devel
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: perl-macros
BuildRequires: perl(Sys::Virt)
BuildRequires: perl(Test::More)
BuildRequires: perl(Test::Pod) >= 1.00
BuildRequires: perl(Test::Pod::Coverage) >= 1.00
@ -213,8 +218,8 @@ BuildRequires: bzip2
BuildRequires: coreutils
BuildRequires: cpio
BuildRequires: cryptsetup
BuildRequires: curl
%if !0%{?rhel}
BuildRequires: curl
BuildRequires: debootstrap
%endif
BuildRequires: dhclient
@ -239,12 +244,11 @@ BuildRequires: hfsplus-tools
BuildRequires: hivex
BuildRequires: iproute
BuildRequires: iputils
%if !0%{?rhel}
BuildRequires: jfsutils
%endif
BuildRequires: kernel
BuildRequires: kmod
%if !0%{?rhel}
BuildRequires: kpartx
%endif
BuildRequires: less
BuildRequires: libcap
%if !0%{?rhel}
@ -258,22 +262,16 @@ BuildRequires: lvm2
BuildRequires: lzop
BuildRequires: mdadm
%if !0%{?rhel}
BuildRequires: nilfs-utils
%endif
%if !0%{?rhel}
BuildRequires: ntfs-3g ntfsprogs ntfs-3g-system-compression
%endif
BuildRequires: openssh-clients
BuildRequires: parted
BuildRequires: pciutils
BuildRequires: pcre
BuildRequires: pcre2
BuildRequires: policycoreutils
BuildRequires: procps
BuildRequires: psmisc
BuildRequires: qemu-img
%if !0%{?rhel}
BuildRequires: reiserfs-utils
%endif
BuildRequires: rsync
BuildRequires: scrub
BuildRequires: sed
@ -290,7 +288,9 @@ BuildRequires: tar
BuildRequires: udev
BuildRequires: util-linux
BuildRequires: vim-minimal
%if !0%{?rhel}
BuildRequires: which
%endif
BuildRequires: xfsprogs
BuildRequires: xz
BuildRequires: yajl
@ -313,7 +313,7 @@ Requires: augeas-libs%{?_isa} >= 1.7.0
Requires: libacl%{?_isa}
Requires: libcap%{?_isa}
Requires: hivex%{?_isa} >= 1.3.10
Requires: pcre%{?_isa}
Requires: pcre2%{?_isa}
Requires: libselinux%{?_isa}
Requires: systemd-libs%{?_isa}
Requires: yajl%{?_isa}
@ -335,22 +335,22 @@ Suggests: qemu-block-iscsi
Suggests: qemu-block-rbd
Suggests: qemu-block-ssh
Recommends: libvirt-daemon-config-network
#Requires: libvirt-daemon-driver-qemu >= 7.1.0
Requires: libvirt-daemon-driver-qemu
Requires: libvirt-daemon-driver-secret
Recommends: libvirt-daemon-driver-storage-core
Requires: libvirt-daemon-kvm >= 5.3.0
Requires: selinux-policy >= 3.11.1-63
%ifarch aarch64
Requires: edk2-aarch64
%endif
# For UML backend (this backend only works on x86).
# UML has been broken upstream (in the kernel) for a while, so don't
# include this. Note that uml_utilities also depends on Perl.
#% ifarch % {ix86} x86_64
#Requires: uml_utilities
#% endif
# For guestfish.
#Requires: /usr/bin/emacs #theoretically, but too large
Requires: /usr/bin/hexedit
Requires: /usr/bin/less
Requires: /usr/bin/man
Requires: /usr/bin/vi
# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions
Provides: bundled(gnulib)
@ -364,29 +364,15 @@ Conflicts: libguestfs-winsupport < 7.2
%endif
%description
Libguestfs is a library for accessing and modifying virtual machine
disk images. http://libguestfs.org
It can be used to make batch configuration changes to guests, get disk
used/free statistics (virt-df), perform backups and guest clones,
change registry/UUID/hostname info, build guests from scratch
(virt-builder) and much more.
Libguestfs uses Linux kernel and qemu code, and can access any type of
guest filesystem that Linux and qemu can, including but not limited
to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
schemes, qcow, qcow2, vmdk.
Libguestfs is split into several subpackages. The basic subpackages are:
libguestfs C library
libguestfs-tools virt-* tools, guestfish and guestmount (FUSE)
libguestfs-tools-c only the subset of virt tools written in C
(for reduced dependencies)
virt-dib safe and secure diskimage-builder replacement
For enhanced features, install:
%if !0%{?rhel}
@ -395,11 +381,6 @@ For enhanced features, install:
libguestfs-hfsplus adds HFS+ (Mac filesystem) support
%endif
libguestfs-inspect-icons adds support for inspecting guest icons
%if !0%{?rhel}
libguestfs-jfs adds JFS support
libguestfs-nilfs adds NILFS v2 support
libguestfs-reiserfs adds ReiserFS support
%endif
libguestfs-rescue enhances virt-rescue shell with more tools
libguestfs-rsync rsync to/from guest filesystems
%if !0%{?rhel}
@ -438,9 +419,9 @@ Summary: Development tools and libraries for %{name}
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: pkgconfig
# For libguestfs-make-fixed-appliance.
# libguestfs-make-fixed-appliance requires guestfish.
Requires: xz
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
%description devel
@ -448,6 +429,17 @@ Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
for %{name}.
%if !0%{?rhel}
%package dib
Summary: Additional tools for virt-dib
License: LGPLv2+
%description dib
This adds extra packages needed by virt-dib to %{name}. You should
normally install the virt-dib package which depends on this one.
%endif
%if !0%{?rhel}
%package forensics
Summary: Filesystem forensics support for %{name}
@ -486,50 +478,14 @@ disk images containing HFS+ / Mac OS Extended filesystems.
%endif
%if !0%{?rhel}
%package jfs
Summary: JFS support for %{name}
License: LGPLv2+
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description jfs
This adds JFS support to %{name}. Install it if you want to process
disk images containing JFS.
%endif
%if !0%{?rhel}
%package nilfs
Summary: NILFS support for %{name}
License: LGPLv2+
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description nilfs
This adds NILFS v2 support to %{name}. Install it if you want to process
disk images containing NILFS v2.
%endif
%if !0%{?rhel}
%package reiserfs
Summary: ReiserFS support for %{name}
License: LGPLv2+
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description reiserfs
This adds ReiserFS support to %{name}. Install it if you want to process
disk images containing ReiserFS.
%endif
%package rescue
Summary: Additional tools for virt-rescue
Summary: virt-rescue shell
License: LGPLv2+
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
%description rescue
This adds additional tools to use inside the virt-rescue shell,
such as ssh, network utilities, editors and debugging utilities.
This adds the virt-rescue shell which is a "rescue disk" for virtual
machines, and additional tools to use inside the shell such as ssh,
network utilities, editors and debugging utilities.
%package rsync
@ -598,149 +554,10 @@ The only reason this is a separate package is to avoid core libguestfs
having to depend on Perl. See https://bugzilla.redhat.com/1194158
%package tools-c
Summary: System administration tools for virtual machines
License: GPLv2+
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
# For guestfish:
#Requires: /usr/bin/emacs #theoretically, but too large
Requires: /usr/bin/hexedit
Requires: /usr/bin/less
Requires: /usr/bin/man
Requires: /usr/bin/vi
# For virt-builder:
Requires: gnupg2
Requires: xz
#Requires: nbdkit, nbdkit-plugin-xz
Requires: curl
# For virt-builder-repository:
Suggests: osinfo-db
# Some Fedora, and all RHEL 7, use XFS:
Recommends: libguestfs-xfs
# For virt-edit and virt-customize:
Suggests: perl
%description tools-c
This package contains miscellaneous system administrator command line
tools for virtual machines.
Note that you should install %{name}-tools (which pulls in
this package). This package is only used directly when you want
to avoid dependencies on Perl.
%package tools
Summary: System administration tools for virtual machines
License: GPLv2+
BuildArch: noarch
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
%description tools
This package contains miscellaneous system administrator command line
tools for virtual machines.
Guestfish is the Filesystem Interactive SHell, for accessing and
modifying virtual machine disk images from the command line and shell
scripts.
The guestmount command lets you mount guest filesystems on the host
using FUSE and %{name}.
Virt-alignment-scan scans virtual machines looking for partition
alignment problems.
Virt-builder is a command line tool for rapidly making disk images
of popular free operating systems.
Virt-cat is a command line tool to display the contents of a file in a
virtual machine.
Virt-copy-in and virt-copy-out are command line tools for uploading
and downloading files and directories to and from virtual machines.
Virt-customize is a command line tool for customizing virtual machine
disk images.
Virt-df is a command line tool to display free space on virtual
machine filesystems. Unlike other tools, it doesnt just display the
amount of space allocated to a virtual machine, but can look inside
the virtual machine to see how much space is really being used. It is
like the df(1) command, but for virtual machines, except that it also
works for Windows virtual machines.
Virt-diff shows the differences between virtual machines.
Virt-edit is a command line tool to edit the contents of a file in a
virtual machine.
Virt-filesystems is a command line tool to display the filesystems,
partitions, block devices, LVs, VGs and PVs found in a disk image
or virtual machine. It replaces the deprecated programs
virt-list-filesystems and virt-list-partitions with a much more
capable tool.
Virt-format is a command line tool to erase and make blank disks.
Virt-get-kernel extracts a kernel/initrd from a disk image.
Virt-inspector examines a virtual machine and tries to determine the
version of the OS, the kernel version, what drivers are installed,
whether the virtual machine is fully virtualized (FV) or
para-virtualized (PV), what applications are installed and more.
Virt-log is a command line tool to display the log files from a
virtual machine.
Virt-ls is a command line tool to list out files in a virtual machine.
Virt-make-fs is a command line tool to build a filesystem out of
a collection of files or a tarball.
Virt-rescue provides a rescue shell for making interactive,
unstructured fixes to virtual machines.
Virt-resize can resize existing virtual machine disk images.
Virt-sparsify makes virtual machine disk images sparse (thin-provisioned).
Virt-sysprep lets you reset or unconfigure virtual machines in
preparation for cloning them.
Virt-tail follows (tails) a log file within a guest, like 'tail -f'.
Virt-tar-in and virt-tar-out are archive, backup and upload tools
for virtual machines. These replace the deprecated program virt-tar.
Virt-win-reg lets you look at and modify the Windows Registry of
Windows virtual machines.
%package -n virt-dib
Summary: Safe and secure diskimage-builder replacement
License: GPLv2+
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description -n virt-dib
Virt-dib is a safe and secure alternative to the OpenStack
diskimage-builder command. It is compatible with most
diskimage-builder elements.
%package bash-completion
Summary: Bash tab-completion scripts for %{name} tools
BuildArch: noarch
Requires: bash-completion >= 2.0
Requires: %{name}-tools-c = %{epoch}:%{version}-%{release}
%description bash-completion
@ -954,13 +771,8 @@ fi
--disable-erlang \
$extra
# Building index-parse.c by hand works around a race condition in the
# autotools cruft, where two or more copies of yacc race with each
# other, resulting in a corrupted file.
#
# 'INSTALLDIRS' ensures that Perl and Ruby libs are installed in the
# vendor dir not the site dir.
make -j1 -C builder index-parse.c
make V=1 INSTALLDIRS=vendor %{?_smp_mflags}
@ -979,11 +791,6 @@ fi
%install
# This file is creeping over 1 MB uncompressed, and since it is
# included in the -devel subpackage, compress it to reduce
# installation size.
gzip -9 ChangeLog
# 'INSTALLDIRS' ensures that Perl and Ruby libs are installed in the
# vendor dir not the site dir.
make DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor install
@ -1000,14 +807,6 @@ find $RPM_BUILD_ROOT -name .packlist -delete
find $RPM_BUILD_ROOT -name '*.bs' -delete
find $RPM_BUILD_ROOT -name 'bindtests.pl' -delete
# Remove obsolete binaries (RHBZ#1213298).
rm $RPM_BUILD_ROOT%{_bindir}/virt-list-filesystems
rm $RPM_BUILD_ROOT%{_bindir}/virt-list-partitions
rm $RPM_BUILD_ROOT%{_bindir}/virt-tar
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-list-filesystems.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-list-partitions.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-tar.1*
# golang: Ignore what libguestfs upstream installs, and just copy the
# source files to %%{_datadir}/gocode/src.
%ifarch %{golang_arches}
@ -1016,40 +815,47 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/gocode/src
cp -a golang/src/libguestfs.org $RPM_BUILD_ROOT%{_datadir}/gocode/src
%endif
# Move installed documentation back to the source directory so
# we can install it using a %%doc rule.
mv $RPM_BUILD_ROOT%{_docdir}/libguestfs installed-docs
gzip --best installed-docs/*.xml
# Split up the monolithic packages file in the supermin appliance so
# we can install dependencies in subpackages.
pushd $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d
function remove
{
grep -Ev "^$1$" < packages > packages-t
mv packages-t packages
}
function move_to
{
if ! grep -Esq "^$1$" packages; then
echo "move_to $1: package name not found in packages file"
exit 1
fi
grep -Ev "^$1$" < packages > packages-t
mv packages-t packages
remove "$1"
echo "$1" >> "$2"
}
move_to curl zz-packages-dib
%if !0%{?rhel}
move_to curl zz-packages-dib
move_to debootstrap zz-packages-dib
%endif
move_to kpartx zz-packages-dib
move_to qemu-img zz-packages-dib
move_to which zz-packages-dib
%else
remove curl
remove debootstrap
remove kpartx
remove qemu-img
remove which
%endif
%if !0%{?rhel}
move_to sleuthkit zz-packages-forensics
move_to gfs2-utils zz-packages-gfs2
move_to hfsplus-tools zz-packages-hfsplus
move_to jfsutils zz-packages-jfs
move_to nilfs-utils zz-packages-nilfs
move_to reiserfs-utils zz-packages-reiserfs
%else
remove sleuthkit
remove gfs2-utils
remove hfsplus-tools
%endif
move_to iputils zz-packages-rescue
move_to lsof zz-packages-rescue
@ -1063,6 +869,8 @@ move_to xfsprogs zz-packages-xfs
%ifnarch %{arm} aarch64 s390 s390x riscv64
move_to zfs-fuse zz-packages-zfs
%endif
%else
remove zfs-fuse
%endif
%if !0%{?rhel}
@ -1097,23 +905,39 @@ rm ocaml/html/.gitignore
%files -f %{name}.lang
%doc COPYING README
%{_bindir}/guestfish
%{_bindir}/guestmount
%{_bindir}/guestunmount
%{_bindir}/libguestfs-test-tool
%{_bindir}/virt-copy-in
%{_bindir}/virt-copy-out
%{_bindir}/virt-tar-in
%{_bindir}/virt-tar-out
%{_libdir}/guestfs/
%exclude %{_libdir}/guestfs/supermin.d/zz-packages-*
%{_libdir}/libguestfs.so.*
%{_mandir}/man1/guestfish.1*
%{_mandir}/man1/guestfs-faq.1*
%{_mandir}/man1/guestfs-performance.1*
%{_mandir}/man1/guestfs-recipes.1*
%{_mandir}/man1/guestfs-release-notes-1*.1*
%{_mandir}/man1/guestfs-release-notes-historical.1*
%{_mandir}/man1/guestfs-security.1*
%{_mandir}/man1/guestmount.1*
%{_mandir}/man1/guestunmount.1*
%{_mandir}/man1/libguestfs-test-tool.1*
%{_mandir}/man1/virt-copy-in.1*
%{_mandir}/man1/virt-copy-out.1*
%{_mandir}/man1/virt-tar-in.1*
%{_mandir}/man1/virt-tar-out.1*
%{_mandir}/man5/libguestfs-tools.conf.5*
%config %{_sysconfdir}/profile.d/guestfish.sh
%config(noreplace) %{_sysconfdir}/libguestfs-tools.conf
%files devel
%doc AUTHORS BUGS ChangeLog.gz HACKING TODO README
%doc AUTHORS BUGS HACKING TODO README
%doc examples/*.c
%doc installed-docs/*
%{_libdir}/libguestfs.so
%{_sbindir}/libguestfs-make-fixed-appliance
%{_mandir}/man1/guestfs-building.1*
@ -1128,6 +952,11 @@ rm ocaml/html/.gitignore
%{_libdir}/pkgconfig/libguestfs.pc
%if !0%{?rhel}
%files dib
%{_libdir}/guestfs/supermin.d/zz-packages-dib
%endif
%if !0%{?rhel}
%files forensics
%{_libdir}/guestfs/supermin.d/zz-packages-forensics
@ -1145,26 +974,13 @@ rm ocaml/html/.gitignore
%endif
%endif
%if !0%{?rhel}
%files jfs
%{_libdir}/guestfs/supermin.d/zz-packages-jfs
%endif
%if !0%{?rhel}
%files nilfs
%{_libdir}/guestfs/supermin.d/zz-packages-nilfs
%endif
%if !0%{?rhel}
%files reiserfs
%{_libdir}/guestfs/supermin.d/zz-packages-reiserfs
%endif
%files rsync
%{_libdir}/guestfs/supermin.d/zz-packages-rsync
%files rescue
%{_libdir}/guestfs/supermin.d/zz-packages-rescue
%{_bindir}/virt-rescue
%{_mandir}/man1/virt-rescue.1*
%if !0%{?rhel}
%files ufs
@ -1186,93 +1002,17 @@ rm ocaml/html/.gitignore
# no files
%files tools-c
%doc README
%config(noreplace) %{_sysconfdir}/libguestfs-tools.conf
%{_sysconfdir}/virt-builder
%dir %{_sysconfdir}/xdg/virt-builder
%dir %{_sysconfdir}/xdg/virt-builder/repos.d
%config %{_sysconfdir}/xdg/virt-builder/repos.d/*
%config %{_sysconfdir}/profile.d/guestfish.sh
%{_mandir}/man5/libguestfs-tools.conf.5*
%{_bindir}/guestfish
%{_mandir}/man1/guestfish.1*
%{_bindir}/guestmount
%{_mandir}/man1/guestmount.1*
%{_bindir}/guestunmount
%{_mandir}/man1/guestunmount.1*
%{_bindir}/virt-alignment-scan
%{_mandir}/man1/virt-alignment-scan.1*
%{_bindir}/virt-builder
%{_mandir}/man1/virt-builder.1*
%{_bindir}/virt-builder-repository
%{_mandir}/man1/virt-builder-repository.1*
%{_bindir}/virt-cat
%{_mandir}/man1/virt-cat.1*
%{_bindir}/virt-copy-in
%{_mandir}/man1/virt-copy-in.1*
%{_bindir}/virt-copy-out
%{_mandir}/man1/virt-copy-out.1*
%{_bindir}/virt-customize
%{_mandir}/man1/virt-customize.1*
%{_bindir}/virt-df
%{_mandir}/man1/virt-df.1*
%{_bindir}/virt-diff
%{_mandir}/man1/virt-diff.1*
%{_bindir}/virt-edit
%{_mandir}/man1/virt-edit.1*
%{_bindir}/virt-filesystems
%{_mandir}/man1/virt-filesystems.1*
%{_bindir}/virt-format
%{_mandir}/man1/virt-format.1*
%{_bindir}/virt-get-kernel
%{_mandir}/man1/virt-get-kernel.1*
%{_bindir}/virt-index-validate
%{_mandir}/man1/virt-index-validate.1*
%{_bindir}/virt-inspector
%{_mandir}/man1/virt-inspector.1*
%{_bindir}/virt-log
%{_mandir}/man1/virt-log.1*
%{_bindir}/virt-ls
%{_mandir}/man1/virt-ls.1*
%{_bindir}/virt-make-fs
%{_mandir}/man1/virt-make-fs.1*
%{_bindir}/virt-rescue
%{_mandir}/man1/virt-rescue.1*
%{_bindir}/virt-resize
%{_mandir}/man1/virt-resize.1*
%{_bindir}/virt-sparsify
%{_mandir}/man1/virt-sparsify.1*
%{_bindir}/virt-sysprep
%{_mandir}/man1/virt-sysprep.1*
%{_bindir}/virt-tail
%{_mandir}/man1/virt-tail.1*
%{_bindir}/virt-tar-in
%{_mandir}/man1/virt-tar-in.1*
%{_bindir}/virt-tar-out
%{_mandir}/man1/virt-tar-out.1*
%files tools
%doc README
%{_bindir}/virt-win-reg
%{_mandir}/man1/virt-win-reg.1*
%files -n virt-dib
%doc COPYING README
%{_bindir}/virt-dib
%{_mandir}/man1/virt-dib.1*
%{_libdir}/guestfs/supermin.d/zz-packages-dib
%files bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/guestfish
%{_datadir}/bash-completion/completions/guestmount
%{_datadir}/bash-completion/completions/guestunmount
%{_datadir}/bash-completion/completions/libguestfs-test-tool
%{_datadir}/bash-completion/completions/virt-*
%{_datadir}/bash-completion/completions/virt-copy-in
%{_datadir}/bash-completion/completions/virt-copy-out
%{_datadir}/bash-completion/completions/virt-rescue
%{_datadir}/bash-completion/completions/virt-tar-in
%{_datadir}/bash-completion/completions/virt-tar-out
%files -n ocaml-%{name}
@ -1377,6 +1117,44 @@ rm ocaml/html/.gitignore
%changelog
* Fri Mar 26 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.2-2
- Remove no longer needed requires on libguestfs-tools-c.
* Tue Mar 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.2-1
- New upstream version 1.45.2.
- This drops the tools. Now packaged as guestfs-tools.
- guestfish, guestmount, guestunmount now packaged with libguestfs.
- virt-rescue now packaged in libguestfs-rescue.
- Drop ChangeLog file.
- Remove virt-dib in RHEL 9.
- Depend on PCRE2 instead of PCRE.
* Thu Mar 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-6
- Drop dependency on perl(Sys::Virt).
- Fix -cpu max and require libvirt >= 7.1.0.
* Wed Mar 10 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-4
- Drop Requires: libvirt-daemon-kvm, pulls in the whole of qemu and subpkgs.
* Mon Mar 8 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-3
- Bump and rebuild for ocaml-gettext update.
* Fri Mar 5 2021 Remi Collet <remi@fedoraproject.org> - 1:1.45.1-2
- rebuild for https://fedoraproject.org/wiki/Changes/php80
- add trivial patch to fix build with PHP 8
* Wed Mar 3 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-1
- New upstream version 1.45.1.
* Tue Mar 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-8
- OCaml 4.12.0 build
- Fixes for OCaml 4.12.
* Wed Feb 17 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-6
- Remove jfsutils (dead upstream since 2011).
- Remove nilfs (dead upstream since 2015).
- Remove reiserfs (dead upstream since 2006).
* Tue Feb 09 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-5
- Remove gfs2-utils dependency in RHEL 9.
@ -2166,7 +1944,6 @@ rm ocaml/html/.gitignore
* Thu Jul 09 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.29.50-1
- New upstream version 1.29.50.
- Add virt-dib.
* Thu Jul 02 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.29.49-1

View File

@ -1,2 +1,2 @@
SHA512 (libguestfs-1.44.0.tar.gz) = e5052d6deb130f9bceea06d2d6626162991cb83ffaf0ed9923ff5d8bb67137e565053104d8854d37ea8c871dce2a5ca29507d17357de813a8ac49896f00be103
SHA512 (libguestfs-1.44.0.tar.gz.sig) = 26cb5b97dbc0d649466668964080220acc28c3fabc565563df0da5472420e61893907b4bedcb9f8977d7df9e867855d7178e4ad097df41dcbcaa98d0c07feac3
SHA512 (libguestfs-1.45.2.tar.gz) = ff8a9ad7f420e2e10e0b91258d2cd12b3f00bdceed1c71b0d0b8f55b2275ce0e60c123066d66669a041400327abed6ddea7d8b0930c33f916e76a6ffe6ada8be
SHA512 (libguestfs-1.45.2.tar.gz.sig) = e4e6d58f241073338f2ae810e4eb2c7747b8889914fde3d1e67ddb447e164955a62afc1f1b7d9fba7fa208d87980ebbe81ea4fd1610db3bc3b47a09ef2dab512