From 852e03df3227a6958b799d998ed95b7321257de3 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 19 May 2013 10:12:48 +0000 Subject: 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 --- NEWS | 3 +++ urpm/select.pm | 1 + 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 25a95779..7405fae0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +- library: + o ensure priority updates are installed in a single transaction + Version 7.27.1 - 17 May 2013, by Thierry Vignaud - library: 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; } -- cgit v1.2.1