Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virt-p2v for openSUSE:Factory 
checked in at 2022-08-12 16:06:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-p2v (Old)
 and      /work/SRC/openSUSE:Factory/.virt-p2v.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-p2v"

Fri Aug 12 16:06:24 2022 rev:4 rq:994614 version:1.42.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-p2v/virt-p2v.changes        2022-05-21 
19:06:23.623317051 +0200
+++ /work/SRC/openSUSE:Factory/.virt-p2v.new.1521/virt-p2v.changes      
2022-08-12 16:06:38.647470084 +0200
@@ -1,0 +2,6 @@
+Thu Aug  4 10:32:15 MDT 2022 - carn...@suse.com
+
+- Update to version 1.42.2
+  * This is a bug fix release
+
+-------------------------------------------------------------------

Old:
----
  virt-p2v-1.42.1.tar.gz
  virt-p2v-1.42.1.tar.gz.sig

New:
----
  virt-p2v-1.42.2.tar.gz
  virt-p2v-1.42.2.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-p2v.spec ++++++
--- /var/tmp/diff_new_pack.vIC7JO/_old  2022-08-12 16:06:42.295481054 +0200
+++ /var/tmp/diff_new_pack.vIC7JO/_new  2022-08-12 16:06:42.299481066 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           virt-p2v
-Version:        1.42.1
+Version:        1.42.2
 Release:        0
 Summary:        Tools to convert a physical machine to run on KVM
 URL:            https://libguestfs.org/

++++++ virt-p2v-1.42.1.tar.gz -> virt-p2v-1.42.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/Makefile.am 
new/virt-p2v-1.42.2/Makefile.am
--- old/virt-p2v-1.42.1/Makefile.am     2022-05-10 09:52:50.218216512 +0200
+++ new/virt-p2v-1.42.2/Makefile.am     2022-07-25 19:11:53.581113784 +0200
@@ -140,13 +140,13 @@
 virt_p2v_CFLAGS = \
        -pthread \
        $(WARN_CFLAGS) $(WERROR_CFLAGS) \
-       $(PCRE_CFLAGS) \
+       $(PCRE2_CFLAGS) \
        $(LIBXML2_CFLAGS) \
        $(GTK_CFLAGS) \
        $(DBUS_CFLAGS)
 
 virt_p2v_LDADD = \
-       $(PCRE_LIBS) \
+       $(PCRE2_LIBS) \
        $(LIBXML2_LIBS) \
        $(GTK_LIBS) \
        $(DBUS_LIBS) \
@@ -313,7 +313,7 @@
          &
 endif HAVE_LIBGUESTFS
 
-run-virt-p2v-non-gui-conversion: stamp-test-virt-p2v-pxe-data-files
+run-virt-p2v-non-gui-conversion: $(PHYSICAL_MACHINE) 
stamp-test-virt-p2v-pxe-data-files
        SLOW=1 $(top_builddir)/run ./test-virt-p2v-pxe.sh
 
 $(PHYSICAL_MACHINE):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/Makefile.in 
new/virt-p2v-1.42.2/Makefile.in
--- old/virt-p2v-1.42.1/Makefile.in     2022-05-10 10:04:22.503515494 +0200
+++ new/virt-p2v-1.42.2/Makefile.in     2022-08-03 12:32:40.451908772 +0200
@@ -615,9 +615,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PACKAGE_VERSION_FULL = @PACKAGE_VERSION_FULL@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_CONFIG = @PCRE_CONFIG@
-PCRE_LIBS = @PCRE_LIBS@
+PCRE2_CFLAGS = @PCRE2_CFLAGS@
+PCRE2_LIBS = @PCRE2_LIBS@
 PERL = @PERL@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
@@ -810,13 +809,13 @@
 virt_p2v_CFLAGS = \
        -pthread \
        $(WARN_CFLAGS) $(WERROR_CFLAGS) \
-       $(PCRE_CFLAGS) \
+       $(PCRE2_CFLAGS) \
        $(LIBXML2_CFLAGS) \
        $(GTK_CFLAGS) \
        $(DBUS_CFLAGS)
 
 virt_p2v_LDADD = \
-       $(PCRE_LIBS) \
+       $(PCRE2_LIBS) \
        $(LIBXML2_LIBS) \
        $(GTK_LIBS) \
        $(DBUS_LIBS) \
@@ -2240,7 +2239,7 @@
 @HAVE_LIBGUESTFS_TRUE@   $(QEMU_OPTIONS) \
 @HAVE_LIBGUESTFS_TRUE@   &
 
-run-virt-p2v-non-gui-conversion: stamp-test-virt-p2v-pxe-data-files
+run-virt-p2v-non-gui-conversion: $(PHYSICAL_MACHINE) 
stamp-test-virt-p2v-pxe-data-files
        SLOW=1 $(top_builddir)/run ./test-virt-p2v-pxe.sh
 
 $(PHYSICAL_MACHINE):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/bash/Makefile.in 
new/virt-p2v-1.42.2/bash/Makefile.in
--- old/virt-p2v-1.42.1/bash/Makefile.in        2022-05-10 10:04:22.528515609 
+0200
+++ new/virt-p2v-1.42.2/bash/Makefile.in        2022-08-03 12:32:40.474908900 
+0200
@@ -434,9 +434,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PACKAGE_VERSION_FULL = @PACKAGE_VERSION_FULL@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_CONFIG = @PCRE_CONFIG@
-PCRE_LIBS = @PCRE_LIBS@
+PCRE2_CFLAGS = @PCRE2_CFLAGS@
+PCRE2_LIBS = @PCRE2_LIBS@
 PERL = @PERL@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/configure 
new/virt-p2v-1.42.2/configure
--- old/virt-p2v-1.42.1/configure       2022-05-10 10:04:22.396515002 +0200
+++ new/virt-p2v-1.42.2/configure       2022-08-03 12:32:40.346908186 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for virt-p2v 1.42.1.
+# Generated by GNU Autoconf 2.69 for virt-p2v 1.42.2.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='virt-p2v'
 PACKAGE_TARNAME='virt-p2v'
-PACKAGE_VERSION='1.42.1'
-PACKAGE_STRING='virt-p2v 1.42.1'
+PACKAGE_VERSION='1.42.2'
+PACKAGE_STRING='virt-p2v 1.42.2'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -651,9 +651,8 @@
 GTK_CFLAGS
 LIBXML2_LIBS
 LIBXML2_CFLAGS
