logger("MIRROR: Trying to get a mirror list.");
- if ( -e "$Conf::dbdir/lists/server_list.db" ) {
- my @stat = stat("$Conf::dbdir/lists/server_list.db");
+ if ( -e "$Conf::dbdir/lists/server-list.db" ) {
+ my @stat = stat("$Conf::dbdir/lists/server-list.db");
my $time = time();
$age = $time - $stat[9];
} else {
}
}
+sub getcoredb {
+ use File::Copy;
+
+ logger("CORE: Trying to get a core list.");
+
+ if ( -e "$Conf::dbdir/lists/core-list.db" ) {
+ my @stat = stat("$Conf::dbdir/lists/core-list.db");
+ my $time = time();
+ $age = $time - $stat[9];
+ } else {
+ # Force an update.
+ $age = "3601";
+ }
+
+ if ("$age" gt "3600") {
+ fetchfile("lists/core-list.db", "");
+ move("$Conf::cachedir/core-list.db", "$Conf::dbdir/lists/core-list.db");
+ }
+}
+
+
sub selectmirror {
### Check if there is a current server list and read it.
# If there is no list try to get one.
$age = $time - $stat[9];
} else {
# Force an update.
- $age = "86401";
+ $age = "3601";
}
- if (("$age" gt "86400") || ("$force" eq "force")) {
+ if (("$age" gt "3600") || ("$force" eq "force")) {
fetchfile("lists/packages_list.db", "");
move("$Conf::cachedir/packages_list.db", "$Conf::dbdir/lists/packages_list.db");
}
close(FILE);
if ("$filter" eq "upgrade") {
+ getcoredb();
+ eval(`grep "core_" $Conf::dbdir/lists/core-list.db`);
+ if ("$core_release" gt "$Conf::core_mine") {
+ if ("$forweb" eq "forweb") {
+ print "<option value=\"core\">Core-Update -- $Conf::version -- Release: $Conf::core_mine -> $core_release</option>\n";
+ } else {
+ my $command = "Core-Update $Conf::version\nRelease: $Conf::core_mine -> $core_release\n";
+ if ("$Pakfire::enable_colors" eq "1") {
+ print "$color{'lila'}$command$color{'normal'}\n";
+ } else {
+ print "$command\n";
+ }
+ }
+ }
+
opendir(DIR,"$Conf::dbdir/meta");
my @files = readdir(DIR);
closedir(DIR);
return $return;
}
+sub upgradecore {
+ getcoredb();
+ eval(`grep "core_" $Conf::dbdir/lists/core-list.db`);
+ if ("$core_release" gt "$Conf::core_mine") {
+ message("CORE UPGR: Upgrading from release $Conf::core_mine to $core_release");
+
+ my @seq = `seq $Conf::core_mine $core_release`;
+ shift @seq;
+ my $release;
+ foreach $release (@seq) {
+ chomp($release);
+ getpak("core-upgrade-$release");
+ }
+
+ foreach $release (@seq) {
+ chomp($release);
+ upgradepak("core-upgrade-$release");
+ }
+
+ system("echo $core_release > $Conf::coredir/mine");
+
+ } else {
+ message("CORE ERROR: No new upgrades available. You are on release $Conf::core_mine.");
+ }
+}
+
sub isinstalled {
my $pak = shift;
if ( open(FILE,"<$Conf::dbdir/installed/meta-$pak") ) {
unless ( "$ret" eq "0" ) {
message("CRYPTO WARN: The GnuPG isn't configured corectly. Trying now to fix this.");
message("CRYPTO WARN: It's normal to see this on first execution.");
- system("gpg --keyserver wwwkeys.de.pgp.net --always-trust --status-fd 2 --recv-key $myid >> $Conf::logdir/gnupg-database.log 2>&1");
- system("gpg --keyserver wwwkeys.de.pgp.net --always-trust --status-fd 2 --recv-key $trustid >> $Conf::logdir/gnupg-database.log 2>&1");
+ my $command = "gpg --keyserver pgp.mit.edu --always-trust --status-fd 2";
+ system("$command --recv-key $myid >> $Conf::logdir/gnupg-database.log 2>&1");
+ system("$command --recv-key $trustid >> $Conf::logdir/gnupg-database.log 2>&1");
} else {
logger("CRYPTO INFO: Database is okay");
}