summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2013-05-19 14:53:11 +0000
committerColin Guthrie <colin@mageia.org>2013-05-19 14:53:11 +0000
commit7e7a31e107b5819646ca26da408d70cfd5b0a836 (patch)
tree854b92613931fd473f58c2d0fb323c30efba4428
parentdd074e1eb2afc2e61b272c4b4ac47250a98a9f52 (diff)
downloadurpmi-7e7a31e107b5819646ca26da408d70cfd5b0a836.tar
urpmi-7e7a31e107b5819646ca26da408d70cfd5b0a836.tar.gz
urpmi-7e7a31e107b5819646ca26da408d70cfd5b0a836.tar.bz2
urpmi-7e7a31e107b5819646ca26da408d70cfd5b0a836.tar.xz
urpmi-7e7a31e107b5819646ca26da408d70cfd5b0a836.zip
library: ensure priority updates are installed in a single transaction
This fix is needed in cases where rpm's libdb changes. If the priority updates happen to be installed in more than one transaction, the %post script in rpm which deletes the old index files (/var/lib/rpm/__db.*) may happen at the end of the first of those transactions. This causes the indexes to be regenerated by the *old* db version and causes the second transaction to fail. By ensuring the priority updates are handled in a single transaction, the indexes will be recreated after the urpmi restart and will thus use the correct, new libdb to create the indexes. Patch and fix from Thierry Vignaud (Cherry picked from r8331)
-rw-r--r--NEWS3
-rw-r--r--urpm/select.pm1
2 files changed, 4 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index c5098715..17af8f5c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- library:
+ o ensure priority updates are installed in a single transaction
+
Version 6.48.4 - 15 April 2012
- library:
diff --git a/urpm/select.pm b/urpm/select.pm
index 2ab00ce7..763df586 100644
--- a/urpm/select.pm
+++ b/urpm/select.pm
@@ -290,6 +290,7 @@ sub resolve_dependencies {
$need_restart = _resolve_priority_upgrades($urpm, $db, $state, $state->{selected}, \@l, %options);
}
}
+ $urpm->{options}{'split-length'} = 0 if $need_restart;
}
$need_restart;
}