pakfire: Optimize upgradecore function

upgradecore function should just upgrade the core:
Moved check if upgrade is necessary to pakfire upgrade code, removing
code from upgradecore function duplicating codedbinfo workings.
Also adding more vebosity to pakfire upgrade.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
This commit is contained in:
Robin Roevens
2022-07-28 13:21:31 +02:00
committed by Peter Müller
parent c6d055a85b
commit 5e1dbc95f7
2 changed files with 35 additions and 28 deletions

View File

@@ -773,35 +773,28 @@ sub setuppak {
}
sub upgradecore {
getcoredb("noforce");
eval(`grep "core_" $Conf::dbdir/lists/core-list.db`);
if ("$core_release" > "$Conf::core_mine") {
# Safety check for lazy testers:
# Before we upgrade to the latest release, we re-install the previous release
# to make sure that the tester has always been on the latest version.
my $tree = &get_tree();
$Conf::core_mine-- if ($tree eq "testing" || $tree eq "unstable");
# Safety check for lazy testers:
# Before we upgrade to the latest release, we re-install the previous release
# to make sure that the tester has always been on the latest version.
my $tree = &get_tree();
$Conf::core_mine-- if ($tree eq "testing" || $tree eq "unstable");
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 INFO: No new upgrades available. You are on release $Conf::core_mine.");
message("CORE UPGR: Upgrading from release $Conf::core_mine to $core_release");
my @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");
}
sub isinstalled {

View File

@@ -266,7 +266,21 @@
$use_color = "$Pakfire::color{'lightpurple'}";
}
&Pakfire::upgradecore();
&Pakfire::message("CORE INFO: Checking for Core-Updates...");
### Make sure that the core db is not outdated.
&Pakfire::getcoredb("noforce");
my %coredb = &Pakfire::coredbinfo();
if (defined $coredb{'AvailableRelease'}) {
&Pakfire::upgradecore();
} else {
&Pakfire::message("CORE INFO: No new Core-Updates available. You are on release ".$coredb{'Release'});
}
&Pakfire::message("PAKFIRE INFO: Checking for package updates...");
### Make sure that the package list is not outdated.
&Pakfire::dbgetlist("noforce");
my @deps = ();
if (my %upgradepaks = &Pakfire::dblist("upgrade")) {