-PCRE_CONFIG
-PCRE_LIBS
-PCRE_CFLAGS
+PCRE2_LIBS
+PCRE2_CFLAGS
 PKG_CONFIG_LIBDIR
 PKG_CONFIG_PATH
 PKG_CONFIG
@@ -807,8 +806,8 @@
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
-PCRE_CFLAGS
-PCRE_LIBS
+PCRE2_CFLAGS
+PCRE2_LIBS
 LIBXML2_CFLAGS
 LIBXML2_LIBS
 GTK_CFLAGS
@@ -1367,7 +1366,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures virt-p2v 1.42.1 to adapt to many kinds of systems.
+\`configure' configures virt-p2v 1.42.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1438,7 +1437,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of virt-p2v 1.42.1:";;
+     short | recursive ) echo "Configuration of virt-p2v 1.42.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1490,8 +1489,9 @@
               directories to add to pkg-config's search path
   PKG_CONFIG_LIBDIR
               path overriding pkg-config's built-in search path
-  PCRE_CFLAGS C compiler flags for PCRE, overriding pkg-config
-  PCRE_LIBS   linker flags for PCRE, overriding pkg-config
+  PCRE2_CFLAGS
+              C compiler flags for PCRE2, overriding pkg-config
+  PCRE2_LIBS  linker flags for PCRE2, overriding pkg-config
   LIBXML2_CFLAGS
               C compiler flags for LIBXML2, overriding pkg-config
   LIBXML2_LIBS
@@ -1571,7 +1571,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-virt-p2v configure 1.42.1
+virt-p2v configure 1.42.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2119,7 +2119,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by virt-p2v $as_me 1.42.1, which was
+It was created by virt-p2v $as_me 1.42.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4358,7 +4358,7 @@
 
 # Define the identity of the package.
  PACKAGE='virt-p2v'
- VERSION='1.42.1'
+ VERSION='1.42.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12392,8 +12392,8 @@
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: virt-p2v version 1.42.1$p2v_extra" >&5
-$as_echo "$as_me: virt-p2v version 1.42.1$p2v_extra" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: virt-p2v version 1.42.2$p2v_extra" >&5
+$as_echo "$as_me: virt-p2v version 1.42.2$p2v_extra" >&6;}
 
 
 $as_echo "#define PACKAGE_VERSION_MAJOR 1" >>confdefs.h
@@ -12402,14 +12402,14 @@
 $as_echo "#define PACKAGE_VERSION_MINOR 42" >>confdefs.h
 
 
-$as_echo "#define PACKAGE_VERSION_RELEASE 1" >>confdefs.h
+$as_echo "#define PACKAGE_VERSION_RELEASE 2" >>confdefs.h
 
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_VERSION_EXTRA "$p2v_extra"
 _ACEOF
 
-PACKAGE_VERSION_FULL="1.42.1${p2v_extra}"
+PACKAGE_VERSION_FULL="1.42.2${p2v_extra}"
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_VERSION_FULL "$PACKAGE_VERSION_FULL"
@@ -13655,19 +13655,19 @@
 fi
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCRE" >&5
-$as_echo_n "checking for PCRE... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCRE2" >&5
+$as_echo_n "checking for PCRE2... " >&6; }
 
-if test -n "$PCRE_CFLAGS"; then
-    pkg_cv_PCRE_CFLAGS="$PCRE_CFLAGS"
+if test -n "$PCRE2_CFLAGS"; then
+    pkg_cv_PCRE2_CFLAGS="$PCRE2_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcre\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libpcre") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcre2-8\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpcre2-8") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_PCRE_CFLAGS=`$PKG_CONFIG --cflags "libpcre" 2>/dev/null`
+  pkg_cv_PCRE2_CFLAGS=`$PKG_CONFIG --cflags "libpcre2-8" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13675,16 +13675,16 @@
  else
     pkg_failed=untried
 fi
-if test -n "$PCRE_LIBS"; then
-    pkg_cv_PCRE_LIBS="$PCRE_LIBS"
+if test -n "$PCRE2_LIBS"; then
+    pkg_cv_PCRE2_LIBS="$PCRE2_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcre\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libpcre") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcre2-8\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpcre2-8") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_PCRE_LIBS=`$PKG_CONFIG --libs "libpcre" 2>/dev/null`
+  pkg_cv_PCRE2_LIBS=`$PKG_CONFIG --libs "libpcre2-8" 2>/dev/null`
                      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -13705,123 +13705,41 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               PCRE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "libpcre" 2>&1`
+               PCRE2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "libpcre2-8" 2>&1`
         else
-               PCRE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"libpcre" 2>&1`
+               PCRE2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"libpcre2-8" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
-       echo "$PCRE_PKG_ERRORS" >&5
+       echo "$PCRE2_PKG_ERRORS" >&5
 
+       as_fn_error $? "Package requirements (libpcre2-8) were not met:
 
-    for ac_prog in pcre-config pcre2-config
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with 
args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PCRE_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$PCRE_CONFIG"; then
-  ac_cv_prog_PCRE_CONFIG="$PCRE_CONFIG" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_PCRE_CONFIG="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-PCRE_CONFIG=$ac_cv_prog_PCRE_CONFIG
-if test -n "$PCRE_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCRE_CONFIG" >&5
-$as_echo "$PCRE_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$PCRE_CONFIG" && break
-done
-test -n "$PCRE_CONFIG" || PCRE_CONFIG="no"
-
-    if test "x$PCRE_CONFIG" = "xno"; then :
-
-        as_fn_error $? "Please install the pcre devel package" "$LINENO" 5
+$PCRE2_PKG_ERRORS
 
-fi
-    PCRE_CFLAGS=`$PCRE_CONFIG --cflags`
-    PCRE_LIBS=`$PCRE_CONFIG --libs`
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
 
+Alternatively, you may set the environment variables PCRE2_CFLAGS
+and PCRE2_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make 
sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
 
-    for ac_prog in pcre-config pcre2-config
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with 
args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PCRE_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$PCRE_CONFIG"; then
-  ac_cv_prog_PCRE_CONFIG="$PCRE_CONFIG" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_PCRE_CONFIG="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-PCRE_CONFIG=$ac_cv_prog_PCRE_CONFIG
-if test -n "$PCRE_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCRE_CONFIG" >&5
-$as_echo "$PCRE_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$PCRE_CONFIG" && break
-done
-test -n "$PCRE_CONFIG" || PCRE_CONFIG="no"
-
-    if test "x$PCRE_CONFIG" = "xno"; then :
-
-        as_fn_error $? "Please install the pcre devel package" "$LINENO" 5
-
-fi
-    PCRE_CFLAGS=`$PCRE_CONFIG --cflags`
-    PCRE_LIBS=`$PCRE_CONFIG --libs`
+Alternatively, you may set the environment variables PCRE2_CFLAGS
+and PCRE2_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
 
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
 else
-       PCRE_CFLAGS=$pkg_cv_PCRE_CFLAGS
-       PCRE_LIBS=$pkg_cv_PCRE_LIBS
+       PCRE2_CFLAGS=$pkg_cv_PCRE2_CFLAGS
+       PCRE2_LIBS=$pkg_cv_PCRE2_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
@@ -15463,7 +15381,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by virt-p2v $as_me 1.42.1, which was
+This file was extended by virt-p2v $as_me 1.42.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15529,7 +15447,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-virt-p2v config.status 1.42.1
+virt-p2v config.status 1.42.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/configure.ac 
new/virt-p2v-1.42.2/configure.ac
--- old/virt-p2v-1.42.1/configure.ac    2022-05-10 09:44:42.418414153 +0200
+++ new/virt-p2v-1.42.2/configure.ac    2022-08-03 12:32:27.436836136 +0200
@@ -19,7 +19,7 @@
 # freeform string.
 m4_define([p2v_major],   [1])
 m4_define([p2v_minor],   [42])
-m4_define([p2v_release], [1])
+m4_define([p2v_release], [2])
 
 AC_INIT([virt-p2v],p2v_major.p2v_minor.p2v_release)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/contrib/build-p2v-iso.sh 
new/virt-p2v-1.42.2/contrib/build-p2v-iso.sh
--- old/virt-p2v-1.42.1/contrib/build-p2v-iso.sh        2019-09-24 
12:10:33.000000000 +0200
+++ new/virt-p2v-1.42.2/contrib/build-p2v-iso.sh        2022-07-25 
19:11:53.582113790 +0200
@@ -76,7 +76,7 @@
 fi
 
 # Build the list of packages needed for the build environment.
-pkgs=augeas-devel,bison,coreutils,cpio,file-devel,flex,gcc,gperf,gtk2-devel,libxml2-devel,livecd-tools,mkisofs,ncurses-devel,patch,perl-Pod-Man,perl-Pod-Simple,pcre-devel,/usr/bin/pod2text,syslinux,syslinux-extlinux,xz,xz-devel
+pkgs=augeas-devel,bison,coreutils,cpio,file-devel,flex,gcc,gperf,gtk2-devel,libxml2-devel,livecd-tools,mkisofs,ncurses-devel,patch,perl-Pod-Man,perl-Pod-Simple,pcre2-devel,/usr/bin/pod2text,syslinux,syslinux-extlinux,xz,xz-devel
 
 for f in `cat $d/../../p2v/dependencies.redhat`; do
     pkgs="$pkgs,$f"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/dependencies.m4 
new/virt-p2v-1.42.2/dependencies.m4
--- old/virt-p2v-1.42.1/dependencies.m4 2022-05-10 09:32:45.951796802 +0200
+++ new/virt-p2v-1.42.2/dependencies.m4 2022-07-25 19:11:53.583113797 +0200
@@ -22,7 +22,7 @@
 
 ifelse(REDHAT,1,
   dnl Used by the virt-p2v binary.
-  pcre
+  pcre2
   libxml2
   gtk`'GTK_VERSION
   dbus-libs
