commit 99cb39b31958ae3073f1369513ad066ff110dd43
parent 3ac9a0b955ba1f52a3457f014055b4babc7cc5e4
Author: Andreas Guldstrand <andreas.guldstrand@gmail.com>
Date: Wed, 16 Dec 2015 20:05:02 +0100
Fix bug where sboupgrade -f wasn't working
Diffstat:
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/sboupgrade b/sboupgrade
@@ -122,29 +122,29 @@ if (not $non_int or not $force) {
$updates{$$_{name}} = 1 for @$updates;
}
-my $upgrade_queue;
+my $upgrade_queue = [];
# doesn't matter what's updatable and what's not if force is specified,
# but without force, we only want to update what there are updates for
-unless ($force) {
- for my $sbo (@sbos) {
- push @$upgrade_queue, $sbo if $updates{$sbo};
+if ($non_int) {
+ if ($force) {
+ for my $sbo (@sbos) {
+ push @$upgrade_queue, $sbo if $inst_names{$sbo};
+ }
+ } else {
+ for my $sbo (@sbos) {
+ push @$upgrade_queue, $sbo if $updates{$sbo};
+ }
}
} else {
for my $sbo (@sbos) {
- push @$upgrade_queue, $sbo if $inst_names{$sbo};
- }
-}
-
-if (not $non_int) {
- my $temp_queue;
- for my $sbo (@sbos) {
my $name = $sbo;
$name =~ s/-compat32$//;
my $queue = get_build_queue([$name], my $warnings);
if (not $force_reqs) {
@$queue = grep { !$inst_names{$_} or $updates{$_} } @$queue;
}
+ push @$queue, $name if $force;
my $cqueue;
# get locations for all the things
my %locs = get_sbo_locations($queue);
@@ -162,9 +162,8 @@ if (not $non_int) {
%locs = %clocs;
}
@locations{keys %locs} = values %locs;
- $temp_queue = merge_queues($temp_queue, $queue);
+ $upgrade_queue = merge_queues($upgrade_queue, $queue);
}
- $upgrade_queue = $temp_queue;
}
# Get user input regarding upgrades