Need better handling of errors during dependency building
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
anvil |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Currently when anvil is building dependency packages and a package fails to build it will stop building packages once it hit that failure. If you run run the build step , it will continue building packages after the build failure. If a package fails to build and your remove the source rpm for that package - so that anvil continues to build the other packages dependencies. Once it has finished building only the packages that were built *after* the failure will be in the repo. This is because we remove the rpmbuild directory after a build failure but keep track of where we are in the build process. The result is successfully built packages are removed and we end up with a dependency repo that only contains some of the successfully built rpm's.
It would be best to not remove the rpmbuild directory after an error, but to remove it during the first part of the prepare stage - or even at the start of the build stage.
Changed in anvil: | |
status: | Fix Committed → Fix Released |
Reviewed: https:/ /review. openstack. org/114376 /git.openstack. org/cgit/ stackforge/ anvil/commit/ ?id=c83be383a7e d9a6a8feca5b6b9 4698298e982d56
Committed: https:/
Submitter: Jenkins
Branch: master
commit c83be383a7ed9a6 a8feca5b6b94698 298e982d56
Author: Joshua Harlow <email address hidden>
Date: Thu Aug 14 15:21:00 2014 -0700
Always move built rpms, even under partial failure
When a build command fails (due to a package causing
problems) we potentially have already built a set of
other packages (especially when building is done in
parallel), so even when failure occurs we need to move
the rpms that have been build to the target repository.
Fixes bug 1355442
Change-Id: I9f346e189db964 bfd9679d452ba96 37192a6697c