my $interactive = 1;
- &Pakfire::message("### Welcome to IPFire Pakfire $Conf::version!");
+ &Pakfire::logger("### IPFire Pakfire $Conf::version started!");
+ &Pakfire::checkcryptodb;
### Check if we are running as root
#
}
unless (@ARGV) {
- &Pakfire::message("Usage: pakfire <install|remove> <pak(s)>");
- &Pakfire::message(" <update>");
- &Pakfire::message(" <upgrade>");
- exit 1;
+ &Pakfire::usage;
+ }
+
+ foreach (@ARGV) {
+ if ("$_" =~ "^-") {
+ $interactive = 0 if ("$_" eq "--non-interactive");
+ $interactive = 0 if ("$_" eq "-y");
+ }
}
if ("$ARGV[0]" eq "install") {
+ &Pakfire::lock("on");
shift;
my @deps;
my @paks;
my @temp;
+ my @all;
foreach (@ARGV) {
- push(@paks,$_);
+ unless ("$_" =~ "^-") {
+ push(@paks,$_) if $_;
+ }
}
+
foreach (@paks) {
@temp = &Pakfire::resolvedeps("$_");
foreach (@temp) { push(@deps,$_) if $_; }
}
- my @all;
foreach (@paks) {
- push(@all,$_);
+ push(@all,$_) if $_;
}
foreach (@deps) {
- push(@all,$_);
+ push(@all,$_) if $_;
}
&Pakfire::message("\n\n### Packages to install:");
&Pakfire::message("# $_ \t\t - $size");
}
- &Pakfire::message("\n### Packages to install for dependencies:");
+ &Pakfire::message("\n### Packages to install for dependencies:") if @deps;
foreach (sort @deps) {
my $size = &Pakfire::getsize("$_");
$size = &Pakfire::beautifysize($size);
&Pakfire::message("# $_ \t\t - $size");
}
-
- my $totalsize = &Pakfire::addsizes("@all");
+
+ my $totalsize;
+ foreach (@all) {
+ $totalsize = ($totalsize + &Pakfire::getsize("$_"));
+ }
$totalsize = &Pakfire::beautifysize($totalsize);
- &Pakfire::message("\n### Download size: \t ~ $totalsize");
+ &Pakfire::message("\n### Total size: \t ~ $totalsize\n");
if ($interactive) {
&Pakfire::message("Is this okay? [y/N]");
exit 1;
}
}
-
- &Pakfire::message("### Installing all packages:");
- foreach (sort @all) { &Pakfire::message("# --> $_"); }
- &Pakfire::message("");
### Download first
foreach (sort @all) {
foreach (sort @all) {
&Pakfire::setuppak("$_");
}
-
+ &Pakfire::lock("off");
} elsif ("$ARGV[0]" eq "remove") {
} elsif ("$ARGV[0]" eq "update") {
+ my $force = "noforce";
+ &Pakfire::makeuuid();
+ &Pakfire::senduuid();
&Pakfire::getmirrors();
- &Pakfire::dbgetlist();
+ $force = "force" if ("$ARGV[1]" eq "--force");
+ &Pakfire::dbgetlist("$force");
+
+
+ } elsif ("$ARGV[0]" eq "upgrade") {
+ &Pakfire::dblist("upgrade", "noweb");
+
+ } elsif ("$ARGV[0]" eq "list") {
+ &Pakfire::dblist("all", "noweb");
+
+ } elsif ("$ARGV[0]" eq "resolvedeps") {
+ foreach (@ARGV) {
+ next if ("$_" eq "resolvedeps");
+ &Pakfire::resolvedeps("$_");
+ }
+
+ } else {
+ &Pakfire::usage;
}