+ &Pakfire::makeuuid();
+ &Pakfire::senduuid();
+ &Pakfire::getmirrors("$force");
+ &Pakfire::dbgetlist("$force");
+ &Pakfire::getcoredb("$force");
+
+ } elsif ("$ARGV[0]" eq "upgrade") {
+ &Pakfire::upgradecore();
+ my @upgradepaks = &Pakfire::dblist("upgrade", "noweb");
+ my @temp, $pak;
+
+ foreach (@upgradepaks) {
+ @temp = &Pakfire::resolvedeps("$_");
+ foreach (@temp) { push(@upgradepaks,$_) if $_; }
+ }
+
+ if (@upgradepaks) {
+ &Pakfire::message("");
+ &Pakfire::message("PAKFIRE UPGR: We are going to install all packages listed above.");
+ if ($interactive) {
+ &Pakfire::message("PAKFIRE INFO: Is this okay? [y/N]");
+ my $ret = <STDIN>;
+ chomp($ret);
+ &Pakfire::logger("PAKFIRE INFO: Answer: $ret");
+ if ( $ret ne "y" ) {
+ &Pakfire::message("PAKFIRE ERROR: Installation aborted.");
+ exit 1;
+ }
+ }
+ }
+
+ ### Download first
+ foreach $pak (@upgradepaks) {
+ #system("mv $Conf::dbdir/meta/meta-$pak $Conf::dbdir/meta/old-meta-$pak");
+ &Pakfire::getpak("$pak", "");
+ }
+
+ foreach $pak (@upgradepaks) {
+ if (&Pakfire::upgradepak("$pak")) {
+ #system("mv $Conf::dbdir/meta/old-meta-$pak $Conf::dbdir/meta/meta-$pak");
+ }
+ }
+
+ } elsif ("$ARGV[0]" eq "list") {
+ 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("$_");
+ }
+ } elsif ("$ARGV[0]" eq "enable") {
+ if ("$ARGV[1]" eq "updates") {
+ system("ln -s ../../opt/pakfire/pakfire /etc/fcron.daily/pakfire-update");
+ } elsif ("$ARGV[1]" eq "upgrades") {
+ system("ln -s ../../opt/pakfire/pakfire /etc/fcron.daily/pakfire-upgrade");
+ }
+ } elsif ("$ARGV[0]" eq "disable") {
+ if ("$ARGV[1]" eq "updates") {
+ system("rm -f /etc/fcron.daily/pakfire-update");
+ } elsif ("$ARGV[1]" eq "upgrades") {
+ system("rm -f /etc/fcron.daily/pakfire-upgrade");
+ }
+ } else {
+ &Pakfire::usage;