END foreach (@output) { $_ =~ s/\\[[0-1]\;[0-9]+m//g; print "$_\n"; } print <$Lang::tr{'pakfire accept all'} END &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit; } } elsif (($cgiparams{'ACTION'} eq 'remove') && (! &_is_pakfire_busy())) { my @pkgs = split(/\|/, $cgiparams{'DELPAKS'}); if ("$cgiparams{'FORCE'}" eq "on") { &General::system_background("/usr/local/bin/pakfire", "remove", "--non-interactive", "--no-colors", @pkgs); sleep(1); } else { &Header::openbox("100%", "center", $Lang::tr{'request'}); my @output = &General::system_output("/usr/local/bin/pakfire", "resolvedeps", "--no-colors", @pkgs); print < $Lang::tr{'pakfire uninstall package'} @pkgs $Lang::tr{'pakfire possible dependency'} END foreach (@output) { $_ =~ s/\\[[0-1]\;[0-9]+m//g; print "$_\n"; } print <$Lang::tr{'pakfire uninstall all'} END &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit; } } elsif (($cgiparams{'ACTION'} eq 'update') && (! &_is_pakfire_busy())) { &General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors"); sleep(1); } elsif (($cgiparams{'ACTION'} eq 'upgrade') && (! &_is_pakfire_busy())) { &General::system_background("/usr/local/bin/pakfire", "upgrade", "-y", "--no-colors"); sleep(1); } elsif ($cgiparams{'ACTION'} eq "$Lang::tr{'save'}") { $pakfiresettings{"TREE"} = $cgiparams{"TREE"}; # Check for valid input if ($pakfiresettings{"TREE"} !~ m/^(stable|testing|unstable)$/) { $errormessage .= $Lang::tr{'pakfire invalid tree'}; } unless ($errormessage) { &General::writehash("${General::swroot}/pakfire/settings", \%pakfiresettings); # Update lists &General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors"); sleep(1); } } &General::readhash("${General::swroot}/pakfire/settings", \%pakfiresettings); my %selected=(); my %checked=(); $selected{"TREE"} = (); $selected{"TREE"}{"stable"} = ""; $selected{"TREE"}{"testing"} = ""; $selected{"TREE"}{"unstable"} = ""; $selected{"TREE"}{$pakfiresettings{"TREE"}} = "selected"; # DPC move error message to top so it is seen! if ($errormessage) { &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); print "$errormessage \n"; &Header::closebox(); } # Show log output while Pakfire is running if(&_is_pakfire_busy()) { &Header::openbox("100%", "center", "Pakfire"); print < $Lang::tr{'pakfire working'}END ; &Header::closebox(); &Header::closebigbox(); &Header::closepage(); exit; } my $core_release = `cat /opt/pakfire/db/core/mine 2>/dev/null`; chomp($core_release); my $core_update_age = &General::age("/opt/pakfire/db/core/mine"); my $corelist_update_age = &General::age("/opt/pakfire/db/lists/core-list.db"); my $server_update_age = &General::age("/opt/pakfire/db/lists/server-list.db"); my $packages_update_age = &General::age("/opt/pakfire/db/lists/packages_list.db"); &Header::openbox("100%", "center", "Pakfire"); print <
END if ( -e "/var/run/need_reboot") { print " "; print " $Lang::tr{'needreboot'}! " } print < $Lang::tr{'pakfire system state'}: $Lang::tr{'available updates'}: $Lang::tr{'pakfire core update level'}: $core_release
$Lang::tr{'pakfire last update'} $core_update_age $Lang::tr{'pakfire ago'}
$Lang::tr{'pakfire last serverlist update'} $server_update_age $Lang::tr{'pakfire ago'}
$Lang::tr{'pakfire last core list update'} $corelist_update_age $Lang::tr{'pakfire ago'}
$Lang::tr{'pakfire last package update'} $packages_update_age $Lang::tr{'pakfire ago'}
$Lang::tr{'pakfire available addons'} $Lang::tr{'pakfire installed addons'} $Lang::tr{'pakfire install description'}
$Lang::tr{'pakfire uninstall description'}
END &Header::closebox(); &Header::openbox("100%", "center", "$Lang::tr{'settings'}"); print <END &Header::closebox(); &Header::closebigbox(); &Header::closepage(); ###--- Internal functions ---### # Check if pakfire is already running (extend test here if necessary) sub _is_pakfire_busy { # Get PID of a running pakfire instance # (The system backpipe command is safe, because no user input is computed.) my $pakfire_pid = `pidof -s /usr/local/bin/pakfire`; chomp($pakfire_pid); # Test presence of PID or lockfile return (($pakfire_pid) || (-e "$Pakfire::lockfile")); } # Send HTTP headers sub _start_json_output { print "Cache-Control: no-cache, no-store\n"; print "Content-Type: application/json\n"; print "\n"; # End of HTTP headers }
$Lang::tr{'pakfire tree'}