build-pkgs: Make dsc_depend take back the failed dsc

The build failed dsc should be taken back by dsc_depend
for next apply.

Test Plan:
Pass: run build-pkgs -c -a
      Blow log message should not be printed:
      "INFO: Previous package still in building stage..."

Story: 2008846
Task: 44899

Signed-off-by: hbai <haiqing.bai@windriver.com>
Change-Id: I2c76e1d8460b34d9e04f1c205ba3a81e351be383
This commit is contained in:
hbai 2022-04-19 17:23:51 +08:00
parent 8ee31a8b3b
commit 5e98dd7eed

View File

@ -584,6 +584,9 @@ class BuildController():
for p in range(len(pkgs_dsc)): for p in range(len(pkgs_dsc)):
pkgs_can_build = deps_resolver.get_build_able_pkg(1) pkgs_can_build = deps_resolver.get_build_able_pkg(1)
if not pkgs_can_build:
logger.warning("Depends resolver returns none")
return
for dsc_path in pkgs_can_build: for dsc_path in pkgs_can_build:
logger.info(' '.join(['Depends resolver tells to build', logger.info(' '.join(['Depends resolver tells to build',
os.path.basename(dsc_path)])) os.path.basename(dsc_path)]))
@ -600,6 +603,7 @@ class BuildController():
else: else:
logger.info(' '.join(['Failed to build', pkg_name, str(p)])) logger.info(' '.join(['Failed to build', pkg_name, str(p)]))
self.lists['fail'].append(pkg_dir) self.lists['fail'].append(pkg_dir)
deps_resolver.pkg_fail(dsc_path)
self.req_stop_task() self.req_stop_task()
if self.attrs['exit_on_fail']: if self.attrs['exit_on_fail']:
return return
@ -809,7 +813,7 @@ class BuildController():
# particularly refer to those failed packages reported by pkgbuilder # particularly refer to those failed packages reported by pkgbuilder
if len(self.lists['fail']) > 0: if len(self.lists['fail']) > 0:
logger.info("List of failed packages:") logger.info("List of failed packages:")
for pkg_dir in sorted(self.lists['fail']): for pkg_dir in sorted(list(set(self.lists['fail']))):
pkg_name = discovery.package_dir_to_package_name(pkg_dir, self.attrs['distro']) pkg_name = discovery.package_dir_to_package_name(pkg_dir, self.attrs['distro'])
logger.error(pkg_name) logger.error(pkg_name)
logger.info("For the failure reason, you can check with:") logger.info("For the failure reason, you can check with:")