Fixed the undo for single architecture updates.

bzr-import-20160707
Fabio Tranchitella 19 years ago
parent db63948c5f
commit dc1a84151d

@ -1706,9 +1706,13 @@ class Britney:
# single architecture update (eg. binNMU) # single architecture update (eg. binNMU)
else: else:
if pkg_name in binaries[arch][0]: if pkg_name in binaries[arch][0]:
undo['binaries'][pkg] = binaries[arch][0][binary]
for j in binaries[arch][0][pkg_name]['rdepends']: for j in binaries[arch][0][pkg_name]['rdepends']:
key = (j, arch) key = (j, arch)
if key not in affected: affected.append(key) if key not in affected: affected.append(key)
else:
# the package didn't exist, so we mark it as to-be-removed in case of undo
undo['binaries']['-' + pkg] = True
source = {'binaries': [pkg]} source = {'binaries': [pkg]}
# add the new binary packages (if we are not removing) # add the new binary packages (if we are not removing)
@ -1903,7 +1907,9 @@ class Britney:
# undo the changes (binaries) # undo the changes (binaries)
for p in undo['binaries'].keys(): for p in undo['binaries'].keys():
binary, arch = p.split("/") binary, arch = p.split("/")
binaries[arch][0][binary] = undo['binaries'][p] if binary[0] == "-":
del binaries[arch][0][binary[1:]]
else: binaries[arch][0][binary] = undo['binaries'][p]
# undo the changes (virtual packages) # undo the changes (virtual packages)
for p in undo['nvirtual']: for p in undo['nvirtual']:

Loading…
Cancel
Save