diff options
| -rw-r--r-- | meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch | 86 | ||||
| -rw-r--r-- | meta/recipes-devtools/python/python-smartpm_1.4.1.bb | 1 | 
2 files changed, 87 insertions, 0 deletions
| diff --git a/meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch b/meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch new file mode 100644 index 0000000000..e16c5c12aa --- /dev/null +++ b/meta/recipes-devtools/python/python-smartpm/smart-yaml-error.patch @@ -0,0 +1,86 @@ +Print a more friendly error if YAML output is requested without PyYAML + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +diff --git a/smart/commands/channel.py b/smart/commands/channel.py +index 63fbb35..108f3f1 100644 +--- a/smart/commands/channel.py ++++ b/smart/commands/channel.py +@@ -339,7 +339,10 @@ def main(ctrl, opts): +                     print +  +     if opts.yaml is not None: +-        import yaml ++        try: ++            import yaml ++        except ImportError: ++            raise Error, _("Please install PyYAML in order to use this function") +         yamlchannels = {} +         for alias in (opts.yaml or sysconf.get("channels", ())): +             channel = sysconf.get(("channels", alias)) +diff --git a/smart/commands/config.py b/smart/commands/config.py +index 4fe4366..aa1db78 100644 +--- a/smart/commands/config.py ++++ b/smart/commands/config.py +@@ -137,7 +137,10 @@ def main(ctrl, opts): +             pprint.pprint(sysconf.get((), hard=True)) +  +     if opts.yaml is not None: +-        import yaml ++        try: ++            import yaml ++        except ImportError: ++            raise Error, _("Please install PyYAML in order to use this function") +         if opts.yaml: +             marker = object() +             for opt in opts.yaml: +diff --git a/smart/commands/flag.py b/smart/commands/flag.py +index ed18999..8b90496 100644 +--- a/smart/commands/flag.py ++++ b/smart/commands/flag.py +@@ -138,7 +138,10 @@ def main(ctrl, opts): +             print +  +     if opts.yaml is not None: +-        import yaml ++        try: ++            import yaml ++        except ImportError: ++            raise Error, _("Please install PyYAML in order to use this function") +         yamlflags = {} +         for flag in opts.yaml or pkgconf.getFlagNames(): +             flag = flag.strip() +diff --git a/smart/commands/mirror.py b/smart/commands/mirror.py +index ca50a95..f7b019d 100644 +--- a/smart/commands/mirror.py ++++ b/smart/commands/mirror.py +@@ -218,7 +218,10 @@ def main(ctrl, opts): +             print +  +     if opts.yaml: +-        import yaml ++        try: ++            import yaml ++        except ImportError: ++            raise Error, _("Please install PyYAML in order to use this function") +         yamlmirrors = {} +         mirrors = sysconf.get("mirrors", ()) +         for origin in mirrors: +diff --git a/smart/commands/priority.py b/smart/commands/priority.py +index d850d29..441ea32 100644 +--- a/smart/commands/priority.py ++++ b/smart/commands/priority.py +@@ -117,7 +117,10 @@ def main(ctrl, opts): +         print +  +     elif opts.yaml: +-        import yaml ++        try: ++            import yaml ++        except ImportError: ++            raise Error, _("Please install PyYAML in order to use this function") +         yamlpriorities = {} +         priorities = sysconf.get("package-priorities", {}) +         for name in opts.args or priorities: diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb index 06641adc4c..d92933fa3a 100644 --- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb +++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb @@ -26,6 +26,7 @@ SRC_URI = "\            file://smart-metadata-match.patch \            file://smart-improve-error-reporting.patch \            file://smart-multilib-fixes.patch \ +          file://smart-yaml-error.patch \            "  SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6" | 
