From 68dda0e02f14dff8955e5f3bd609b5ac91a756c9 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Tue, 30 Mar 2021 14:55:19 +0000 Subject: [PATCH] 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 --- ...nclude-huge-ChangeLog-in-the-tarball.patch | 60 +++ ...-Use-cpu-mode-maximum-for-cpu-max-on.patch | 34 ++ 0001-appliance-Use-cpu-max.patch | 80 --- ...-Remove-completion-scripts-for-tools.patch | 125 +++++ libguestfs.spec | 497 +++++------------- sources | 4 +- 6 files changed, 358 insertions(+), 442 deletions(-) create mode 100644 0001-Don-t-include-huge-ChangeLog-in-the-tarball.patch create mode 100644 0001-Revert-appliance-Use-cpu-mode-maximum-for-cpu-max-on.patch delete mode 100644 0001-appliance-Use-cpu-max.patch create mode 100644 0002-bash-completion-Remove-completion-scripts-for-tools.patch diff --git a/0001-Don-t-include-huge-ChangeLog-in-the-tarball.patch b/0001-Don-t-include-huge-ChangeLog-in-the-tarball.patch new file mode 100644 index 0000000..757df37 --- /dev/null +++ b/0001-Don-t-include-huge-ChangeLog-in-the-tarball.patch @@ -0,0 +1,60 @@ +From eb53d74ba2e5e9086a5ac8679d55e6a338397e07 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +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 + diff --git a/0001-Revert-appliance-Use-cpu-mode-maximum-for-cpu-max-on.patch b/0001-Revert-appliance-Use-cpu-mode-maximum-for-cpu-max-on.patch new file mode 100644 index 0000000..e1709ee --- /dev/null +++ b/0001-Revert-appliance-Use-cpu-mode-maximum-for-cpu-max-on.patch @@ -0,0 +1,34 @@ +From 7af98c099c181f0b378a8390fb72f424d4bc7a4a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 25 Mar 2021 19:44:34 +0000 +Subject: [PATCH] Revert "appliance: Use 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 + diff --git a/0001-appliance-Use-cpu-max.patch b/0001-appliance-Use-cpu-max.patch deleted file mode 100644 index 70b482a..0000000 --- a/0001-appliance-Use-cpu-max.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 282e2f74cf1209ecf6bb18655018b2000a5b36a1 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -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 - - ---- - 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 - diff --git a/0002-bash-completion-Remove-completion-scripts-for-tools.patch b/0002-bash-completion-Remove-completion-scripts-for-tools.patch new file mode 100644 index 0000000..4ccac0b --- /dev/null +++ b/0002-bash-completion-Remove-completion-scripts-for-tools.patch @@ -0,0 +1,125 @@ +From 4991fe525961450704bbc80b5f2095bc8499f767 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +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 + diff --git a/libguestfs.spec b/libguestfs.spec index 9fc8f60..0015d01 100644 --- a/libguestfs.spec +++ b/libguestfs.spec @@ -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 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-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 - 1:1.45.2-2 +- Remove no longer needed requires on libguestfs-tools-c. + +* Tue Mar 23 2021 Richard W.M. Jones - 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 - 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 - 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 - 1:1.45.1-3 +- Bump and rebuild for ocaml-gettext update. + +* Fri Mar 5 2021 Remi Collet - 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 - 1:1.45.1-1 +- New upstream version 1.45.1. + +* Tue Mar 2 2021 Richard W.M. Jones - 1:1.44.0-8 +- OCaml 4.12.0 build +- Fixes for OCaml 4.12. + +* Wed Feb 17 2021 Richard W.M. Jones - 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 - 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 - 1:1.29.50-1 - New upstream version 1.29.50. - - Add virt-dib. * Thu Jul 02 2015 Richard W.M. Jones - 1:1.29.49-1 diff --git a/sources b/sources index 8064041..e98ceae 100644 --- a/sources +++ b/sources @@ -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