summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire.cc5
-rwxr-xr-xtest/integration/test-apt-update-rollback16
2 files changed, 6 insertions, 15 deletions
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 15af5d6bd..be4e494e0 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -185,8 +185,9 @@ void pkgAcquire::AbortTransaction(unsigned long TransactionID)
{
if(_config->FindB("Debug::Acquire::Transaction", false) == true)
std::clog << " Cancel: " << (*I)->DestFile << std::endl;
- //Dequeue(*I);
- (*I)->Status = pkgAcquire::Item::StatError;
+ // the transaction will abort, so stop anything that is idle
+ if ((*I)->Status == pkgAcquire::Item::StatIdle)
+ (*I)->Status = pkgAcquire::Item::StatDone;
}
}
/*}}}*/
diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback
index b8a2b0791..24027787e 100755
--- a/test/integration/test-apt-update-rollback
+++ b/test/integration/test-apt-update-rollback
@@ -59,9 +59,7 @@ test_inrelease_to_broken_hash_reverts_all() {
break_repository_sources_index
# test the error condition
- testequal "W: Failed to fetch file:${APTARCHIVE}/dists/unstable/InRelease
-
-W: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources Hash Sum mismatch
+ testequal "W: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq
# ensure that the Packages file is also rolled back
@@ -100,13 +98,7 @@ test_inreleae_to_release_reverts_all() {
break_repository_sources_index
# ensure error
- testequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/InRelease
-
-W: Failed to fetch file:$APTARCHIVE/dists/unstable/Release
-
-W: Failed to fetch file:$APTARCHIVE/dists/unstable/Release.gpg
-
-W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
+ testequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq # -o Debug::acquire::transaction=1
@@ -133,9 +125,7 @@ E: There are problems and -y was used without --force-yes" aptget install -qq -y
add_new_package
break_repository_sources_index
- testequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/InRelease
-
-W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
+ testequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq