summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_steps.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index f8695a026..daedce231 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -589,7 +589,12 @@ sub install_urpmi {
my ($o) = @_;
my $pkg = pkgs::packageByName($o->{packages}, 'urpmi');
- if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)) {
+ if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)
+ #- this is a workaround. if many urpmi packages are found in the
+ #- provides of all media, packagesProviding() might return the wrong
+ #- one. This probably needs to be fixed in URPM
+ || run_program::rooted_get_stdout($::prefix, '/usr/bin/rpm', '-q', 'urpmi') =~ /urpmi/
+ ) {
install_any::install_urpmi($o->{method}, $o->{packages});
pkgs::saveCompssUsers($o->{packages}, $o->{compssUsers});
} else {