summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--0001-Update-common-submodule.patch26
-rw-r--r--0002-builder-Add-a-test-of-the-chown-parameter.patch63
-rw-r--r--0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch24
-rw-r--r--0004-RHEL-builder-Disable-opensuse-repository.patch26
-rwxr-xr-xcopy-patches.sh65
-rw-r--r--guestfs-tools-1.51.6.tar.gz.sig17
-rw-r--r--guestfs-tools.spec507
-rw-r--r--sources2
9 files changed, 732 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0193e24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/guestfs-tools-1.51.6.tar.gz
+/libguestfs.keyring
diff --git a/0001-Update-common-submodule.patch b/0001-Update-common-submodule.patch
new file mode 100644
index 0000000..1970bb1
--- /dev/null
+++ b/0001-Update-common-submodule.patch
@@ -0,0 +1,26 @@
+From 28ecb8693bbded3e1c70c1baa57f3498a6b8127e Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Sat, 9 Dec 2023 12:59:13 +0000
+Subject: [PATCH] Update common submodule
+
+Pick up this bug fix:
+
+ mltools/libosinfo-c.c: Fix off-by-one error
+---
+ common | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Submodule common cd29aee91..0dba002c2:
+diff --git a/common/mltools/libosinfo-c.c b/common/mltools/libosinfo-c.c
+index 93357fd91..a48c8989f 100644
+--- a/common/mltools/libosinfo-c.c
++++ b/common/mltools/libosinfo-c.c
+@@ -296,7 +296,7 @@ v2v_osinfo_os_get_device_drivers (value osv)
+
+ driver = OSINFO_DEVICE_DRIVER(osinfo_list_get_nth (OSINFO_LIST(list), i));
+
+- vi = caml_alloc (6, 0);
++ vi = caml_alloc (7, 0);
+ str = osinfo_device_driver_get_architecture (driver);
+ copyv = caml_copy_string (str);
+ Store_field (vi, 0, copyv);
diff --git a/0002-builder-Add-a-test-of-the-chown-parameter.patch b/0002-builder-Add-a-test-of-the-chown-parameter.patch
new file mode 100644
index 0000000..751ebec
--- /dev/null
+++ b/0002-builder-Add-a-test-of-the-chown-parameter.patch
@@ -0,0 +1,63 @@
+From 5f9beb89443f84640efc52ee6cd68f7f880fb66b Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Fri, 19 Jan 2024 13:22:51 +0000
+Subject: [PATCH] builder: Add a test of the --chown parameter
+
+Also update the libguestfs common submodule, pulling in this change
+from libguestfs:
+
+ generator/customize.ml: Split --chown parameter on ':' character
+
+and this patch to common/mltools:
+
+ mltools/libosinfo-c.c: Fix off-by-one error
+
+(cherry picked from commit 299dc5ec2a0bdd9adecef75adc6a5eca0dc685b1)
+---
+ builder/test-virt-builder.sh | 4 ++++
+ common | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/builder/test-virt-builder.sh b/builder/test-virt-builder.sh
+index 705788a3c..f839fd7af 100755
+--- a/builder/test-virt-builder.sh
++++ b/builder/test-virt-builder.sh
+@@ -69,6 +69,7 @@ virt-builder phony-fedora \
+ --write '/etc/append6:
+ ' \
+ --append-line '/etc/append6:line2' \
++ --chown 1:1:/etc/append6 \
+ --firstboot Makefile --firstboot-command 'echo "hello"' \
+ --firstboot-install "minicom,inkscape"
+
+@@ -112,6 +113,7 @@ echo append5:
+ cat /etc/append5
+ echo append6:
+ cat /etc/append6
++stat /etc/append6 | grep '^[ug]id:'
+
+ echo -----
+ EOF
+@@ -154,6 +156,8 @@ append6:
+
+ line2
+
++uid: 1
++gid: 1
+ -----" ]; then
+ echo "$0: unexpected output:"
+ cat test-virt-builder.out
+Submodule common 0dba002c2..54869c987:
+diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml
+index 245d9960a..48ee33445 100644
+--- a/common/mlcustomize/customize_cmdline.ml
++++ b/common/mlcustomize/customize_cmdline.ml
+@@ -157,7 +157,7 @@ let rec argspec () =
+ let len = String.length arg in
+ String.sub arg 0 i, String.sub arg (i+1) (len-(i+1))
+ and split_string_triplet option_name arg =
+- match String.nsplit ~max:3 "," arg with
++ match String.nsplit ~max:3 ":" arg with
+ | [a; b; c] -> a, b, c
+ | _ ->
+ error (f_"invalid format for '--%s' parameter, see the man page")
diff --git a/0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch b/0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
new file mode 100644
index 0000000..dc5d573
--- /dev/null
+++ b/0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
@@ -0,0 +1,24 @@
+From b5fdf9eac368a1c5df4ddd93ce40884924e6092a Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Tue, 7 Jul 2015 09:28:03 -0400
+Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for
+ virt-* tools (RHBZ#1240276).
+
+Fix the tests: it doesn't let us use guestfish for arbitrary Windows
+edits.
+---
+ test-data/phony-guests/make-windows-img.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh
+index 16debd129..1c13ddac3 100755
+--- a/test-data/phony-guests/make-windows-img.sh
++++ b/test-data/phony-guests/make-windows-img.sh
+@@ -37,6 +37,7 @@ fi
+
+ # Create a disk image.
+ guestfish <<EOF
++set-program virt-testing
+ sparse windows.img-t 512M
+ run
+
diff --git a/0004-RHEL-builder-Disable-opensuse-repository.patch b/0004-RHEL-builder-Disable-opensuse-repository.patch
new file mode 100644
index 0000000..a80dcfb
--- /dev/null
+++ b/0004-RHEL-builder-Disable-opensuse-repository.patch
@@ -0,0 +1,26 @@
+From 511de43cdca80381d52360e050bf57f7079f46d6 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Mon, 21 Nov 2022 13:03:22 +0000
+Subject: [PATCH] RHEL: builder: Disable opensuse repository
+
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2145160
+(cherry picked from commit 8e0e91c923bd7076fd906a71678ddd3f328ae2c0)
+---
+ builder/opensuse.conf.in | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/builder/opensuse.conf.in b/builder/opensuse.conf.in
+index 19f979699..a57fc6977 100644
+--- a/builder/opensuse.conf.in
++++ b/builder/opensuse.conf.in
+@@ -1,3 +1,7 @@
+-[opensuse.org]
+-uri=http://download.opensuse.org/repositories/Virtualization:/virt-builder-images/images/index
+-gpgkey=file://@SYSCONFDIR@/virt-builder/repos.d/opensuse.gpg
++# https://bugzilla.redhat.com/show_bug.cgi?id=2145160
++# This is disabled in RHEL by default, but you can enable it by
++# uncommenting the lines below.
++
++#[opensuse.org]
++#uri=http://download.opensuse.org/repositories/Virtualization:/virt-builder-images/images/index
++#gpgkey=file://@SYSCONFDIR@/virt-builder/repos.d/opensuse.gpg
diff --git a/copy-patches.sh b/copy-patches.sh
new file mode 100755
index 0000000..b40867c
--- /dev/null
+++ b/copy-patches.sh
@@ -0,0 +1,65 @@
+#!/bin/bash -
+
+set -e
+
+# Maintainer script to copy patches from the git repo to the current
+# directory. Use it like this:
+# ./copy-patches.sh
+
+project=guestfs-tools
+rhel_version=9.4
+
+# Check we're in the right directory.
+if [ ! -f $project.spec ]; then
+ echo "$0: run this from the directory containing '$project.spec'"
+ exit 1
+fi
+
+case `id -un` in
+ rjones) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
+ lacos) git_checkout=$HOME/src/v2v/$project ;;
+ *) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
+esac
+if [ ! -d $git_checkout ]; then
+ echo "$0: $git_checkout does not exist"
+ echo "This script is only for use by the maintainer when preparing a"
+ echo "$project release on RHEL."
+ exit 1
+fi
+
+# Get the base version of the project.
+version=`grep '^Version:' $project.spec | awk '{print $2}'`
+tag="v$version"
+
+# Remove any existing patches.
+git rm -f [0-9]*.patch ||:
+rm -f [0-9]*.patch
+
+# Get the patches.
+(
+ cd $git_checkout
+ rm -f [0-9]*.patch
+ git -c core.abbrev=9 format-patch -O/dev/null --subject-prefix=PATCH -N \
+ --submodule=diff --no-signature --patience $tag
+)
+mv $git_checkout/[0-9]*.patch .
+
+# Remove any not to be applied.
+rm -f *NOT-FOR-RPM*.patch
+
+# Add the patches.
+git add [0-9]*.patch
+
+# Print out the patch lines.
+echo
+echo "--- Copy the following text into $project.spec file"
+echo
+
+echo "# Patches."
+for f in [0-9]*.patch; do
+ n=`echo $f | awk -F- '{print $1}'`
+ echo "Patch$n: $f"
+done
+
+echo
+echo "--- End of text"
diff --git a/guestfs-tools-1.51.6.tar.gz.sig b/guestfs-tools-1.51.6.tar.gz.sig
new file mode 100644
index 0000000..0859703
--- /dev/null
+++ b/guestfs-tools-1.51.6.tar.gz.sig
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmV0UtkRHHJpY2hAYW5u
+ZXhpYS5vcmcACgkQkXOPc+G3aKArQQ/8DR2NMjDy8zyXfLSAoSPcChx+wS36RRhj
+rYGSNzD2aNhMzB+WGZHomiW4ahLqj7OAuXQlmpUMjLVsAfyja8aNW7rsnfTM1l5u
+p6GS3DFTk34XgVrZO01pEBLWk9blr+xhAFP+qNIwWKv76+xO0QjNa0D5gJvBojZf
+J3ct9l1ibKqDh4eG9ReSSUh76WOxm97JwP80ZRBKCpcNJe+fceJGHdBhl5UJFw/N
+lAKY+d7MESk9aKZCNy6BRrls6IeIlsOBB8HbG5mXqMv4IfwarB91zZTG9NJRpmSN
+MzZ/GIwSCJy9U9hmG3dA/70xFu3HQkshaCisXb4FrzCnlTHZFNCvwdhY2k3qIzZr
+PuvsA3ETQqYUj66AlOOD/3TqAu36kFEeeateH75cIiOYfkUUmrO7FF76hY2jNs+q
+puTm14dg/MA0OROQv5ykcuN2ukvfsyEsCFao+76am5MG8CViy1tSnL/ZSBN0itLl
+jalFbag3GbDCwVt+lpPQbrLDTWNVabAEeN9LlMMcsciIGWDiz99Ntmwe1yxwLLl3
+kk8f9xFiWXU7C0yrPY4HzPGNjzklsaNlpzVnqgkWpR1gzpLr37HWx0E1Ct6OlJBJ
+7vllv9L9bZErUwyvlSuGcY/6rHd+KnWSS0IBvEfE/eveQErzwgiuGiBUnvGB6NUT
+l868E59pb84=
+=cEbV
+-----END PGP SIGNATURE-----
diff --git a/guestfs-tools.spec b/guestfs-tools.spec
new file mode 100644
index 0000000..6a5f7a2
--- /dev/null
+++ b/guestfs-tools.spec
@@ -0,0 +1,507 @@
+# Architectures that we run the test suite on.
+#
+# As the test suite takes a very long time to run and is somewhat
+# unreliable on !x86 architectures, only run it on x86-64.
+%global test_arches x86_64
+
+# Verify tarball signature with GPGv2.
+%global verify_tarball_signature 1
+
+# If there are patches which touch autotools files, set this to 1.
+%global patches_touch_autotools 1
+
+# The source directory.
+%global source_directory 1.51-development
+
+# Filter perl provides.
+%{?perl_default_filter}
+
+Summary: Tools to access and modify virtual machine disk images
+Name: guestfs-tools
+Version: 1.51.6
+Release: 2%{?dist}
+License: GPL-2.0-or-later AND LGPL-2.0-or-later
+
+# Build only for architectures that have a kernel
+ExclusiveArch: %{kernel_arches}
+%if 0%{?rhel}
+# No qemu-kvm on POWER (RHBZ#1946532).
+ExcludeArch: %{power64}
+%endif
+
+# Source and patches.
+URL: http://libguestfs.org/
+Source0: http://download.libguestfs.org/guestfs-tools/%{source_directory}/%{name}-%{version}.tar.gz
+%if 0%{verify_tarball_signature}
+Source1: http://download.libguestfs.org/guestfs-tools/%{source_directory}/%{name}-%{version}.tar.gz.sig
+%endif
+
+# Keyring used to verify tarball signature.
+%if 0%{verify_tarball_signature}
+Source2: libguestfs.keyring
+%endif
+
+# Maintainer script which helps with handling patches.
+Source3: copy-patches.sh
+
+# Patches are maintained in the following repository:
+# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.4
+
+# Patches.
+Patch0001: 0001-Update-common-submodule.patch
+Patch0002: 0002-builder-Add-a-test-of-the-chown-parameter.patch
+Patch0003: 0003-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch
+Patch0004: 0004-RHEL-builder-Disable-opensuse-repository.patch
+
+%if 0%{patches_touch_autotools}
+BuildRequires: autoconf, automake, libtool, gettext-devel
+%endif
+
+# Basic build requirements.
+BuildRequires: gcc, gcc-c++
+BuildRequires: make
+BuildRequires: libguestfs-devel >= 1:1.49.8-1
+BuildRequires: libguestfs-xfs
+BuildRequires: perl(Pod::Simple)
+BuildRequires: perl(Pod::Man)
+BuildRequires: perl(Module::Build)
+BuildRequires: perl(Test::More)
+BuildRequires: /usr/bin/pod2text
+BuildRequires: po4a
+BuildRequires: pcre2-devel
+BuildRequires: libxml2-devel
+BuildRequires: jansson-devel
+BuildRequires: libvirt-devel
+BuildRequires: libosinfo-devel
+BuildRequires: libxcrypt-devel
+BuildRequires: ncurses-devel
+%ifarch x86_64
+BuildRequires: glibc-static
+%endif
+BuildRequires: ocaml-libguestfs-devel
+BuildRequires: ocaml-findlib-devel
+BuildRequires: ocaml-gettext-devel
+%if !0%{?rhel}
+BuildRequires: ocaml-ounit-devel
+%endif
+BuildRequires: flex
+BuildRequires: bison
+BuildRequires: xz-devel
+%if !0%{?rhel}
+BuildRequires: zip
+BuildRequires: unzip
+%endif
+%if !0%{?rhel}
+BuildRequires: perl(Expect)
+%endif
+BuildRequires: bash-completion
+BuildRequires: /usr/bin/qemu-img
+BuildRequires: xorriso
+BuildRequires: hwdata-devel
+BuildRequires: perl(Locale::TextDomain)
+BuildRequires: perl(Sys::Guestfs)
+BuildRequires: perl(Win::Hivex)
+BuildRequires: perl(Win::Hivex::Regedit)
+BuildRequires: perl-generators
+
+%if 0%{verify_tarball_signature}
+BuildRequires: gnupg2
+%endif
+
+# Ensure a minimum version of libguestfs is installed. This contains
+# a workaround for openssl bug RHBZ#2133884 and the hang where we
+# called setenv between fork and exec.
+Requires: libguestfs >= 1.49.6-1
+
+# For virt-builder:
+Requires: curl
+Requires: gnupg2
+Requires: /usr/bin/qemu-img
+Requires: xz
+
+# For virt-builder-repository:
+Suggests: osinfo-db
+
+# For virt-drivers:
+Recommends: hwdata
+
+# For virt-inspector, since Fedora and RHEL >= 7 use XFS:
+Recommends: libguestfs-xfs
+
+# For virt-edit and virt-customize:
+Suggests: perl
+
+# This replaces the libguestfs-tools-c package.
+Provides: libguestfs-tools-c = 1:%{version}-%{release}
+Obsoletes: libguestfs-tools-c <= 1:1.45.2-1
+
+
+%description
+guestfs-tools is a set of tools that 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.
+
+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-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 doesn’t 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-drivers detects the bootloader, kernel and drivers inside a guest.
+
+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-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'.
+
+
+%package -n virt-win-reg
+Summary: Access and modify the Windows Registry of a Windows VM
+License: GPL-2.0-or-later
+BuildArch: noarch
+
+# This replaces the libguestfs-tools package.
+Provides: libguestfs-tools = 1:%{version}-%{release}
+Obsoletes: libguestfs-tools <= 1:1.45.2-1
+
+
+%description -n virt-win-reg
+Virt-win-reg lets you look at and modify the Windows Registry of
+Windows virtual machines.
+
+
+%package bash-completion
+Summary: Bash tab-completion scripts for %{name}
+BuildArch: noarch
+Requires: bash-completion >= 2.0
+Requires: %{name} = %{version}-%{release}
+
+
+%description bash-completion
+Install this package if you want intelligent bash tab-completion
+for the virt-* tools.
+
+
+%package man-pages-ja
+Summary: Japanese (ja) man pages for %{name}
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description man-pages-ja
+%{name}-man-pages-ja contains Japanese (ja) man pages
+for %{name}.
+
+
+%package man-pages-uk
+Summary: Ukrainian (uk) man pages for %{name}
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description man-pages-uk
+%{name}-man-pages-uk contains Ukrainian (uk) man pages
+for %{name}.
+
+
+%prep
+%if 0%{verify_tarball_signature}
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%endif
+%setup -q
+%autopatch -p1
+
+%if 0%{patches_touch_autotools}
+autoreconf -i
+%endif
+
+
+%build
+%{configure}
+
+# 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.
+make -j1 -C builder index-parse.c
+
+make V=1 %{?_smp_mflags}
+
+
+%check
+%ifarch %{test_arches}
+# Only run the tests with non-debug (ie. non-Rawhide) kernels.
+# XXX This tests for any debug kernel installed.
+if grep CONFIG_DEBUG_MUTEXES=y /lib/modules/*/config ; then
+ echo "Skipping tests because debug kernel is installed"
+ exit 0
+fi
+
+# Enable debugging.
+export LIBGUESTFS_DEBUG=1
+export LIBGUESTFS_TRACE=1
+
+# This test is currently broken and needs further investigation.
+export SKIP_TEST_MACHINE_READABLE_SH=1
+
+# This test fails for me in local mock and Koji, but not when running
+# in an unrestricted environment.
+export SKIP_TEST_VIRT_FORMAT_SH=1
+
+# This test takes too long to run under Koji and times out. It runs
+# fine with KVM enabled.
+export SKIP_TEST_VIRT_RESIZE_PL=1
+
+if ! make check -k ; then
+ # Dump out the log files of any failing tests to make
+ # debugging test failures easier.
+ for f in `find -name test-suite.log | xargs grep -l ^FAIL:`; do
+ echo '*****' $f '*****'
+ cat $f
+ echo
+ done
+ exit 1
+fi
+%endif
+
+
+%install
+make DESTDIR=$RPM_BUILD_ROOT install
+
+# Delete libtool files.
+find $RPM_BUILD_ROOT -name '*.la' -delete
+
+# Move installed documentation back to the source directory so
+# we can install it using a %%doc rule.
+mv $RPM_BUILD_ROOT%{_docdir}/%{name} installed-docs
+gzip --best installed-docs/*.xml
+
+# Find locale files.
+%find_lang %{name}
+
+
+# Fix upgrades from old libguestfs-tools-c package
+# which had /etc/virt-builder -> xdg/virt-builder.
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
+# This can be removed in Fedora > 36.
+%pretrans -p <lua>
+path = "/etc/virt-builder"
+st = posix.stat(path)
+if st and st.type == "link" then
+ os.remove(path)
+end
+
+
+%files -f %{name}.lang
+%license COPYING
+%doc README
+%doc installed-docs/*
+%dir %{_sysconfdir}/virt-builder
+%dir %{_sysconfdir}/virt-builder/repos.d
+%config(noreplace) %{_sysconfdir}/virt-builder/repos.d/*
+%{_bindir}/virt-alignment-scan
+%{_bindir}/virt-builder
+%{_bindir}/virt-builder-repository
+%{_bindir}/virt-cat
+%{_bindir}/virt-customize
+%{_bindir}/virt-df
+%{_bindir}/virt-diff
+%{_bindir}/virt-drivers
+%{_bindir}/virt-edit
+%{_bindir}/virt-filesystems
+%{_bindir}/virt-format
+%{_bindir}/virt-get-kernel
+%{_bindir}/virt-index-validate
+%{_bindir}/virt-inspector
+%{_bindir}/virt-log
+%{_bindir}/virt-ls
+%{_bindir}/virt-make-fs
+%{_bindir}/virt-resize
+%{_bindir}/virt-sparsify
+%{_bindir}/virt-sysprep
+%{_bindir}/virt-tail
+%{_mandir}/man1/guestfs-tools-release-notes-1*.1*
+%{_mandir}/man1/virt-alignment-scan.1*
+%{_mandir}/man1/virt-builder-repository.1*
+%{_mandir}/man1/virt-builder.1*
+%{_mandir}/man1/virt-cat.1*
+%{_mandir}/man1/virt-customize.1*
+%{_mandir}/man1/virt-df.1*
+%{_mandir}/man1/virt-diff.1*
+%{_mandir}/man1/virt-drivers.1*
+%{_mandir}/man1/virt-edit.1*
+%{_mandir}/man1/virt-filesystems.1*
+%{_mandir}/man1/virt-format.1*
+%{_mandir}/man1/virt-get-kernel.1*
+%{_mandir}/man1/virt-index-validate.1*
+%{_mandir}/man1/virt-inspector.1*
+%{_mandir}/man1/virt-log.1*
+%{_mandir}/man1/virt-ls.1*
+%{_mandir}/man1/virt-make-fs.1*
+%{_mandir}/man1/virt-resize.1*
+%{_mandir}/man1/virt-sparsify.1*
+%{_mandir}/man1/virt-sysprep.1*
+%{_mandir}/man1/virt-tail.1*
+
+
+%files -n virt-win-reg
+%license COPYING
+%doc README
+%{_bindir}/virt-win-reg
+%{_mandir}/man1/virt-win-reg.1*
+
+
+%files bash-completion
+%license COPYING
+%dir %{_datadir}/bash-completion/completions
+%{_datadir}/bash-completion/completions/virt-*
+
+
+%files man-pages-ja
+%lang(ja) %{_mandir}/ja/man1/*.1*
+
+
+%files man-pages-uk
+%lang(uk) %{_mandir}/uk/man1/*.1*
+
+
+%changelog
+* Fri Jan 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.51.6-2
+- Rebase to guestfs-tools 1.51.6
+- Implement --key all:...
+ resolves: RHEL-19030
+- Fix crash because of off-by-one error
+ resolves: RHEL-19062
+- Fix virt-customize --chown invalid format
+ resolves: RHEL-21899
+
+* Thu Jun 08 2023 Laszlo Ersek <lersek@redhat.com> - 1.50.1-3
+- let virt-inspector recognize "--key /dev/mapper/VG-LV:key:password"
+- reenable "make check"; we now use "-cpu max" (libguestfs 30f74f38bd6e)
+ resolves: rhbz#2209280
+
+* Thu Apr 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1.50.1-1
+- Rebase to guestfs-tools 1.50.1
+ resolves: rhbz#2168626
+- Fix virt-drivers inspection of RHEL 9.2 guests
+ resolves: rhbz#2184963
+
+* Thu Nov 24 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.2-8
+- Support Rocky Linux in virt-customize
+ resolves: rhbz#2133443
+- Disable OpenSUSE repo in virt-builder
+ resolves: rhbz#2145160
+
+* Fri Jul 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.2-5
+- Rebase to guestfs-tools 1.48.2
+ resolves: rhbz#2059286
+- Default to --selinux-relabel in various tools
+ resolves: rhbz#2075718, rhbz#2089748
+- Add lvm system.devices cleanup operation to virt-sysprep
+ resolves: rhbz#2072493
+- Refactor virt-customize --install, --update options in common submodule
+- Add support for Clevis & Tang
+ resolves: rhbz#1809453
+- Fix CVE-2022-2211 Denial of Service in --key parameter
+ resolves: rhbz#2102721
+- Fix virt-sysprep and LUKS-on-LVM guests
+ resolves: rhbz#2106286
+
+* Sat Dec 04 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-6
+- Clean up NetworkManager connection files
+- Add the copy-patches.sh script from virt-v2v
+ resolves: rhbz#1980922
+
+* Tue Nov 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-5
+- Fix detection of Kylin Desktop
+ resolves: rhbz#2025950
+
+* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.46.1-4.1
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+ Related: rhbz#1991688
+
+* Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-3.el9.1
+- Add gating tests (for RHEL 9)
+
+* Mon May 17 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-3
+- Fix virt-win-reg --version
+ resolves: rhbz#1961160
+
+* Thu May 13 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-2
+- BR perl-generators so deps of virt-win-reg subpackage are correct.
+ resolves: rhbz#1960191
+
+* Sat May 08 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.1-1
+- New stable branch version 1.46.1.
+
+* Tue Apr 27 2021 Richard W.M. Jones <rjones@redhat.com> - 1.46.0-1
+- New stable branch version 1.46.0.
+
+* Wed Apr 07 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.3-4
+- Use Epoch 1 for virt-dib subpackage (only).
+
+* Wed Mar 31 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.3-3
+- Add BR xorriso, needed to run the tests.
+
+* Mon Mar 29 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.3-1
+- New upstream version 1.45.3.
+- Fix symlink replacement of virt-builder directory (RHBZ#1943838).
+
+* Fri Mar 26 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.2-5
+- Skip test-virt-resize.pl that takes too long to run.
+
+* Thu Mar 25 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.2-4
+- Add perl(Test::More) dependency for the Perl test suite.
+- Add perl(Module::Build) dependency for the Perl bindings.
+- Fix ounit2 dependency again.
+
+* Wed Mar 24 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.2-2
+- Add perl(Locale::TextDomain) dependency for virt-win-reg.
+- Fix ounit2 dependency upstream.
+
+* Tue Mar 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1.45.2-1
+- New guestfs-tools package, split off from libguestfs.
diff --git a/sources b/sources
new file mode 100644
index 0000000..a4918dd
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+a108f42b7e348e7ee8d89c13f385db2c guestfs-tools-1.51.6.tar.gz
+0a47b104f612d6848f46e0b88f1861ef libguestfs.keyring