@@ -66,7 +66,7 @@
 )
 
 ifelse(DEBIAN,1,
-  libpcre3
+  libpcre2-8-0
   libxml2
   ifelse(GTK_VERSION,2,libgtk`'GTK_VERSION`'.0-0,libgtk-`'GTK_VERSION`'-0)
   libdbus-1-3
@@ -86,7 +86,7 @@
 )
 
 ifelse(ARCHLINUX,1,
-  pcre
+  pcre2
   libxml2
   gtk`'GTK_VERSION
   dbus
@@ -108,7 +108,7 @@
 )
 
 ifelse(SUSE,1,
-  pcre
+  pcre2
   libxml2
   gtk`'GTK_VERSION
   libdbus-1-3
@@ -133,7 +133,7 @@
 
 ifelse(OPENMANDRIVA,1,
   dnl Used by the virt-p2v binary.
-  pcre
+  pcre2
   libxml2
   gtk`'GTK_VERSION
   dbus-libs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/docs/Makefile.in 
new/virt-p2v-1.42.2/docs/Makefile.in
--- old/virt-p2v-1.42.1/docs/Makefile.in        2022-05-10 10:04:22.547515696 
+0200
+++ new/virt-p2v-1.42.2/docs/Makefile.in        2022-08-03 12:32:40.496909023 
+0200
@@ -261,9 +261,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PACKAGE_VERSION_FULL = @PACKAGE_VERSION_FULL@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_CONFIG = @PCRE_CONFIG@
-PCRE_LIBS = @PCRE_LIBS@
+PCRE2_CFLAGS = @PCRE2_CFLAGS@
+PCRE2_LIBS = @PCRE2_LIBS@
 PERL = @PERL@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/docs/p2v-building.pod 
new/virt-p2v-1.42.2/docs/p2v-building.pod
--- old/virt-p2v-1.42.1/docs/p2v-building.pod   2022-05-10 09:32:45.952796806 
+0200
+++ new/virt-p2v-1.42.2/docs/p2v-building.pod   2022-07-25 19:11:53.584113804 
+0200
@@ -61,7 +61,7 @@
 I<Required> if compiling from git.
 Optional if compiling from tarball.
 
-=item Perl-compatible Regular Expressions (PCRE) library
+=item Perl-compatible Regular Expressions (PCRE2) library
 
 I<Required>.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/gnulib/lib/Makefile.in 
new/virt-p2v-1.42.2/gnulib/lib/Makefile.in
--- old/virt-p2v-1.42.1/gnulib/lib/Makefile.in  2022-05-10 10:04:22.572515811 
+0200
+++ new/virt-p2v-1.42.2/gnulib/lib/Makefile.in  2022-08-03 12:32:40.530909213 
+0200
@@ -287,9 +287,8 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PACKAGE_VERSION_FULL = @PACKAGE_VERSION_FULL@
 PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_CONFIG = @PCRE_CONFIG@
-PCRE_LIBS = @PCRE_LIBS@
+PCRE2_CFLAGS = @PCRE2_CFLAGS@
+PCRE2_LIBS = @PCRE2_LIBS@
 PERL = @PERL@
 PKG_CONFIG = @PKG_CONFIG@
 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/libguestfs/cleanups.c 
new/virt-p2v-1.42.2/libguestfs/cleanups.c
--- old/virt-p2v-1.42.1/libguestfs/cleanups.c   2019-08-29 17:45:42.000000000 
+0200
+++ new/virt-p2v-1.42.2/libguestfs/cleanups.c   2022-07-25 19:11:53.585113810 
+0200
@@ -61,6 +61,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
+
 #include "guestfs-utils.h"
 
 /* Stdlib cleanups. */
@@ -94,3 +97,17 @@
 {
   guestfs_int_free_string_list (*ptr);
 }
+
+void
+guestfs_int_cleanup_pcre2_match_data_free (void *ptr)
+{
+  pcre2_match_data *match_data = * (pcre2_match_data **) ptr;
+  pcre2_match_data_free (match_data);
+}
+
+void
+guestfs_int_cleanup_pcre2_substring_free (void *ptr)
+{
+  PCRE2_UCHAR *str = * (PCRE2_UCHAR **) ptr;
+  pcre2_substring_free (str);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/libguestfs/cleanups.h 
new/virt-p2v-1.42.2/libguestfs/cleanups.h
--- old/virt-p2v-1.42.1/libguestfs/cleanups.h   2019-08-29 17:45:42.000000000 
+0200
+++ new/virt-p2v-1.42.2/libguestfs/cleanups.h   2022-07-25 19:11:53.586113817 
+0200
@@ -42,6 +42,10 @@
   __attribute__((cleanup(guestfs_int_cleanup_xmlXPathFreeContext)))
 #define CLEANUP_XMLXPATHFREEOBJECT                                      \
   __attribute__((cleanup(guestfs_int_cleanup_xmlXPathFreeObject)))
+#define CLEANUP_PCRE2_MATCH_DATA                                        \
+  __attribute__((cleanup(guestfs_int_cleanup_pcre2_match_data_free)))
+#define CLEANUP_PCRE2_SUBSTRING_FREE                                    \
+  __attribute__((cleanup(guestfs_int_cleanup_pcre2_substring_free)))
 #else
 #define CLEANUP_FREE
 #define CLEANUP_FCLOSE
@@ -54,6 +58,8 @@
 #define CLEANUP_XMLFREETEXTWRITER
 #define CLEANUP_XMLXPATHFREECONTEXT
 #define CLEANUP_XMLXPATHFREEOBJECT
+#define CLEANUP_PCRE2_MATCH_DATA
+#define CLEANUP_PCRE2_SUBSTRING_FREE
 #endif
 
 /* These functions are used internally by the CLEANUP_* macros.
@@ -70,5 +76,7 @@
 extern void guestfs_int_cleanup_xmlFreeTextWriter (void *ptr);
 extern void guestfs_int_cleanup_xmlXPathFreeContext (void *ptr);
 extern void guestfs_int_cleanup_xmlXPathFreeObject (void *ptr);
+extern void guestfs_int_cleanup_pcre2_match_data_free (void *ptr);
+extern void guestfs_int_cleanup_pcre2_substring_free (void *ptr);
 
 #endif /* GUESTFS_CLEANUPS_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/m4/p2v-libraries.m4 
new/virt-p2v-1.42.2/m4/p2v-libraries.m4
--- old/virt-p2v-1.42.1/m4/p2v-libraries.m4     2019-09-24 12:10:33.000000000 
+0200
+++ new/virt-p2v-1.42.2/m4/p2v-libraries.m4     2022-07-25 19:11:53.586113817 
+0200
@@ -26,15 +26,8 @@
 dnl Which header file defines major, minor, makedev.
 AC_HEADER_MAJOR
 
-dnl Check for PCRE (required)
-PKG_CHECK_MODULES([PCRE], [libpcre], [], [
-    AC_CHECK_PROGS([PCRE_CONFIG], [pcre-config pcre2-config], [no])
-    AS_IF([test "x$PCRE_CONFIG" = "xno"], [
-        AC_MSG_ERROR([Please install the pcre devel package])
-    ])
-    PCRE_CFLAGS=`$PCRE_CONFIG --cflags`
-    PCRE_LIBS=`$PCRE_CONFIG --libs`
-])
+dnl Check for PCRE2 (required)
+PKG_CHECK_MODULES([PCRE2], [libpcre2-8])
 
 dnl libxml2 (required)
 PKG_CHECK_MODULES([LIBXML2], [libxml-2.0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/miniexpect/README 
new/virt-p2v-1.42.2/miniexpect/README
--- old/virt-p2v-1.42.1/miniexpect/README       2019-08-29 17:45:42.000000000 
+0200
+++ new/virt-p2v-1.42.2/miniexpect/README       2022-07-25 19:11:53.587113823 
+0200
@@ -3,11 +3,11 @@
 It has a saner interface than libexpect, and doesn't depend on Tcl.
 It is also thread safe, const-correct and uses modern C standards.
 
-It is standalone, except that it requires the PCRE (Perl Compatible
-Regular Expressions) library from http://www.pcre.org/.  The PCRE
+It is standalone, except that it requires the PCRE2 (Perl Compatible
+Regular Expressions) library from http://www.pcre.org/.  The PCRE2
 dependency is fundamental because we want to offer the most powerful
 regular expression syntax to match on, but more importantly because
-PCRE has a convenient way to detect partial matches which made this
+PCRE2 has a convenient way to detect partial matches which made this
 library very simple to implement.
 
 License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/miniexpect/miniexpect.c 
new/virt-p2v-1.42.2/miniexpect/miniexpect.c
--- old/virt-p2v-1.42.1/miniexpect/miniexpect.c 2019-08-29 17:45:42.000000000 
+0200
+++ new/virt-p2v-1.42.2/miniexpect/miniexpect.c 2022-07-25 19:11:53.587113823 
+0200
@@ -35,14 +35,8 @@
 #include <sys/wait.h>
 #include <sys/time.h>
 
-#include <pcre.h>
-
-/* RHEL 6 pcre did not define PCRE_PARTIAL_SOFT.  However PCRE_PARTIAL
- * is a synonym so use that.
- */
-#ifndef PCRE_PARTIAL_SOFT
-#define PCRE_PARTIAL_SOFT PCRE_PARTIAL
-#endif
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
 
 #include "miniexpect.h"
 
@@ -251,7 +245,8 @@
 }
 
 enum mexp_status
-mexp_expect (mexp_h *h, const mexp_regexp *regexps, int *ovector, int ovecsize)
+mexp_expect (mexp_h *h, const mexp_regexp *regexps,
+             pcre2_match_data *match_data)
 {
   time_t start_t, now_t;
   int timeout;
@@ -347,29 +342,36 @@
       assert (h->buffer != NULL);
 
       for (i = 0; regexps[i].r > 0; ++i) {
-        const int options = regexps[i].options | PCRE_PARTIAL_SOFT;
+        const int options = regexps[i].options | PCRE2_PARTIAL_SOFT;
 
-        r = pcre_exec (regexps[i].re, regexps[i].extra,
-                       h->buffer, (int)h->len, 0,
-                       options,
-                       ovector, ovecsize);
+        r = pcre2_match (regexps[i].re,
+                         (PCRE2_SPTR) h->buffer, (int)h->len, 0,
+                         options, match_data, NULL);
         h->pcre_error = r;
 
         if (r >= 0) {
           /* A full match. */
-          if (ovector != NULL && ovecsize >= 1 && ovector[1] >= 0)
+          const PCRE2_SIZE *ovector = NULL;
+
+          if (match_data)
+            ovector = pcre2_get_ovector_pointer (match_data);
+
+          if (ovector != NULL && ovector[1] >= 0)
             h->next_match = ovector[1];
           else
             h->next_match = -1;
+          if (h->debug_fp)
+            fprintf (h->debug_fp, "DEBUG: next_match at buffer offset %zu\n",
+                     h->next_match);
           return regexps[i].r;
         }
 
-        else if (r == PCRE_ERROR_NOMATCH) {
+        else if (r == PCRE2_ERROR_NOMATCH) {
           /* No match at all. */
           /* (nothing here) */
         }
 
-        else if (r == PCRE_ERROR_PARTIAL) {
+        else if (r == PCRE2_ERROR_PARTIAL) {
           /* Partial match.  Keep the buffer and keep reading. */
           can_clear_buffer = 0;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/miniexpect/miniexpect.h 
new/virt-p2v-1.42.2/miniexpect/miniexpect.h
--- old/virt-p2v-1.42.1/miniexpect/miniexpect.h 2019-08-29 17:45:42.000000000 
+0200
+++ new/virt-p2v-1.42.2/miniexpect/miniexpect.h 2022-07-25 19:11:53.588113830 
+0200
@@ -1,5 +1,5 @@
 /* miniexpect
- * Copyright (C) 2014 Red Hat Inc.
+ * Copyright (C) 2014-2022 Red Hat Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -32,7 +32,8 @@
 #include <stdio.h>
 #include <unistd.h>
 
-#include <pcre.h>
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
 
 /* This handle is created per subprocess that is spawned. */
 struct mexp_h {
@@ -84,8 +85,7 @@
 /* Expect. */
 struct mexp_regexp {
   int r;
-  const pcre *re;
-  const pcre_extra *extra;
+  const pcre2_code *re;
   int options;
 };
 typedef struct mexp_regexp mexp_regexp;
@@ -98,7 +98,7 @@
 };
 
 extern int mexp_expect (mexp_h *h, const mexp_regexp *regexps,
-                        int *ovector, int ovecsize);
+                        pcre2_match_data *match_data);
 
 /* Sending commands, keypresses. */
 extern int mexp_printf (mexp_h *h, const char *fs, ...)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/ssh.c new/virt-p2v-1.42.2/ssh.c
--- old/virt-p2v-1.42.1/ssh.c   2022-05-10 09:32:45.955796816 +0200
+++ new/virt-p2v-1.42.2/ssh.c   2022-07-25 19:11:53.589113836 +0200
@@ -1,5 +1,5 @@
 /* virt-p2v
- * Copyright (C) 2009-2019 Red Hat Inc.
+ * Copyright (C) 2009-2022 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
@@ -113,94 +113,75 @@
 static void compile_regexps (void) __attribute__((constructor));
 static void free_regexps (void) __attribute__((destructor));
 
-static pcre *password_re;
-static pcre *ssh_message_re;
-static pcre *sudo_password_re;
-static pcre *prompt_re;
-static pcre *version_re;
-static pcre *feature_libguestfs_rewrite_re;
-static pcre *feature_colours_option_re;
-static pcre *feature_input_re;
-static pcre *feature_output_re;
-static pcre *portfwd_re;
+static pcre2_code *password_re;
+static pcre2_code *ssh_message_re;
+static pcre2_code *sudo_password_re;
+static pcre2_code *prompt_re;
+static pcre2_code *version_re;
+static pcre2_code *feature_libguestfs_rewrite_re;
+static pcre2_code *feature_colours_option_re;
+static pcre2_code *feature_input_re;
+static pcre2_code *feature_output_re;
+static pcre2_code *portfwd_re;
 
 static void
 compile_regexps (void)
 {
-  const char *err;
-  int offset;
-  int p;
-
-  /* These regexps are always used for partial matching.  In pcre < 8
-   * there were limitations on the regexps possible for partial
-   * matching, so fail if that is true here.  In pcre >= 8, all
-   * regexps can be used in a partial match.
-   */
-#ifdef PCRE_INFO_OKPARTIAL
-#define CHECK_PARTIAL_OK(pattern, re)                                  \
-  do {                                                                 \
-    pcre_fullinfo ((re), NULL, PCRE_INFO_OKPARTIAL, &p);               \
-    if (p != 1) {                                                      \
-      fprintf (stderr, "%s: %s:%d: internal error: pattern '%s' cannot be used 
for partial matching\n", \
-              g_get_prgname (),                                \
-              __FILE__, __LINE__, (pattern));                          \
-      abort ();                                                                
\
-    }                                                                  \
-  } while (0)
-#else
-#define CHECK_PARTIAL_OK(pattern, re) /* skip check */
-#endif
+  int errorcode;
+  PCRE2_SIZE offset;
+  char errormsg[256];
 
-#define COMPILE(re,pattern,options)                                     \
+#define COMPILE(re,pattern)                                             \
   do {                                                                  \
-    re = pcre_compile ((pattern), (options), &err, &offset, NULL);      \
+    re = pcre2_compile ((PCRE2_SPTR) (pattern),                         \
+                        PCRE2_ZERO_TERMINATED,                          \
+                        0, &errorcode, &offset, NULL);                  \
     if (re == NULL) {                                                   \
-      ignore_value (write (2, err, strlen (err)));                      \
+      pcre2_get_error_message (errorcode,                               \
+                               (PCRE2_UCHAR *) errormsg, sizeof errormsg); \
+      ignore_value (write (2, errormsg, strlen (errormsg)));            \
       abort ();                                                         \
     }                                                                   \
-    CHECK_PARTIAL_OK ((pattern), re);                                  \
   } while (0)
 
-  COMPILE (password_re, "password:", 0);
+  COMPILE (password_re, "password:");
   /* Note that (?:.)* is required in order to work around a problem
    * with partial matching and PCRE in RHEL 5.
    */
-  COMPILE (ssh_message_re, "(ssh: (?:.)*)", 0);
-  COMPILE (sudo_password_re, "sudo: a password is required", 0);
+  COMPILE (ssh_message_re, "(ssh: (?:.)*)");
+  COMPILE (sudo_password_re, "sudo: a password is required");
   /* The magic synchronization strings all match this expression.  See
    * start_ssh function below.
    */
   COMPILE (prompt_re,
-          "###((?:[0123456789abcdefghijklmnopqrstuvwxyz]){8})### ", 0);
+          "###((?:[0123456789abcdefghijklmnopqrstuvwxyz]){8})### ");
   /* Note that (?:.)* is required in order to work around a problem
    * with partial matching and PCRE in RHEL 5.
    */
-  COMPILE (version_re,
-           "virt-v2v ([1-9](?:.)*)",
-          0);
-  COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite", 0);
-  COMPILE (feature_colours_option_re, "colours-option", 0);
+  COMPILE (version_re, "virt-v2v ([1-9](?:.)*)");
+  COMPILE (feature_libguestfs_rewrite_re, "libguestfs-rewrite");
+  COMPILE (feature_colours_option_re, "colours-option");
   /* The input and output regexps must match the same pattern in
    * v2v/modules_list.ml.
    */
-  COMPILE (feature_input_re, "input:((?:[-\\w])+)", 0);
-  COMPILE (feature_output_re, "output:((?:[-\\w])+)", 0);
-  COMPILE (portfwd_re, "Allocated port ((?:\\d)+) for remote forward", 0);
+  COMPILE (feature_input_re, "input:((?:[-\\w])+)");
+  COMPILE (feature_output_re, "output:((?:[-\\w])+)");
+  COMPILE (portfwd_re, "Allocated port ((?:\\d)+) for remote forward");
 }
 
 static void
 free_regexps (void)
 {
-  pcre_free (password_re);
-  pcre_free (ssh_message_re);
-  pcre_free (sudo_password_re);
-  pcre_free (prompt_re);
-  pcre_free (version_re);
-  pcre_free (feature_libguestfs_rewrite_re);
-  pcre_free (feature_colours_option_re);
-  pcre_free (feature_input_re);
-  pcre_free (feature_output_re);
-  pcre_free (portfwd_re);
+  pcre2_code_free (password_re);
+  pcre2_code_free (ssh_message_re);
+  pcre2_code_free (sudo_password_re);
+  pcre2_code_free (prompt_re);
+  pcre2_code_free (version_re);
+  pcre2_code_free (feature_libguestfs_rewrite_re);
+  pcre2_code_free (feature_colours_option_re);
+  pcre2_code_free (feature_input_re);
+  pcre2_code_free (feature_output_re);
+  pcre2_code_free (portfwd_re);
 }
 
 /**
@@ -328,8 +309,8 @@
   char port_str[64];
   char connect_timeout_str[128];
   mexp_h *h;
-  const int ovecsize = 12;
-  int ovector[ovecsize];
+  CLEANUP_PCRE2_MATCH_DATA pcre2_match_data *match_data =
+    pcre2_match_data_create (4, NULL);
   int saved_timeout;
   int using_password_auth;
   size_t count;
@@ -404,7 +385,8 @@
 
   if (using_password_auth &&
       config->auth.password && strlen (config->auth.password) > 0) {
-    CLEANUP_FREE char *ssh_message = NULL;
+    CLEANUP_PCRE2_SUBSTRING_FREE PCRE2_UCHAR *ssh_message = NULL;
+    PCRE2_SIZE ssh_msglen;
 
     /* Wait for the password prompt. */
   wait_password_again:
@@ -413,7 +395,7 @@
                            { 100, .re = password_re },
                            { 101, .re = ssh_message_re },
                            { 0 }
-                         }, ovector, ovecsize)) {
+                         }, match_data)) {
     case 100:                   /* Got password prompt. */
       if (mexp_printf_password (h, "%s", config->auth.password) == -1 ||
           mexp_printf (h, "\n") == -1) {
@@ -424,8 +406,8 @@
       break;
 
     case 101:
-      free (ssh_message);
-      ssh_message = strndup (&h->buffer[ovector[2]], ovector[3]-ovector[2]);
+      pcre2_substring_free (ssh_message);
+      pcre2_substring_get_bynumber (match_data, 1, &ssh_message, &ssh_msglen);
       goto wait_password_again;
 
     case MEXP_EOF:
@@ -436,7 +418,7 @@
        * generic error instead.
        */
       if (ssh_message)
-        set_ssh_error ("%s", ssh_message);
+        set_ssh_error ("%s", (char *) ssh_message);
       else
         set_ssh_error ("ssh closed the connection without printing an error.");
       mexp_close (h);
@@ -491,7 +473,8 @@
 
   for (count = 0; count < 30; ++count) {
     char magic[9];
-    const char *matched;
+    PCRE2_UCHAR *matched;
+    PCRE2_SIZE matchlen;
     int r;
 
     if (guestfs_int_random_string (magic, 8) == -1) {
@@ -516,7 +499,7 @@
                            { 100, .re = password_re },
                            { 101, .re = prompt_re },
                            { 0 }
-                         }, ovector, ovecsize)) {
+                         }, match_data)) {
     case 100:                    /* Got password prompt unexpectedly. */
       set_ssh_error ("Login failed.  Probably the username and/or password is 
wrong.");
       mexp_close (h);
@@ -526,12 +509,11 @@
       /* Got a prompt.  However it might be an earlier prompt.  If it
        * doesn't match the PS1 string we sent, then repeat the expect.
        */
-      r = pcre_get_substring (h->buffer, ovector,
-                              mexp_get_pcre_error (h), 1, &matched);
+      r = pcre2_substring_get_bynumber (match_data, 1, &matched, &matchlen);
       if (r < 0)
         error (EXIT_FAILURE, 0, "pcre error reading substring (%d)", r);
-      r = STREQ (magic, matched);
-      pcre_free_substring (matched);
+      r = STREQ (magic, (char *) matched);
+      pcre2_substring_free (matched);
       if (!r)
         goto wait_again;
       goto got_prompt;
@@ -592,8 +574,8 @@
   char connect_timeout_str[128];
   CLEANUP_FREE char *remote = NULL;
   mexp_h *h;
-  const int ovecsize = 12;
-  int ovector[ovecsize];
+  CLEANUP_PCRE2_MATCH_DATA pcre2_match_data *match_data =
+    pcre2_match_data_create (4, NULL);
   int using_password_auth;
 
   if (cache_ssh_identity (config) == -1)
@@ -674,7 +656,8 @@
 
   if (using_password_auth &&
       config->auth.password && strlen (config->auth.password) > 0) {
-    CLEANUP_FREE char *ssh_message = NULL;
+    CLEANUP_PCRE2_SUBSTRING_FREE PCRE2_UCHAR *ssh_message = NULL;
+    PCRE2_SIZE ssh_msglen;
 
     /* Wait for the password prompt. */
   wait_password_again:
@@ -683,7 +666,7 @@
                            { 100, .re = password_re },
                            { 101, .re = ssh_message_re },
                            { 0 }
-                         }, ovector, ovecsize)) {
+                         }, match_data)) {
     case 100:                   /* Got password prompt. */
       if (mexp_printf_password (h, "%s", config->auth.password) == -1 ||
           mexp_printf (h, "\n") == -1) {
@@ -694,8 +677,8 @@
       break;
 
     case 101:
-      free (ssh_message);
-      ssh_message = strndup (&h->buffer[ovector[2]], ovector[3]-ovector[2]);
+      pcre2_substring_free (ssh_message);
+      pcre2_substring_get_bynumber (match_data, 1, &ssh_message, &ssh_msglen);
       goto wait_password_again;
 
     case MEXP_EOF:
@@ -706,7 +689,7 @@
        * generic error instead.
        */
       if (ssh_message)
-        set_ssh_error ("%s", ssh_message);
+        set_ssh_error ("%s", (char *) ssh_message);
       else
         set_ssh_error ("scp closed the connection without printing an error.");
       mexp_close (h);
@@ -730,7 +713,7 @@
   }
 
   /* Wait for the scp subprocess to finish. */
-  switch (mexp_expect (h, NULL, NULL, 0)) {
+  switch (mexp_expect (h, NULL, NULL)) {
   case MEXP_EOF:
     break;
 
@@ -758,8 +741,8 @@
   return 0;
 }
 
-static void add_input_driver (const char *name, size_t len);
-static void add_output_driver (const char *name, size_t len);
+static void add_input_driver (const char *name);
+static void add_output_driver (const char *name);
 static int compatible_version (const char *v2v_version);
 
 #if defined(__GNUC__) && !defined(__clang__)
@@ -771,8 +754,9 @@
   mexp_h *h;
   int feature_libguestfs_rewrite = 0;
   int status;
-  const int ovecsize = 12;
-  int ovector[ovecsize];
+  CLEANUP_PCRE2_MATCH_DATA pcre2_match_data *match_data =
+    pcre2_match_data_create (4, NULL);
+  PCRE2_SIZE verlen;
 
   h = start_ssh (0, config, NULL, 1);
   if (h == NULL)
@@ -802,10 +786,11 @@
                            { 101, .re = sudo_password_re },
                            { 102, .re = prompt_re },
                            { 0 }
-                         }, ovector, ovecsize)) {
+                         }, match_data)) {
     case 100:                   /* Got version string. */
       free (v2v_version);
-      v2v_version = strndup (&h->buffer[ovector[2]], ovector[3]-ovector[2]);
+      pcre2_substring_get_bynumber (match_data, 1,
+                                    (PCRE2_UCHAR **) &v2v_version, &verlen);
 #if DEBUG_STDERR
       fprintf (stderr, "%s: remote virt-v2v version: %s\n",
                g_get_prgname (), v2v_version);
@@ -874,6 +859,9 @@
   }
 
   for (;;) {
+    PCRE2_UCHAR *driver;
+    PCRE2_SIZE drvrlen;
+
     switch (mexp_expect (h,
                          (mexp_regexp[]) {
                            { 100, .re = feature_libguestfs_rewrite_re },
@@ -882,7 +870,7 @@
                            { 103, .re = feature_output_re },
                            { 104, .re = prompt_re },
                            { 0 }
-                         }, ovector, ovecsize)) {
+                         }, match_data)) {
     case 100:                   /* libguestfs-rewrite. */
       feature_libguestfs_rewrite = 1;
       break;
@@ -897,14 +885,16 @@
 
     case 102:
       /* input:<driver-name> corresponds to an -i option in virt-v2v. */
-      add_input_driver (&h->buffer[ovector[2]],
-                        (size_t) (ovector[3]-ovector[2]));
+      pcre2_substring_get_bynumber (match_data, 1, &driver, &drvrlen);
+      add_input_driver ((char *) driver);
+      pcre2_substring_free (driver);
       break;
 
     case 103:
       /* output:<driver-name> corresponds to an -o option in virt-v2v. */
-      add_output_driver (&h->buffer[ovector[2]],
-                         (size_t) (ovector[3]-ovector[2]));
+      pcre2_substring_get_bynumber (match_data, 1, &driver, &drvrlen);
+      add_output_driver ((char *) driver);
+      pcre2_substring_free (driver);
       break;
 
     case 104:                   /* Got prompt, so end of output. */
@@ -946,7 +936,7 @@
     return -1;
   }
 
