diff --git a/guestfs-tools-1.49.5.tar.gz b/guestfs-tools-1.49.5.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c4a427d4942bb25bc829b24d06084550eabad83a Binary files /dev/null and b/guestfs-tools-1.49.5.tar.gz differ diff --git a/guestfs-tools-1.49.5.tar.gz.sig b/guestfs-tools-1.49.5.tar.gz.sig new file mode 100644 index 0000000000000000000000000000000000000000..b2fa4bcfdefad6d50a3dbe30cdeff028751ca6b2 --- /dev/null +++ b/guestfs-tools-1.49.5.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmNF0hwRHHJpY2hAYW5u +ZXhpYS5vcmcACgkQkXOPc+G3aKD8fw//cblY7mMgAKcAWt+nWqi3X8Ku2exSYnKy +2JdQa43Jq20WCViUpOOFkU8qG+D18whR54e13DB/+KY53cObRw4d4kqSnMD1e3ID +ziOK5ch5nl2uEjvsYPZNS9nl+5VEX3LSPKj5fV/Q2Oitvqx3wPfMivH3IJbn2rnv +fPqddk9AyUzidP1wuX6qNhQLZF9SCqAg1NsBwXANj+u3GuoC8VxRl7AiNrWSaO9z +xkrHEm/HktClOZBBHFYJr52jlMIlrYng2kc2aHpS/dL74dU3isPc2hI6YKmhbO95 +o+upIsdeuB4/fIUoD/H+jGudQzzRvv+d1uiaSachYyAEVplTk6T4Aue62B2mIfDC +oKfvLSRiYhLdrZdTJGVlCOQIilatv5Vwa4bUFR2NekxL0OMfbz4UCC1x5BFK8q9g +2XiCa5apRqFRLMZ0Ee5/YtiWdWY6v2JNkxv2oJk2iP3ogMYCZrZnOxylSOAi5Mgy +bIDUsI6W4ZHB0ChY4vnyiXEYT7hpKRmAIZtmpfrix7Oc/I5Wog/QUJOxRbp1Y5g9 +2+CKqe9oDQp4YiiW5wfEmBGF9fYK3+1T8c0CP00yjQOGAgvucSivgfIW+n2filCf +I5phRhjCAawdXn8fookDhluA8Y/DVWkalqOvS14PgwjXC6ZQoWFHzkPFmjFtNK+E +dbl3yD0UDn8= +=4igm +-----END PGP SIGNATURE----- diff --git a/guestfs-tools.spec b/guestfs-tools.spec new file mode 100644 index 0000000000000000000000000000000000000000..9d1535628f0f3019c36276051db1f40fab2de11b --- /dev/null +++ b/guestfs-tools.spec @@ -0,0 +1,379 @@ +# 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 %{nil} + +# The source directory. +%global source_directory 1.49-development + +# Filter perl provides. +%{?perl_default_filter} + +Summary: Tools to access and modify virtual machine disk images +Name: guestfs-tools +Version: 1.49.5 +Release: 1%{?dist} +License: GPLv2+ + +ExcludeArch: %{power64} + +# 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 + +%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.49.5-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: libxcrypt-devel +BuildRequires: ncurses-devel +BuildRequires: ocaml-libguestfs-devel +BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-gettext-devel +BuildRequires: ocaml-ounit-devel +BuildRequires: flex +BuildRequires: bison +BuildRequires: xz-devel +BuildRequires: zip +BuildRequires: unzip +BuildRequires: perl(Expect) +BuildRequires: bash-completion +BuildRequires: /usr/bin/qemu-img +BuildRequires: xorriso +BuildRequires: perl(Locale::TextDomain) +BuildRequires: perl(Sys::Guestfs) +BuildRequires: perl(Win::Hivex) +BuildRequires: perl(Win::Hivex::Regedit) +BuildRequires: perl-generators + + +# For virt-builder: +Requires: curl +Requires: gnupg2 +Requires: /usr/bin/qemu-img +Requires: xz + +# For virt-builder-repository: +Suggests: osinfo-db + +# For virt-inspector, since Fedora and RHEL >= 7 use XFS: +Recommends: libguestfs-ext4 + +# 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.49.5-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-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: GPLv2+ +BuildArch: noarch + +# This replaces the libguestfs-tools package. +Provides: libguestfs-tools = 1:%{version}-%{release} +Obsoletes: libguestfs-tools <= 1:1.49.5-1 + + +%description -n virt-win-reg +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+ +# This subpackage (only) must have an Epoch of 1 because it +# replaces a package in libguestfs which had an Epoch of 1. +Epoch: 1 + + +%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} +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 +%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 +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-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-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 -n virt-dib +%license COPYING +%doc README +%{_bindir}/virt-dib +%{_mandir}/man1/virt-dib.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 +* Tue Mar 23 2021 Wei Jiangang - 1.49.5-1 +- New guestfs-tools package, split off from libguestfs. diff --git a/guestfs-tools.yaml b/guestfs-tools.yaml new file mode 100644 index 0000000000000000000000000000000000000000..19a57487b8fc511aaca43417a37831a2541eefbd --- /dev/null +++ b/guestfs-tools.yaml @@ -0,0 +1,5 @@ +version_control: NA +src_repo: +tag_prefix: +seperator: +url: http://download.libguestfs.org/guestfs-tools/1.49-development/