mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-03-10 10:51:08 +00:00
undo_items: Gracefully handle skipped cruft items in undo
In 203466b, we stopped migrating cruft items if they were not in testing already. However, if the migration failed we would still attempt to undo it from testing, which (unsurprisingly) does not work very well. Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
4ced8a3d41
commit
2e81e55c56
@ -123,10 +123,17 @@ def undo_changes(lundo, inst_tester, sources, binaries, all_binary_packages,
|
||||
# undo all new binaries (consequence of the above)
|
||||
for (undo, item) in lundo:
|
||||
if not item.is_removal and item.package in sources[item.suite]:
|
||||
for pkg_id in sources[item.suite][item.package][BINARIES]:
|
||||
source_data = sources[item.suite][item.package]
|
||||
for pkg_id in source_data[BINARIES]:
|
||||
binary, _, arch = pkg_id
|
||||
if item.architecture in ['source', arch]:
|
||||
del binaries["testing"][arch][0][binary]
|
||||
try:
|
||||
del binaries["testing"][arch][0][binary]
|
||||
except KeyError:
|
||||
# If this happens, pkg_id must be a cruft item that
|
||||
# was *not* migrated.
|
||||
assert source_data[VERSION] != all_binary_packages[pkg_id][VERSION]
|
||||
assert not inst_tester.any_of_these_are_in_testing((pkg_id,))
|
||||
inst_tester.remove_testing_binary(pkg_id)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user