-  switch (mexp_expect (h, NULL, NULL, 0)) {
+  switch (mexp_expect (h, NULL, NULL)) {
   case MEXP_EOF:
     break;
 
@@ -982,7 +972,7 @@
 }
 
 static void
-add_option (const char *type, char ***drivers, const char *name, size_t len)
+add_option (const char *type, char ***drivers, const char *name)
 {
   size_t n;
 
@@ -997,9 +987,9 @@
   if (*drivers == NULL)
     error (EXIT_FAILURE, errno, "malloc");
 
-  (*drivers)[n-1] = strndup (name, len);
+  (*drivers)[n-1] = strdup (name);
   if ((*drivers)[n-1] == NULL)
-    error (EXIT_FAILURE, errno, "strndup");
+    error (EXIT_FAILURE, errno, "strdup");
   (*drivers)[n] = NULL;
 
 #if DEBUG_STDERR
@@ -1009,22 +999,22 @@
 }
 
 static void
-add_input_driver (const char *name, size_t len)
+add_input_driver (const char *name)
 {
-  add_option ("input", &input_drivers, name, len);
+  add_option ("input", &input_drivers, name);
 }
 
 static void
-add_output_driver (const char *name, size_t len)
+add_output_driver (const char *name)
 {
   /* Ignore the 'vdsm' driver, since that should only be used by VDSM.
    * Ignore the 'openstack' and 'rhv-upload' drivers, since we do not
    * support passing all the options for them.
    */
-  if ((len != 4 || memcmp (name, "vdsm", 4) != 0) &&
-      (len != 9 || memcmp (name, "openstack", 9) != 0) &&
-      (len != 10 || memcmp (name, "rhv-upload", 10) != 0))
-    add_option ("output", &output_drivers, name, len);
+  if (STRNEQ (name, "vdsm") &&
+      STRNEQ (name, "openstack") &&
+      STRNEQ (name, "rhv-upload"))
+    add_option ("output", &output_drivers, name);
 }
 
 static int
@@ -1071,9 +1061,10 @@
     "-N",
     NULL
   };
