3 # Upgrade a debian system
5 require './software-lib.pl';
8 &ui_print_unbuffered_header(undef, $text{'apt_upgrade'}, "");
11 print "<b>",&text('apt_updatedesc',
12 "<tt>$apt_get_command update</tt>"),"</b><p>\n";
14 &additional_log("exec", undef, "$apt_get_command update");
16 open(CMD, "$apt_get_command update 2>&1 </dev/null |");
18 print &html_escape($_);
24 print "<b>$text{'apt_updatefailed'}</b><p>\n";
25 &ui_print_footer("", $text{'index_return'});
28 else { print "<b>$text{'apt_updateok'}</b><p>\n"; }
32 $opts = $in{'sim'} ? "-s -y -f" : "-y -f";
33 $cmd = $in{'mode'} == 2 ? "dist-upgrade" :
34 $apt_get_command =~ /aptitude/ ? "safe-upgrade" : "upgrade";
35 print "<b>",&text($in{'sim'} ? 'apt_upgradedescsim' : 'apt_upgradedesc', "<tt>$apt_get_command $opts $cmd</tt>"),"</b><p>\n";
37 &additional_log("exec", undef, "$apt_get_command $opts $cmd");
39 open(CMD, "$apt_get_command $opts $cmd 2>&1 </dev/null |");
41 if (/setting\s+up\s+(\S+)/i) {
44 elsif (/packages\s+will\s+be\s+upgraded/i ||
45 /new\s+packages\s+will\s+be\s+installed/i) {
46 print &html_escape($_);
48 $line =~ s/^\s+//; $line =~ s/\s+$//;
49 push(@newpacks, split(/\s+/, $line));
55 if (!@rv && $config{'package_system'} ne 'debian' && !$?) {
56 # Other systems don't list the packages installed!
60 if ($?) { print "<b>$text{'apt_upgradefailed'}</b><p>\n"; }
61 else { print "<b>$text{'apt_upgradeok'}</b><p>\n"; }
64 local @pinfo = &show_package_info($p);
66 &webmin_log("apt", "check", undef, { 'packages' => \@packs })
70 &ui_print_footer("", $text{'index_return'});