summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-item.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 458868bec..b77bccc9d 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1348,8 +1348,12 @@ void pkgAcqMetaBase::CommitTransaction()
for (std::vector<pkgAcqTransactionItem*>::iterator I = Transaction.begin();
I != Transaction.end(); ++I)
{
- (*I)->TransactionState(TransactionCommit);
+ if (*I != this)
+ (*I)->TransactionState(TransactionCommit);
}
+ // commit ourselves last to not end up with fresh InRelease
+ // that doesn't match other files when killed mid-commit
+ TransactionState(TransactionCommit);
Transaction.clear();
}
/*}}}*/