-  CLEANUP_FREE char *port_str = NULL;
-  const int ovecsize = 12;
-  int ovector[ovecsize];
+  PCRE2_UCHAR *port_str;
+  PCRE2_SIZE portlen;
+  CLEANUP_PCRE2_MATCH_DATA pcre2_match_data *match_data =
+    pcre2_match_data_create (4, NULL);
 
   snprintf (remote_arg, sizeof remote_arg, "0:localhost:%d", local_port);
 
@@ -1085,20 +1076,22 @@
                        (mexp_regexp[]) {
                          { 100, .re = portfwd_re },
                          { 0 }
-                       }, ovector, ovecsize)) {
+                       }, match_data)) {
   case 100:                     /* Ephemeral port. */
-    port_str = strndup (&h->buffer[ovector[2]], ovector[3]-ovector[2]);
+    pcre2_substring_get_bynumber (match_data, 1, &port_str, &portlen);
     if (port_str == NULL) {
       set_ssh_internal_error ("strndup: %m");
       mexp_close (h);
       return NULL;
     }
-    if (sscanf (port_str, "%d", remote_port) != 1) {
+    if (sscanf ((char *) port_str, "%d", remote_port) != 1) {
       set_ssh_internal_error ("cannot extract the port number from '%s'",
                               port_str);
+      pcre2_substring_free (port_str);
       mexp_close (h);
       return NULL;
     }
+    pcre2_substring_free (port_str);
     break;
 
   case MEXP_EOF:
@@ -1129,14 +1122,14 @@
 static int
 wait_for_prompt (mexp_h *h)
 {
-  const int ovecsize = 12;
-  int ovector[ovecsize];
+  CLEANUP_PCRE2_MATCH_DATA pcre2_match_data *match_data =
+    pcre2_match_data_create (4, NULL);
 
   switch (mexp_expect (h,
                        (mexp_regexp[]) {
                          { 100, .re = prompt_re },
                          { 0 }
-                       }, ovector, ovecsize)) {
+                       }, match_data)) {
   case 100:                     /* Got the prompt. */
     return 0;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/virt-p2v-make-disk.in 
new/virt-p2v-1.42.2/virt-p2v-make-disk.in
--- old/virt-p2v-1.42.1/virt-p2v-make-disk.in   2022-03-31 10:56:30.552356059 
+0200
+++ new/virt-p2v-1.42.2/virt-p2v-make-disk.in   2022-07-25 17:48:37.884430880 
+0200
@@ -20,6 +20,9 @@
 
 program="virt-p2v-make-disk"
 version="@PACKAGE_VERSION@"
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
 
 if [ -n "$VIRT_P2V_DATA_DIR" ]; then
     datadir="$VIRT_P2V_DATA_DIR"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/virt-p2v-make-kickstart.in 
new/virt-p2v-1.42.2/virt-p2v-make-kickstart.in
--- old/virt-p2v-1.42.1/virt-p2v-make-kickstart.in      2022-01-25 
11:08:42.530885176 +0100
+++ new/virt-p2v-1.42.2/virt-p2v-make-kickstart.in      2022-07-25 
17:48:37.884430880 +0200
@@ -20,6 +20,9 @@
 
 program="virt-p2v-make-kickstart"
 version="@PACKAGE_VERSION@"
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
 
 # Parse the command line arguments.
 shortopts=o:vV
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-p2v-1.42.1/virt-p2v-make-kiwi.in 
new/virt-p2v-1.42.2/virt-p2v-make-kiwi.in
--- old/virt-p2v-1.42.1/virt-p2v-make-kiwi.in   2019-09-24 12:10:33.000000000 
+0200
+++ new/virt-p2v-1.42.2/virt-p2v-make-kiwi.in   2022-07-25 17:48:37.885430886 
+0200
@@ -20,6 +20,9 @@
 
 program="virt-p2v-make-kiwi"
 version="@PACKAGE_VERSION@"
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+datarootdir="@datarootdir@"
 
 # Parse the command line arguments.
 shortopts=o:V

Reply via email to