[v2] abicompat: Add prompt message for abnormal operation

Message ID 20211029092343.32219-1-tangmeng@uniontech.com
State New
Headers
Series [v2] abicompat: Add prompt message for abnormal operation |

Commit Message

tangmeng Oct. 29, 2021, 9:23 a.m. UTC
  When using abicompat, if the user configures the
lib2 path while using the xxx option, the configuration
of lib2 is not actually processed in the command
execution process, and there is no prompt message.
It will cause lib2 to be considered to have been processed,
so a warning is added here to prompt the user.

            * tools/abicompat.cc (main): Add warning tips for some actions
            (main): Remove extra spaces in the comment code

Signed-off-by: tangmeng <tangmeng@uniontech.com>
---
 tools/abicompat.cc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Dodji Seketeli Nov. 2, 2021, 9:18 a.m. UTC | #1
Hello,

tangmeng <tangmeng@uniontech.com> a écrit:

> When using abicompat, if the user configures the
> lib2 path while using the xxx option, the configuration
> of lib2 is not actually processed in the command
> execution process, and there is no prompt message.
> It will cause lib2 to be considered to have been processed,
> so a warning is added here to prompt the user.

Thanks!  I have just re-worded this introduction a little bit.

[...]


> -/// An description of a change of the type of a function.  It contains
> +/// An description of a change of the type of a function. It contains

It's a common pattern we use throughout the code to add one extra space
after the dot.  This is convention used in the code of GNU projects and
we kept it for historical reasons.  So it's not a problem.  I changed
the "An description" into "A description", however.

So, here is the patch that was applied to the master branch of the Git
repository.

Thanks!

From ba18218ec2b8cf32b86aef4c4b539411ef0bd645 Mon Sep 17 00:00:00 2001
From: tangmeng <tangmeng@uniontech.com>
Date: Fri, 29 Oct 2021 17:23:43 +0800
Subject: [PATCH] abicompat: Add prompt message for abnormal operation

When using abicompat, if the uses the --weak-mode option and also
provides a lib2 path on the command line, the lib2 path is silently
ignored.

This patch provides a warning to notify the user that the lib2 path is
ignored in that case.

	* tools/abicompat.cc (main): Notify the user when the path to
	the second library is ignored because the --weak-mode option
	was provided.  Also, fix comment.

Signed-off-by: tangmeng <tangmeng@uniontech.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
 tools/abicompat.cc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/abicompat.cc b/tools/abicompat.cc
index 60cd794f..cf944a49 100644
--- a/tools/abicompat.cc
+++ b/tools/abicompat.cc
@@ -390,7 +390,7 @@ perform_compat_check_in_normal_mode(options& opts,
   return status;
 }
 
-/// An description of a change of the type of a function.  It contains
+/// A description of a change of the type of a function.  It contains
 /// the declaration of the function we are interested in, as well as
 /// the differences found in the type of that function.
 struct fn_change
@@ -638,6 +638,13 @@ main(int argc, char* argv[])
       return 0;
     }
 
+  if (opts.weak_mode && !opts.lib2_path.empty())
+    {
+      emit_prefix(argv[0], cout)
+        << "WARNING: The \'--weak-mode\' option is used. The "
+	<< opts.lib2_path << " will be ignored automatically\n";
+    }
+
   ABG_ASSERT(!opts.app_path.empty());
   if (!abigail::tools_utils::check_file(opts.app_path, cerr, opts.prog_name))
     return abigail::tools_utils::ABIDIFF_ERROR;
  

Patch

diff --git a/tools/abicompat.cc b/tools/abicompat.cc
index 60cd794f..989915f3 100644
--- a/tools/abicompat.cc
+++ b/tools/abicompat.cc
@@ -390,7 +390,7 @@  perform_compat_check_in_normal_mode(options& opts,
   return status;
 }
 
-/// An description of a change of the type of a function.  It contains
+/// An description of a change of the type of a function. It contains
 /// the declaration of the function we are interested in, as well as
 /// the differences found in the type of that function.
 struct fn_change
@@ -638,6 +638,13 @@  main(int argc, char* argv[])
       return 0;
     }
 
+  if (opts.weak_mode && !opts.lib2_path.empty())
+    {
+      emit_prefix(argv[0], cout)
+        << "WARNING: The \'--weak-mode\' option is used. The "
+	<< opts.lib2_path << " will be ignored automatically\n";
+    }
+
   ABG_ASSERT(!opts.app_path.empty());
   if (!abigail::tools_utils::check_file(opts.app_path, cerr, opts.prog_name))
     return abigail::tools_utils::ABIDIFF_ERROR;