15795501 SUNBT7173576 pkgdepend takes a long time returning bogus error message resolving
authorMichael Raskey <michael.raskey@oracle.com>
Tue, 14 Mar 2017 13:42:50 -0600
changeset 3529 ec88266d269c
parent 3528 2d9234c9da4e
child 3530 df57d20324dc
15795501 SUNBT7173576 pkgdepend takes a long time returning bogus error message resolving
src/modules/publish/dependencies.py
--- a/src/modules/publish/dependencies.py	Fri Mar 10 17:25:38 2017 -0800
+++ b/src/modules/publish/dependencies.py	Tue Mar 14 13:42:50 2017 -0600
@@ -21,7 +21,7 @@
 #
 
 #
-# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 import copy
@@ -1692,8 +1692,12 @@
 
         for mp, (name, pfmri), mfst, pkg_vars, miss_files in manifests:
                 distro_vars.merge_values(pkg_vars)
-                if pfmri:
-                        resolving_pkgs.add(pfmri.pkg_name)
+                try:
+                        if pfmri is None:
+                                pfmri = fmri.PkgFmri(name)
+                except fmri.IllegalFmri as e:
+                        raise BadPackageFmri(mp, e)
+                resolving_pkgs.add(pfmri.pkg_name)
 
         def __merge_actvct_with_pkgvct(act_vct, pkg_vct):
                 act_vct.merge_unknown(pkg_vct)