]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/pakfire/pakfire
Pakfire holt nun Systemupdates.
[people/teissler/ipfire-2.x.git] / src / pakfire / pakfire
index 21ab4110af10846865be981be4c2a7b3ad6af385..d262ac384334f71e09f20c2e01493361d5bb1cc8 100644 (file)
          exit 1;
        }
        
+       unless ( -e "/var/ipfire/red/active" ) {
+               &Pakfire::message("PAKFIRE ERROR: You need to be online to run pakfire!");
+               exit 2;
+       }
+       
        ### Check if we are started by another name
        #
        if ( $0 =~ /pakfire-update$/ ) {
        
        foreach (@ARGV) {
                if ("$_" =~ "^-") {
+                       # Turn off interactive mode
                        $interactive = 0 if ("$_" eq "--non-interactive");
                        $interactive = 0 if ("$_" eq "-y");
+                       
+                       # Turn off shell colors - Bad for displaying in webinterface
+                       $Pakfire::enable_colors = 0 if ("$_" eq "--no-colors");
                }
        }
 
                foreach $pak (sort @paks) {
                  my $size = &Pakfire::getsize("$pak");
                        $size = &Pakfire::beautifysize($size);
-                 &Pakfire::message("PAKFIRE INFO: $pak  \t\t - $size");
+                 &Pakfire::message("PAKFIRE INFO: $pak \t - $size");
                }
                
                if (@deps) {
                foreach $dep (sort @deps) {
                  my $size = &Pakfire::getsize("$dep");
                        $size = &Pakfire::beautifysize($size);
-                 &Pakfire::message("PAKFIRE INFO: $dep  \t\t - $size");
+                 &Pakfire::message("PAKFIRE INFO: $dep \t - $size");
                }
                
                my $totalsize;
                        &Pakfire::getpak("$pak", "");
                }
 
+               &Pakfire::message("");
+
                foreach $pak (sort @all) {
                        &Pakfire::setuppak("$pak") if ($pak ne "");
                }
                
                my @paks;
                my $pak;
-               
                foreach $pak (@ARGV) {
                        unless ("$pak" =~ "^-") {
                                $return = &Pakfire::isinstalled($pak);
                                        &Pakfire::message("PAKFIRE WARN: $pak is not installed");
                                        next;
                                }
-                       
                                push(@paks, $pak);
-                       
                        }
                }
                
                
                &Pakfire::message("");
                &Pakfire::message("");
-               &Pakfire::message("### Packages to remove:");
+               &Pakfire::message("PAKFIRE INFO: Packages to remove:");
                foreach $pak (sort @paks) {
                  my $size = &Pakfire::getsize("$pak");
                        $size = &Pakfire::beautifysize($size);
-                 &Pakfire::message("# $pak  \t\t - $size");
+                 &Pakfire::message("PAKFIRE INFO: $pak \t - $size");
                }
                
                if ($interactive) {
-                 &Pakfire::message("Is this okay? [y/N]");
+                 &Pakfire::message("PAKFIRE INFO: Is this okay? [y/N]");
                        my $ret = <STDIN>;
                        chomp($ret);
-                       &Pakfire::logger("Answer: $ret");
+                       &Pakfire::logger("PAKFIRE INFO: Answer: $ret");
                        if ( $ret ne "y" ) {
-                         &Pakfire::message("Installation aborted.");
+                         &Pakfire::message("PAKFIRE ERROR: Installation aborted.");
                          exit 1;
                        }
                }
        
        
        } elsif ("$ARGV[0]" eq "update") {
-               my $force = "noforce";
                &Pakfire::makeuuid();
                &Pakfire::senduuid();
                &Pakfire::getmirrors();
-               $force = "force" if ("$ARGV[1]" eq "--force");
-               &Pakfire::dbgetlist("$force");
-               
-       
+               &Pakfire::dbgetlist("noforce");
+               &Pakfire::getcoredb();
+
        } elsif ("$ARGV[0]" eq "upgrade") {
+               &Pakfire::upgradecore();
                my @upgradepaks = &Pakfire::dblist("upgrade", "noweb");
                my @temp;
                
                
                if (@upgradepaks) {
                        &Pakfire::message("");
-                       &Pakfire::message("We are going to install all packages listed above.");
+                       &Pakfire::message("PAKFIRE UPGR: We are going to install all packages listed above.");
                        if ($interactive) {
-                         &Pakfire::message("Is this okay? [y/N]");
+                         &Pakfire::message("PAKFIRE INFO: Is this okay? [y/N]");
                                my $ret = <STDIN>;
                                chomp($ret);
-                               &Pakfire::logger("Answer: $ret");
+                               &Pakfire::logger("PAKFIRE INFO: Answer: $ret");
                                if ( $ret ne "y" ) {
-                                 &Pakfire::message("Installation aborted.");
+                                 &Pakfire::message("PAKFIRE ERROR: Installation aborted.");
                                  exit 1;
                                }
                        }
                }
                
        } elsif ("$ARGV[0]" eq "list") {
-               &Pakfire::dblist("all", "noweb");
+               if ("$ARGV[1]" =~ /installed|notinstalled/) {
+                       &Pakfire::dblist("$ARGV[1]", "noweb");
+               } else {
+                       &Pakfire::message("PAKFIRE WARN: Not a known option $ARGV[1]") if ($ARGV[1]); 
+                       &Pakfire::dblist("all", "noweb");
+               }
                
        } elsif ("$ARGV[0]" eq "resolvedeps") {
                foreach (@ARGV) {
                        next if ("$_" eq "resolvedeps");
+                       next if ("$_" =~ "^-");
                        &Pakfire::resolvedeps("$_");
                }
        } else {
                &Pakfire::usage;
        }
 
-&Pakfire::message("");
+&Pakfire::logger("PAKFIRE INFO: Pakfire has finished. Closing.");
+
 exit 0;