summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/package_manager/ipk/__init__.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py
index 3d998e52ff..4794f31f88 100644
--- a/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/meta/lib/oe/package_manager/ipk/__init__.py
@@ -307,9 +307,21 @@ class OpkgPM(OpkgDpkgPM):
307 if failed_pkgs: 307 if failed_pkgs:
308 failed_postinsts_abort(failed_pkgs, self.d.expand("${T}/log.do_${BB_CURRENTTASK}")) 308 failed_postinsts_abort(failed_pkgs, self.d.expand("${T}/log.do_${BB_CURRENTTASK}"))
309 except subprocess.CalledProcessError as e: 309 except subprocess.CalledProcessError as e:
310 e_output = e.output.decode("utf-8")
311 extra_info = ""
312 unmatched_pkgs = []
313 for e_line in e_output.split('\n'):
314 if "error: opkg_solver_install: No candidates to install" in e_line:
315 unmatched_pkg = re.search(r"error: opkg_solver_install: No candidates to install ([a-z0-9+\-\._]+)", e_line).group(1)
316 unmatched_pkgs.append(unmatched_pkg)
317 elif "error: opkg_prepare_url_for_install: Couldn't find anything to satisfy" in e_line:
318 unmatched_pkg = re.search(r"error: opkg_prepare_url_for_install: Couldn't find anything to satisfy '([a-z0-9+\-\._]+)'", e_line).group(1)
319 unmatched_pkgs.append(unmatched_pkg)
320 for pkg in unmatched_pkgs:
321 extra_info += self.get_missing_pkg_reason(pkg)
310 (bb.fatal, bb.warn)[attempt_only]("Unable to install packages. " 322 (bb.fatal, bb.warn)[attempt_only]("Unable to install packages. "
311 "Command '%s' returned %d:\n%s" % 323 "Command '%s' returned %d:\n%s%s" %
312 (cmd, e.returncode, e.output.decode("utf-8"))) 324 (cmd, e.returncode, e_output, extra_info))
313 325
314 def remove(self, pkgs, with_dependencies=True): 326 def remove(self, pkgs, with_dependencies=True):
315 if not pkgs: 327 if not pkgs: