From 9c5a29481ff6271962431e270b507c87ebf7380b Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Wed, 13 Aug 2008 15:58:56 +0300 Subject: [PATCH] Leave mpi-selector if it can't be removed. Update mpi-selector if exist. Signed-off-by: Vladimir Sokolovsky --- install.pl | 13 ++++++++++++- uninstall.sh | 5 ++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/install.pl b/install.pl index da5de6f..a12e9e8 100755 --- a/install.pl +++ b/install.pl @@ -3275,7 +3275,13 @@ sub install_rpm print RED "$package does not exist", RESET "\n"; exit 1; } - $cmd = "rpm -iv"; + + if ($name eq "mpi-selector") { + $cmd = "rpm -Uv --force"; + } else { + $cmd = "rpm -iv"; + } + $cmd .= " $package"; print "Running $cmd\n" if ($verbose); @@ -3665,6 +3671,7 @@ sub uninstall } my $cmd = "rpm -e --allmatches"; for my $package (@all_packages, @hidden_packages, @prev_ofed_packages) { + next if ($package eq "mpi-selector"); if (is_installed($package)) { $cmd .= " $package"; $cnt ++; @@ -3684,6 +3691,10 @@ sub uninstall exit 1; } } + + if (is_installed("mpi-selector")) { + system("rpm -e --allmatches mpi-selector >> $ofedlogs/ofed_uninstall.log 2>&1"); + } } sub install diff --git a/uninstall.sh b/uninstall.sh index 694615a..1fd4415 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -213,7 +213,10 @@ uninstall() for mpiselector in $MPI_SELECTOR_LIST do if ( $RPM -q ${mpiselector} > $NULL 2>&1 ); then - ex "$RPM -e --allmatches ${mpiselector}" + if ! ( $RPM -e --allmatches ${mpiselector} > /dev/null 2>&1 ); then + echo "Cannot remove ${mpiselector}." + echo "There are RPMs that depend on it." + fi fi done fi -- 2.41.0