summaryrefslogtreecommitdiffstats
path: root/urpm
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2013-05-19 10:12:48 +0000
committerColin Guthrie <colin@mageia.org>2013-05-19 10:12:48 +0000
commit852e03df3227a6958b799d998ed95b7321257de3 (patch)
treead807561fcf6b920f68c1471130a9712537ceb9d /urpm
parent5983020abf393dabe271a3159682b96d056ea014 (diff)
downloadurpmi-852e03df3227a6958b799d998ed95b7321257de3.tar
urpmi-852e03df3227a6958b799d998ed95b7321257de3.tar.gz
urpmi-852e03df3227a6958b799d998ed95b7321257de3.tar.bz2
urpmi-852e03df3227a6958b799d998ed95b7321257de3.tar.xz
urpmi-852e03df3227a6958b799d998ed95b7321257de3.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
Diffstat (limited to 'urpm')
-rw-r--r--urpm/select.pm1
1 files changed, 1 insertions, 0 deletions
diff --git a/urpm/select.pm b/urpm/select.pm
index 1e462a5e..507f82c0 100644
--- a/urpm/select.pm
+++ b/urpm/select.pm
@@ -353,6 +353,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;
}