Current File : //usr/share/webmin/software/ipkg_upgrade.cgi |
#!/usr/bin/perl
# Upgrade all packages, or update the database of IPKG packages
require './software-lib.pl';
&ReadParse();
# Work out what we are doing
if ($in{'upgrade'}) {
$cmd = "ipkg upgrade";
$mode = "upgrade";
}
else {
$cmd = "ipkg update";
$mode = "update";
}
&ui_print_unbuffered_header(undef, $text{'IPKG_title_'.$mode}, "");
local $out;
print "<b>",&text('IPKG_updatedesc', "<tt>$cmd</tt>"),"</b><p>\n";
print "<pre>";
&additional_log("exec", undef, $cmd);
&clean_environment();
open(CMD, "($cmd; ipkg list-upgradable) 2>&1 </dev/null |");
while(<CMD>) {
print &html_escape($_);
$out .= $_;
}
print &html_escape("$text{'IPKG_noupgrade'}") if ($out eq "");
close(CMD);
&reset_environment();
print "</pre>\n";
if ($?) {
print "<b>$text{'IPKG_upgradefailed'}</b><p>\n";
}
else {
print "<b>$text{'IPKG_upgradeok'}</b><p>\n";
&webmin_log("IPKG", $mode)
}
&ui_print_footer("?tab=update", $text{'index_return'});