diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2007-08-11 12:46:03 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2007-08-11 12:46:03 +0000 |
commit | d2736a81e1df5c19bdbc6e62b028e2f18a130480 (patch) | |
tree | c9d871f56f75d39bbc5f128abecf3950f76d09c5 /urpmi | |
parent | 25428f578665a94d873ea496da130059fee47fef (diff) | |
download | urpmi-d2736a81e1df5c19bdbc6e62b028e2f18a130480.tar urpmi-d2736a81e1df5c19bdbc6e62b028e2f18a130480.tar.gz urpmi-d2736a81e1df5c19bdbc6e62b028e2f18a130480.tar.bz2 urpmi-d2736a81e1df5c19bdbc6e62b028e2f18a130480.tar.xz urpmi-d2736a81e1df5c19bdbc6e62b028e2f18a130480.zip |
- urpmi
o new option --replacepkgs (same as rpm --replacepkgs) (#16112)
Diffstat (limited to 'urpmi')
-rwxr-xr-x | urpmi | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -102,6 +102,7 @@ usage: ") . N(" --install-src - install only source package (no binaries). ") . N(" --clean - remove rpm from cache before anything else. ") . N(" --noclean - don't clean rpms from cache. +") . N(" --replacepkgs - force installing packages which are already installed. ") . N(" --force - force invocation even if some packages do not exist. ") . N(" --allow-nodeps - allow asking user to install packages without dependencies checking. @@ -458,7 +459,15 @@ sub ask_choice { #- handle parallel option if any. #- return value is true if program should be restarted (in order to take care of important #- packages being upgraded (problably urpmi and perl-URPM, but maybe rpm too, and glibc also ?). -my $restart_itself = urpm::select::resolve_dependencies($urpm, +my $restart_itself; +if ($options{replacepkgs}) { + foreach (keys %requested) { + my $pkg = $urpm->{depslist}[$_] or next; + $pkg->set_flag_requested; + $state->{selected}{$_} = undef; + } +} else { + $restart_itself = urpm::select::resolve_dependencies($urpm, $state, \%requested, rpmdb => $env && "$env/rpmdb.cz", @@ -469,7 +478,8 @@ my $restart_itself = urpm::select::resolve_dependencies($urpm, nodeps => $urpm->{options}{'allow-nodeps'} || $urpm->{options}{'allow-force'}, no_suggests => $urpm->{options}{'no-suggests'}, priority_upgrade => $test || $env ? '' : $urpm->{options}{'priority-upgrade'}, -); + ); +} my @unselected_uninstalled = @{$state->{unselected_uninstalled} || []}; if (@unselected_uninstalled) { |