Rebase to guestfs-tools 1.48.0

resolves: rhbz#2059286
This commit is contained in:
Richard W.M. Jones 2022-03-14 21:10:42 +00:00
parent 5f04e92f5a
commit 15d9272b45
8 changed files with 12 additions and 438 deletions

View File

@ -1,191 +0,0 @@
From 83de85e717ad525423b0eabe153b48ff8af90bd1 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 17 May 2021 15:18:04 +0100
Subject: [PATCH] win-reg: Fix output of virt-win-reg --version
Before we split libguestfs and guestfs-tools the version of programs
was exactly the same as the version of libguestfs. This was
convenient for virt-win-reg where it is difficult to encode the
version into the script, because virt-win-reg could simply use the
version from Sys::Guestfs (ie. libguestfs). However after the split
this no longer applies, so we must do the difficult thing.
After this change virt-win-reg will print both the version of
guestfs-tools and the version of libguestfs, eg:
$ virt-win-reg --version
virt-win-reg 1.47.1
libguestfs 1.45.5fedora=35,release=1.fc35,libvirt
Reported-by: Yongkui Guo
Fixes: commit 4354a3126152a2748cc9097cba139b3908ccc342
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1961160
(cherry picked from commit 9e9eeeaf4c4b478eca82bf0d4c3e680a624d6d91)
---
.gitignore | 1 +
configure.ac | 2 ++
po-docs/podfiles | 2 +-
po/POTFILES-pl | 2 +-
po/guestfs-tools.pot | 18 +++++++++---------
win-reg/Makefile.am | 6 ------
win-reg/{virt-win-reg => virt-win-reg.in} | 5 +++--
7 files changed, 17 insertions(+), 19 deletions(-)
rename win-reg/{virt-win-reg => virt-win-reg.in} (99%)
diff --git a/.gitignore b/.gitignore
index 006042a8..6bc509fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -163,3 +163,4 @@ Makefile.in
/test-data/phony-guests/windows-software
/test-data/phony-guests/windows-system
/website/*.html
+/win-reg/virt-win-reg
diff --git a/configure.ac b/configure.ac
index 56cfef57..ef412670 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,6 +99,8 @@ AC_CONFIG_FILES([podwrapper.pl],
[chmod +x,-w podwrapper.pl])
AC_CONFIG_FILES([run],
[chmod +x,-w run])
+AC_CONFIG_FILES([win-reg/virt-win-reg],
+ [chmod +x,-w win-reg/virt-win-reg])
AC_CONFIG_FILES([Makefile
align/Makefile
diff --git a/po-docs/podfiles b/po-docs/podfiles
index d7ef1389..6b0c481f 100644
--- a/po-docs/podfiles
+++ b/po-docs/podfiles
@@ -26,4 +26,4 @@ sparsify/virt-sparsify.pod
sysprep/sysprep-extra-options.pod
sysprep/sysprep-operations.pod
sysprep/virt-sysprep.pod
-win-reg/virt-win-reg
+win-reg/virt-win-reg.in
diff --git a/po/POTFILES-pl b/po/POTFILES-pl
index 47d30fc8..c6520cea 100644
--- a/po/POTFILES-pl
+++ b/po/POTFILES-pl
@@ -1 +1 @@
-win-reg/virt-win-reg
+win-reg/virt-win-reg.in
diff --git a/po/guestfs-tools.pot b/po/guestfs-tools.pot
index a3be1b95..d7e9a3a7 100644
--- a/po/guestfs-tools.pot
+++ b/po/guestfs-tools.pot
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: guestfs-tools 1.46.1\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2021-05-08 08:57+0100\n"
+"POT-Creation-Date: 2021-05-17 15:25+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -4213,11 +4213,11 @@ msgstr ""
msgid "%s: subprocess failed\n"
msgstr ""
-#: win-reg/virt-win-reg:260
+#: win-reg/virt-win-reg.in:261
msgid "no libvirt domain name or disk image given\n"
msgstr ""
-#: win-reg/virt-win-reg:316
+#: win-reg/virt-win-reg.in:317
#, perl-brace-format
msgid ""
"{prog}: No operating system could be detected inside this disk image.\n"
@@ -4230,33 +4230,33 @@ msgid ""
"information about the disk image as possible.\n"
msgstr ""
-#: win-reg/virt-win-reg:320
+#: win-reg/virt-win-reg.in:321
#, perl-brace-format
msgid "{prog}: multiboot operating systems are not supported.\n"
msgstr ""
-#: win-reg/virt-win-reg:342
+#: win-reg/virt-win-reg.in:343
msgid ""
"expecting 1 or 2 more parameters, subkey path and optionally the value to "
"export\n"
msgstr ""
-#: win-reg/virt-win-reg:502
+#: win-reg/virt-win-reg.in:503
#, perl-brace-format
msgid "virt-win-reg: {p}: cannot find user directory\n"
msgstr ""
-#: win-reg/virt-win-reg:507
+#: win-reg/virt-win-reg.in:508
#, perl-brace-format
msgid "virt-win-reg: {p}: not a supported Windows Registry path\n"
msgstr ""
-#: win-reg/virt-win-reg:580
+#: win-reg/virt-win-reg.in:581
#, perl-brace-format
msgid "virt-win-reg: {p}: could not download registry file: {err}\n"
msgstr ""
-#: win-reg/virt-win-reg:597
+#: win-reg/virt-win-reg.in:598
#, perl-brace-format
msgid "virt-win-reg: {p}: could not upload registry file: {err}\n"
msgstr ""
diff --git a/win-reg/Makefile.am b/win-reg/Makefile.am
index 22a22db4..61ec066a 100644
--- a/win-reg/Makefile.am
+++ b/win-reg/Makefile.am
@@ -17,8 +17,6 @@
include $(top_srcdir)/subdir-rules.mk
-EXTRA_DIST = virt-win-reg
-
bin_SCRIPTS = virt-win-reg
# Manual pages and HTML files for the website.
@@ -36,7 +34,3 @@ stamp-virt-win-reg.pod: virt-win-reg
--warning custom \
$<
touch $@
-
-all-local:
- for f in virt-win-reg; do echo win-reg/$$f; done \
- > $(top_srcdir)/po/POTFILES-pl
diff --git a/win-reg/virt-win-reg b/win-reg/virt-win-reg.in
similarity index 99%
rename from win-reg/virt-win-reg
rename to win-reg/virt-win-reg.in
index 1a936c5d..6d9d0a28 100755
--- a/win-reg/virt-win-reg
+++ b/win-reg/virt-win-reg.in
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
# virt-win-reg
-# Copyright (C) 2010 Red Hat Inc.
+# Copyright (C) 2010-2021 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -234,9 +234,10 @@ my %opts = ("help|?" => \$help,
GetOptions (%opts) or pod2usage (2);
pod2usage (1) if $help;
if ($version) {
+ print "virt-win-reg @PACKAGE_VERSION@\n";
my $g = Sys::Guestfs->new ();
my %h = $g->version ();
- print "virt-win-reg $h{major}.$h{minor}.$h{release}$h{extra}\n";
+ print "libguestfs $h{major}.$h{minor}.$h{release}$h{extra}\n";
exit
}
--
2.31.1

View File

@ -1,32 +0,0 @@
From 662e12ba1a2c2f06151b0f06814e6da0025cff2d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Oct 2021 20:51:19 +0100
Subject: [PATCH] m4/guestfs-ocaml.m4: Fix deprecated warning format
In OCaml 4.13:
Alert ocaml_deprecated_cli: Setting a warning with a sequence of lowercase or uppercase letters,
like 'CDEFLMPSUVYZX', is deprecated.
Use the equivalent signed form: +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3.
(cherry picked from commit fa4f59e1d99c08d7e0bae2a7cb54f254a6506d67)
---
m4/guestfs-ocaml.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4
index f5ac7eff..d2b3804a 100644
--- a/m4/guestfs-ocaml.m4
+++ b/m4/guestfs-ocaml.m4
@@ -166,7 +166,7 @@ EOF
])
dnl Flags we want to pass to every OCaml compiler call.
-OCAML_WARN_ERROR="-warn-error CDEFLMPSUVYZX+52-3"
+OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3"
AC_SUBST([OCAML_WARN_ERROR])
OCAML_FLAGS="-g -annot $safe_string_option"
AC_SUBST([OCAML_FLAGS])
--
2.31.1

View File

@ -1,33 +0,0 @@
From 89617fbe8867254b8c5a77c7fd28ab7746338751 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Oct 2021 20:53:25 +0100
Subject: [PATCH] customize: Suppress OCaml warning
In OCaml 4.13:
File "perl_edit.ml", line 30, characters 2-13:
30 | c_edit_file (verbose ()) g (Guestfs.c_pointer g) file expr
^^^^^^^^^^^
Error (warning 6 [labels-omitted]): label verbose was omitted in the application of this function.
(cherry picked from commit a4930f5fad82e5358d565b8cf3610970e9646259)
---
m4/guestfs-ocaml.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4
index d2b3804a..8a23877c 100644
--- a/m4/guestfs-ocaml.m4
+++ b/m4/guestfs-ocaml.m4
@@ -166,7 +166,7 @@ EOF
])
dnl Flags we want to pass to every OCaml compiler call.
-OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3"
+OCAML_WARN_ERROR="-warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3-6"
AC_SUBST([OCAML_WARN_ERROR])
OCAML_FLAGS="-g -annot $safe_string_option"
AC_SUBST([OCAML_FLAGS])
--
2.31.1

View File

@ -1,38 +0,0 @@
From e8148241cfd6019e493269580c7fe74d62e0fbdc Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Wed, 13 Oct 2021 18:30:42 +0200
Subject: [PATCH] virt-inspector.rng: recognize "kalilinux" and "msdos" distros
As of libguestfs @ e597fc5317e0, the "string_of_distro" function
[daemon/inspect_types.ml] may output "kalilinux" and "msdos" beyond what
"virt-inspector.rng" currently accepts. Add these distro identifiers to
"virt-inspector.rng" now.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20211013163043.21837-2-lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
(cherry picked from commit aefdf0dcd4954b822e6a098f7258899f1b6a72b7)
---
inspector/virt-inspector.rng | 2 ++
1 file changed, 2 insertions(+)
diff --git a/inspector/virt-inspector.rng b/inspector/virt-inspector.rng
index 7807e4d7..0a81538e 100644
--- a/inspector/virt-inspector.rng
+++ b/inspector/virt-inspector.rng
@@ -87,10 +87,12 @@
<value>freedos</value>
<value>frugalware</value>
<value>gentoo</value>
+ <value>kalilinux</value>
<value>linuxmint</value>
<value>mageia</value>
<value>mandriva</value>
<value>meego</value>
+ <value>msdos</value>
<value>neokylin</value>
<value>netbsd</value>
<value>openbsd</value>
--
2.31.1

View File

@ -1,29 +0,0 @@
From 8dad474829a8f6874c01a6d85749d8fd66d192ae Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Wed, 13 Oct 2021 18:30:43 +0200
Subject: [PATCH] virt-inspector.rng: Add support for Kylin (RHBZ#1995391).
Similar-to: b8bc491ff59cc1cc24a1935be99cee0c5edfb5be
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20211013163043.21837-3-lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
(cherry picked from commit f041a5e24d8c5850daf7ad8f8e1a284e0445266b)
---
inspector/virt-inspector.rng | 1 +
1 file changed, 1 insertion(+)
diff --git a/inspector/virt-inspector.rng b/inspector/virt-inspector.rng
index 0a81538e..5b460b36 100644
--- a/inspector/virt-inspector.rng
+++ b/inspector/virt-inspector.rng
@@ -88,6 +88,7 @@
<value>frugalware</value>
<value>gentoo</value>
<value>kalilinux</value>
+ <value>kylin</value>
<value>linuxmint</value>
<value>mageia</value>
<value>mandriva</value>
--
2.31.1

View File

@ -1,96 +0,0 @@
From 6f8c270b3fb7b5b3109d2553fef38f128b6137ac Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Thu, 2 Dec 2021 14:10:06 +0100
Subject: [PATCH] sysprep: remove system-local NetworkManager connection
profiles (keyfiles)
Add a simple (default) operation to remove
/etc/NetworkManager/system-connections/*.nmconnection
which arguably carry stale information after the initial creation of the
system disk image.
Note: no side effect callback is invoked. Before commit 576f1541a20c
("sysprep: Use customize module for customizing the guest after
sysprepping.", 2014-03-25), the "delete" operation had been native to
virt-sysprep ("sysprep/sysprep_operation_delete.ml"), and it didn't invoke
side effects. In said commit, "delete" was delegated to virt-customize,
and that was when "side_effects#created_file" was introduced (most likely)
as a catch-all. (We still have the "XXX Did we?" comment today.)
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1980922
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20211202131006.12774-1-lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
(cherry picked from commit 903819ecf480bcefec108bdbd7e9bdec1b3b5a49)
---
sysprep/Makefile.am | 1 +
sysprep/sysprep_operation_net_nmconn.ml | 43 +++++++++++++++++++++++++
2 files changed, 44 insertions(+)
create mode 100644 sysprep/sysprep_operation_net_nmconn.ml
diff --git a/sysprep/Makefile.am b/sysprep/Makefile.am
index d32ab20e..561a71ae 100644
--- a/sysprep/Makefile.am
+++ b/sysprep/Makefile.am
@@ -52,6 +52,7 @@ operations = \
mail_spool \
net_hostname \
net_hwaddr \
+ net_nmconn \
pacct_log \
package_manager_cache \
pam_data \
diff --git a/sysprep/sysprep_operation_net_nmconn.ml b/sysprep/sysprep_operation_net_nmconn.ml
new file mode 100644
index 00000000..2d8667f1
--- /dev/null
+++ b/sysprep/sysprep_operation_net_nmconn.ml
@@ -0,0 +1,43 @@
+(* virt-sysprep
+ * Copyright (C) 2012-2021 Red Hat Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *)
+
+open Common_gettext.Gettext
+open Sysprep_operation
+
+let glob = "/etc/NetworkManager/system-connections/*.nmconnection"
+
+let net_nmconn_perform (g : Guestfs.guestfs) root side_effects =
+ let typ = g#inspect_get_type root in
+ let distro = g#inspect_get_distro root in
+ match typ, distro with
+ | "linux", ("fedora"|"rhel"|"centos"|"scientificlinux"|"oraclelinux"|
+ "redhat-based") -> Array.iter g#rm_f (g#glob_expand glob)
+ | _ -> ()
+
+let op = {
+ defaults with
+ name = "net-nmconn";
+ enabled_by_default = true;
+ heading = s_"Remove system-local NetworkManager connection profiles \
+ (keyfiles)";
+ pod_description = Some (s_"On Fedora and Red Hat Enterprise Linux, remove \
+ the C<" ^ glob ^ "> files.");
+ perform_on_filesystems = Some net_nmconn_perform;
+}
+
+let () = register_operation op
--
2.31.1

View File

@ -15,18 +15,18 @@
%global verify_tarball_signature 1
# If there are patches which touch autotools files, set this to 1.
%global patches_touch_autotools 1
%global patches_touch_autotools %{nil}
# The source directory.
%global source_directory 1.46-stable
%global source_directory 1.48-stable
# Filter perl provides.
%{?perl_default_filter}
Summary: Tools to access and modify virtual machine disk images
Name: guestfs-tools
Version: 1.46.1
Release: 6%{?dist}
Version: 1.48.0
Release: 1%{?dist}
License: GPLv2+
# Build only for architectures that have a kernel
@ -52,19 +52,7 @@ Source2: libguestfs.keyring
Source3: copy-patches.sh
# Patches are maintained in the following repository:
# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.0.0
# Fix virt-win-reg --version (RHBZ#1961160)
Patch0001: 0001-win-reg-Fix-output-of-virt-win-reg-version.patch
# Fix detection of Kylin Desktop (RHBZ#2025950)
Patch0002: 0002-m4-guestfs-ocaml.m4-Fix-deprecated-warning-format.patch
Patch0003: 0003-customize-Suppress-OCaml-warning.patch
Patch0004: 0004-virt-inspector.rng-recognize-kalilinux-and-msdos-dis.patch
Patch0005: 0005-virt-inspector.rng-Add-support-for-Kylin-RHBZ-199539.patch
# Clean up NetworkManager connection files (RHBZ#1980922)
Patch0006: 0006-sysprep-remove-system-local-NetworkManager-connectio.patch
# https://github.com/rwmjones/guestfs-tools/commits/rhel-9.1
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool, gettext-devel
@ -378,6 +366,7 @@ end
%{_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*
@ -431,6 +420,10 @@ end
%changelog
* Mon Mar 14 2022 Richard W.M. Jones <rjones@redhat.com> - 1.48.0-1
- Rebase to guestfs-tools 1.48.0
resolves: rhbz#2059286
* 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

View File

@ -1,2 +1,2 @@
SHA512 (guestfs-tools-1.46.1.tar.gz) = d2bd0790343d54a2517237e56d1b982cd41335654fd205cfeec42a1b7cbbf4c0923597b767b8769dfe74766e078a817d520db251895990b922522030806d0b85
SHA512 (guestfs-tools-1.46.1.tar.gz.sig) = 59d86cd01ed95278c0c85b11a4afaa85c595824fda4972c04bd66606c37580a61bae24b09782d0221b7830090346c633084cc6cb0f2077810cf0da0bf3d84fff
SHA512 (guestfs-tools-1.48.0.tar.gz) = 8576ef0e283a02a112f785e8f1656b41c93be29e12617ee8c83033b90758736ea3c2d4ecfb446a86c7913e2c0b39a7c5666e8ad22682419cc877543a3825c489
SHA512 (guestfs-tools-1.48.0.tar.gz.sig) = dd59c590163e13e30425c4f26eddef51596be757b85d9e09c2406a7697a369e23b54dce075005f31c067aea91598ff1f8c887332be691ba23d25ee2e86b93814