diff options
Diffstat (limited to 'sboupgrade')
| -rwxr-xr-x | sboupgrade | 25 | 
1 files changed, 12 insertions, 13 deletions
| @@ -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 | 
