diff --git a/cluster-software/do_install.cgi b/cluster-software/do_install.cgi index ed52feefd..ab796a1a5 100755 --- a/cluster-software/do_install.cgi +++ b/cluster-software/do_install.cgi @@ -141,7 +141,8 @@ foreach $h (@hosts) { else { local @resp = &remote_foreign_call($s->{'host'}, "software", "capture_function_output", - "update_system_install", $in{'file'}); + "software::update_system_install", + $in{'file'}); if (@{$resp[1]}) { # Worked .. get package details foreach $p (@{$resp[1]}) { @@ -149,7 +150,17 @@ foreach $h (@hosts) { } } else { - push(@rv, $text{'install_eupdate'}); + # May have failed + ($first) = split(/\s+/, $in{'file'}); + local @info = &remote_foreign_call( + $s->{'host'}, "software", + "package_info", $first); + if (@info && $info[0] eq $first) { + push(@rv, $text{'install_ealready'}); + } + else { + push(@rv, $text{'install_eupdate'}); + } } } } diff --git a/cluster-software/lang/en b/cluster-software/lang/en index 04fc66650..7448158f4 100644 --- a/cluster-software/lang/en +++ b/cluster-software/lang/en @@ -37,6 +37,7 @@ install_servers=Server(s) to install on install_ok=Install install_erus=This server uses a different update system to the master server ($1 versus $2) install_eupdate=An error occurred installing the specified updates +install_ealready=Already installed add_title=Add Servers add_msg=Adding $1 ..