3 # Ask if the user wants to delete a package, and if so do it
5 require './cluster-software-lib.pl';
8 @servers = &list_servers();
9 if ($in{'server'} < 0) {
10 # Find servers that have the package
11 @hosts = &list_software_hosts();
13 foreach $p (@{$h->{'packages'}}) {
14 if ($p->{'name'} eq $in{'package'}) {
15 local ($s) = grep { $_->{'id'} == $h->{'id'} }
25 ($s) = grep { $_->{'id'} == $in{'server'} } @servers;
28 &remote_foreign_require($s->{'host'}, "software", "software-lib.pl");
30 &header($text{'delete_title'}, "");
34 print "<b>",&text('delete_header', $in{'package'}),"</b><p>\n";
36 &remote_foreign_require($g->{'host'}, "software", "software-lib.pl")
38 local $error = &remote_foreign_call($g->{'host'}, "software",
39 "delete_package", $in{'package'});
41 print &text('delete_error', $g->{'host'}, $error),"<br>\n";
44 print &text('delete_success', $g->{'host'}),"<br>\n";
47 print "<p><b>$text{'delete_done'}</b><br>\n";
50 # Ask if the user is sure..
51 $n = &remote_foreign_call($s->{'host'}, "software", "check_files",
53 $files = &remote_eval($s->{'host'}, "software", "\\%files");
55 for($i=0; $i<$n; $i++) {
56 if ($files->{$i,'type'} == 0) { $sz += $files->{$i,'size'}; }
59 if ($in{'server'} < 0) {
60 print &text('delete_rusure', "<b>$in{'package'}</b>", $n, $sz),"<br>\n";
63 print &text('delete_rusure2', "<b>$in{'package'}</b>", $n, $sz,
64 $s->{'desc'} ? $s->{'desc'} : $s->{'host'}),"<br>\n";
66 print "<form action=delete_pack.cgi>\n";
67 print "<input type=hidden name=package value=\"$in{'package'}\">\n";
68 print "<input type=hidden name=server value=\"$in{'server'}\">\n";
69 print "<input type=hidden name=sure value=1>\n";
70 print "<input type=hidden name=search value=\"$in{'search'}\">\n";
71 print "<input type=submit value=\"$text{'delete_ok'}\"></center>\n";
76 &footer("edit_pack.cgi?search=$in{'search'}&package=".&urlize($p),
77 $text{'edit_return'});