sbotools2

Maintenance fork of the original sbotools version 2
Log | Files | Refs | README

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:
Msboupgrade | 25++++++++++++-------------
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