mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
41 lines
925 B
Perl
Executable File
41 lines
925 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# yum_upgrade.cgi
|
|
# Upgrade all packages
|
|
|
|
require './software-lib.pl';
|
|
&ReadParse();
|
|
|
|
&ui_print_unbuffered_header(undef, $text{'yum_upgrade'}, "");
|
|
|
|
&clean_environment();
|
|
$cmd = "yum clean all ; yum -y update";
|
|
print "<b>",&text('yum_upgradedesc', "<tt>$cmd</tt>"),"</b><p>\n";
|
|
print "<pre>";
|
|
&additional_log("exec", undef, $cmd);
|
|
open(CMD, "$cmd 2>&1 </dev/null |");
|
|
while(<CMD>) {
|
|
if (/^\[(update|install):\s+(\S+)\s+/) {
|
|
push(@packs, $2);
|
|
}
|
|
if (!/ETA/ && !/\%\s+done\s+\d+\/\d+\s*$/) {
|
|
print &html_escape($_);
|
|
}
|
|
}
|
|
close(CMD);
|
|
&reset_environment();
|
|
print "</pre>\n";
|
|
if ($?) {
|
|
print "<b>$text{'yum_upgradefailed'}</b><p>\n";
|
|
}
|
|
else {
|
|
print "<b>$text{'yum_upgradeok'}</b><p>\n";
|
|
foreach $p (@packs) {
|
|
local @pinfo = &show_package_info($p);
|
|
}
|
|
&webmin_log("yum", "upgrade", undef, { 'packages' => \@packs })
|
|
if (@packs);
|
|
}
|
|
|
|
&ui_print_footer("?tab=update", $text{'index_return'});
|
|
|