Handle hostnames with upper-case letters
[webmin.git] / software / yum_upgrade.cgi
1 #!/usr/local/bin/perl
2 # yum_upgrade.cgi
3 # Upgrade all packages
4
5 require './software-lib.pl';
6 &ReadParse();
7
8 &ui_print_unbuffered_header(undef, $text{'yum_upgrade'}, "");
9
10 &clean_environment();
11 $cmd = "yum clean all ; yum -y update";
12 print "<b>",&text('yum_upgradedesc', "<tt>$cmd</tt>"),"</b><p>\n";
13 print "<pre>";
14 &additional_log("exec", undef, $cmd);
15 open(CMD, "$cmd 2>&1 </dev/null |");
16 while(<CMD>) {
17         if (/^\[(update|install):\s+(\S+)\s+/) {
18                 push(@packs, $2);
19                 }
20         if (!/ETA/ && !/\%\s+done\s+\d+\/\d+\s*$/) {
21                 print &html_escape($_);
22                 }
23         }
24 close(CMD);
25 &reset_environment();
26 print "</pre>\n";
27 if ($?) {
28         print "<b>$text{'yum_upgradefailed'}</b><p>\n";
29         }
30 else {
31         print "<b>$text{'yum_upgradeok'}</b><p>\n";
32         foreach $p (@packs) {
33                 local @pinfo = &show_package_info($p);
34                 }
35         &webmin_log("yum", "upgrade", undef, { 'packages' => \@packs })
36                 if (@packs);
37         }
38
39 &ui_print_footer("", $text{'index_return'});
40