#!/usr/bin/perl require "/opt/pakfire/lib/functions.pl"; my $interactive = 1; &Pakfire::message("### Welcome to IPFire Pakfire $Conf::version!"); ### Check if we are running as root # my $user = qx(whoami); chomp($user); unless ( "$user" eq "root" ) { &Pakfire::message("You must run pakfire as user root!"); exit 1; } unless (@ARGV) { &Pakfire::message("Usage: pakfire "); &Pakfire::message(" "); &Pakfire::message(" "); exit 1; } if ("$ARGV[0]" eq "install") { shift; my @deps; my @paks; my @temp; foreach (@ARGV) { push(@paks,$_); } foreach (@paks) { @temp = &Pakfire::resolvedeps("$_"); foreach (@temp) { push(@deps,$_) if $_; } } my @all; foreach (@paks) { push(@all,$_); } foreach (@deps) { push(@all,$_); } &Pakfire::message("\n\n### Packages to install:"); foreach (sort @paks) { my $size = &Pakfire::getsize("$_"); $size = &Pakfire::beautifysize($size); &Pakfire::message("# $_ \t\t - $size"); } &Pakfire::message("\n### Packages to install for dependencies:"); foreach (sort @deps) { my $size = &Pakfire::getsize("$_"); $size = &Pakfire::beautifysize($size); &Pakfire::message("# $_ \t\t - $size"); } my $totalsize = &Pakfire::addsizes("@all"); $totalsize = &Pakfire::beautifysize($totalsize); &Pakfire::message("\n### Download size: \t ~ $totalsize"); if ($interactive) { &Pakfire::message("Is this okay? [y/N]"); my $ret = ; chomp($ret); &Pakfire::logger("Answer: $ret"); if ( $ret ne "y" ) { &Pakfire::message("Installation aborted."); exit 1; } } &Pakfire::message("### Installing all packages:"); foreach (sort @all) { &Pakfire::message("# --> $_"); } &Pakfire::message(""); ### Download first foreach (sort @all) { &Pakfire::message("# --> Downloading: $_"); &Pakfire::getpak("$_", ""); } foreach (sort @all) { &Pakfire::setuppak("$_"); } } elsif ("$ARGV[0]" eq "remove") { } elsif ("$ARGV[0]" eq "update") { &Pakfire::makeuuid(); &Pakfire::senduuid(); &Pakfire::getmirrors(); &Pakfire::dbgetlist(); }