#!/usr/bin/perl # Do an actual comparison require './cluster-software-lib.pl'; &error_setup($text{'compare_err'}); &ReadParse(); # Work out which servers to use if ($in{'all'}) { @hosts = &list_software_hosts(); } else { @allhosts = &list_software_hosts(); @servers = &list_servers(); @groups = &servers::list_all_groups(\@servers); foreach $s (split(/\0/, $in{'hosts'})) { if ($s =~ /^group_(.*)$/) { # Add all group members ($group) = grep { $_->{'name'} eq $1 } @groups; foreach $m (@{$group->{'members'}}) { ($server) =grep { $_->{'host'} eq $m } @servers; ($host) = grep { $_->{'id'} eq $server->{'id'} } @allhosts; push(@hosts, $host) if ($host); } } else { # Add one host ($host) = grep { $_->{'id'} eq $s } @allhosts; push(@hosts, $host) if ($host); } } } @hosts >= 2 || &error($text{'compare_etwo'}); &ui_print_header(undef, $text{'compare_title'}, ""); # Find union of all packages foreach $h (@hosts) { foreach $p (@{$h->{'packages'}}) { $p->{'host'} = $h; push(@{$packs{$p->{'name'}}}, $p); } } # Show results by package %smap = map { $_->{'id'}, $_ } &list_servers(); print &ui_columns_start([ $text{'compare_pack'}, map { &server_name($smap{$_->{'id'}}) } @hosts ]); foreach $pn (sort { $a cmp $b } (keys %packs)) { local @row = ( &ui_link("edit_pack.cgi?package=$pn",$pn) ); local $ok = 1; foreach $h (@hosts) { local ($ph) = grep { $_->{'host'} eq $h } @{$packs{$pn}}; if (!$ph) { push(@row, $text{'compare_miss'}); $ok = 0; } else { push(@row, $ph->{'version'} || $text{'compare_got'}); if ($ph->{'version'} && $ph->{'version'} != $packs{$pn}->[0]->{'version'}) { $ok = 0; } } } if (!$ok || $in{'showall'}) { print &ui_columns_row(\@row); } } print &ui_columns_end(); &ui_print_footer("", $text{'index_return'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 1.01 KB | 0644 |
|
add.cgi | File | 904 B | 0755 |
|
close.cgi | File | 272 B | 0755 |
|
closeall.cgi | File | 179 B | 0755 |
|
cluster-software-lib.pl | File | 9.51 KB | 0755 |
|
compare.cgi | File | 1.81 KB | 0755 |
|
compare_form.cgi | File | 1.13 KB | 0755 |
|
config | File | 25 B | 0644 |
|
config.info | File | 108 B | 0644 |
|
config.info.ca | File | 133 B | 0644 |
|
config.info.cs | File | 82 B | 0644 |
|
config.info.de | File | 125 B | 0644 |
|
config.info.es | File | 90 B | 0644 |
|
config.info.fr | File | 134 B | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.ms | File | 131 B | 0644 |
|
config.info.nl | File | 130 B | 0644 |
|
config.info.no | File | 129 B | 0644 |
|
config.info.pl | File | 121 B | 0644 |
|
defaultacl | File | 6 B | 0644 |
|
delete_host.cgi | File | 254 B | 0755 |
|
delete_pack.cgi | File | 3.15 KB | 0755 |
|
delete_packs.cgi | File | 2.86 KB | 0755 |
|
do_install.cgi | File | 7.11 KB | 0755 |
|
do_install_serial.cgi | File | 3.55 KB | 0755 |
|
edit_host.cgi | File | 3.84 KB | 0755 |
|
edit_pack.cgi | File | 3.33 KB | 0755 |
|
index.cgi | File | 4.87 KB | 0755 |
|
install_pack.cgi | File | 4.82 KB | 0755 |
|
list_pack.cgi | File | 2.28 KB | 0755 |
|
module.info | File | 427 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 154 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 201 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 282 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 251 B | 0644 |
|
module.info.ca | File | 155 B | 0644 |
|
module.info.ca.auto | File | 31 B | 0644 |
|
module.info.cs | File | 40 B | 0644 |
|
module.info.cs.auto | File | 122 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 153 B | 0644 |
|
module.info.de | File | 133 B | 0644 |
|
module.info.de.auto | File | 25 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 263 B | 0644 |
|
module.info.es | File | 39 B | 0644 |
|
module.info.es.auto | File | 119 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 141 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 228 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 156 B | 0644 |
|
module.info.fr | File | 41 B | 0644 |
|
module.info.fr.auto | File | 139 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 186 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 155 B | 0644 |
|
module.info.hu | File | 33 B | 0644 |
|
module.info.hu.auto | File | 125 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 147 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 228 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 193 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 181 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 165 B | 0644 |
|
module.info.ms | File | 119 B | 0644 |
|
module.info.ms.auto | File | 25 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 158 B | 0644 |
|
module.info.nl | File | 35 B | 0644 |
|
module.info.nl.auto | File | 122 B | 0644 |
|
module.info.no | File | 35 B | 0644 |
|
module.info.no.auto | File | 115 B | 0644 |
|
module.info.pl | File | 132 B | 0644 |
|
module.info.pl.auto | File | 33 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 154 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 163 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 152 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 278 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 162 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 159 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 151 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 351 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 159 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 272 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 235 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 162 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 131 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 140 B | 0644 |
|
open.cgi | File | 250 B | 0755 |
|
openall.cgi | File | 427 B | 0755 |
|
prefs.info | File | 28 B | 0644 |
|
refresh.cgi | File | 1.61 KB | 0755 |
|
search.cgi | File | 1.92 KB | 0755 |
|