[OE-core] [PATCH] smartpm: Remove unnecessary error reporting improvement patch

Klauer, Daniel Daniel.Klauer at gin.de
Tue May 17 12:59:25 UTC 2016


The error reporting improvements were merged upstream (smartpm 406541f569)
and refactored later (smartpm 20af0aac33), yet a part of the patch was
kept here (oe-core 5fc580fc44).

Due to the upstream refactoring the patch still applies cleanly, but it
isn't actually needed. The added changes are duplicate or dead code.

Signed-off-by: Daniel Klauer <daniel.klauer at gin.de>
---
 .../smart-improve-error-reporting.patch            | 91 ----------------------
 meta/recipes-devtools/python/python-smartpm_git.bb |  1 -
 2 files changed, 92 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch

diff --git a/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch b/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch
deleted file mode 100644
index b82265b..0000000
--- a/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Improve error reporting in smart
-
-Add code to check proper command line arguments for various
-smart commands. Exit with error if erroneous/additional arguments
-are given in the command line.
-
-Upstream-Status: Pending
-
-Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu at intel.com>
-
-diff --git a/smart/util/optparse.py b/smart/util/optparse.py
-index 6fff1bc..f445a3b 100644
---- a/smart/util/optparse.py
-+++ b/smart/util/optparse.py
-@@ -70,6 +70,8 @@ import sys, os
- import types
- import textwrap
- from gettext import gettext as _
-+from smart import Error
-+import re
- 
- def _repr(self):
-     return "<%s at 0x%x: %s>" % (self.__class__.__name__, id(self), self)
-@@ -710,6 +712,12 @@ class Option:
-             self.action, self.dest, opt, value, values, parser)
- 
-     def take_action(self, action, dest, opt, value, values, parser):
-+        # Keep all the options in the command line in the '_given_opts' array
-+        # This will be used later to validate the command line
-+        given_opts = getattr(parser.values, "_given_opts", [])
-+        user_opt = re.sub(r"^\-*", "", opt).replace("-", "_")
-+        given_opts.append(user_opt)
-+        setattr(parser.values, "_given_opts", given_opts)
-         if action == "store":
-             setattr(values, dest, value)
-         elif action == "store_const":
-@@ -821,6 +829,54 @@ class Values:
-             setattr(self, attr, value)
-         return getattr(self, attr)
- 
-+    # Check if the given option has the specified number of arguments
-+    # Raise an error if the option has an invalid number of arguments
-+    # A negative number for 'nargs' means "at least |nargs| arguments are needed"
-+    def check_args_of_option(self, opt, nargs, err=None):
-+        given_opts = getattr(self, "_given_opts", [])
-+        if not opt in given_opts:
-+            return
-+        values = getattr(self, opt, [])
-+        if type(values) != type([]):
-+            return
-+        if nargs < 0:
-+            nargs = -nargs
-+            if len(values) >= nargs:
-+                return
-+            if not err:
-+                if nargs == 1:
-+                    err = _("Option '%s' requires at least one argument") % opt
-+                else:
-+                    err = _("Option '%s' requires at least %d arguments") % (opt, nargs)
-+            raise Error, err
-+        elif nargs == 0:
-+            if len( values ) == 0:
-+                return
-+            raise Error, err
-+        else:
-+            if len(values) == nargs:
-+                return
-+            if not err:
-+                if nargs == 1:
-+                    err = _("Option '%s' requires one argument") % opt
-+                else:
-+                    err = _("Option '%s' requires %d arguments") % (opt, nargs)
-+            raise Error, err
-+
-+    # Check that at least one of the options in 'actlist' was given as an argument
-+    # to the command 'cmdname'
-+    def ensure_action(self, cmdname, actlist):
-+        given_opts = getattr(self, "_given_opts", [])
-+        for action in actlist:
-+            if action in given_opts:
-+                return
-+        raise Error, _("No action specified for command '%s'") % cmdname
-+
-+    # Check if there are any other arguments left after parsing the command line and
-+    # raise an error if such arguments are found
-+    def check_remaining_args(self):
-+        if self.args:
-+            raise Error, _("Invalid argument(s) '%s'" % str(self.args))
- 
- class OptionContainer:
- 
diff --git a/meta/recipes-devtools/python/python-smartpm_git.bb b/meta/recipes-devtools/python/python-smartpm_git.bb
index 0d37dae..5acfb0a 100644
--- a/meta/recipes-devtools/python/python-smartpm_git.bb
+++ b/meta/recipes-devtools/python/python-smartpm_git.bb
@@ -15,7 +15,6 @@ SRC_URI = "\
           git://github.com/smartpm/smart.git \
           file://smartpm-rpm5-nodig.patch \
           file://smart-recommends.patch \
-          file://smart-improve-error-reporting.patch \
           file://smart-channelsdir.patch \
           file://smart-rpm-transaction-failure-check.patch \
           file://smart-attempt.patch \
-- 
1.9.1




More information about the Openembedded-core mailing list