]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/pakfire/pakfire
Samba-Update auf neues Patchlevel. Jaja, die Sicherheitsluecken oder sowas...
[ipfire-2.x.git] / src / pakfire / pakfire
index 0deb6562c77405039764b222611c7bf069f24ab2..cdf0b619c3bb8574a1d8dc625149c2af33fe6dc1 100644 (file)
        unless (@ARGV) {
                &Pakfire::usage;
        }
+       
+       foreach (@ARGV) {
+               if ("$_" =~ "^-") {
+                       $interactive = 0 if ("$_" eq "--non-interactive");
+                       $interactive = 0 if ("$_" eq "-y");
+               }
+       }
 
        if ("$ARGV[0]" eq "install") {
                &Pakfire::lock("on");
                my @deps;
                my @paks;
                my @temp;
+               my @all;
                foreach (@ARGV) {
-                       if ("$_" =~ "^--") {
-                               $interactive = 0 if ("$_" eq "--non-interactive");
-                       } else {
-                               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]");
                $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");