From 2eb7ace806359305285be04337e7f2f35eaefc38 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 2 Mar 2007 13:21:42 +0000 Subject: handle allow-force --- Rpmdrake/pkg.pm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'Rpmdrake') diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 259c57bf..766aa26b 100755 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -659,6 +659,33 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( nodeps => 1, %install_options_common, ); + if (@l) { + if (!$urpm->{options}{'allow-force'}) { + ++$nok; + ++$urpm->{logger_id}; + push @errors, @l; + } else { + interactive_msg(N("Error"), + N("Installation failed:") . "\n" . join("\n", map { "\t$_" } @l) . "\n\n" . + N("Try harder to install (--force)? (y/N) "), + yesno => 1 + ) or ++$nok, next; + $urpm->{log}("starting force installing packages without deps"); + @l = urpm::install::install($urpm, + $to_remove, + \%transaction_sources_install, \%transaction_sources, + nodeps => 1, force => 1, + %install_options_common, + ); + if (@l) { + #- Warning : the following message is parsed in urpm::parallel_* + print N("Installation failed") . ":\n" . join("\n", map { "\t$_" } @l), "\n"; + ++$nok; + ++$urpm->{logger_id}; + push @errors, @l; + } + } + } } } } -- cgit v1.2.1