diff options
Diffstat (limited to 'sboupgradex')
| -rwxr-xr-x[-rw-r--r--] | sboupgradex | 25 | 
1 files changed, 8 insertions, 17 deletions
diff --git a/sboupgradex b/sboupgradex index 178adee..b48fed8 100644..100755 --- a/sboupgradex +++ b/sboupgradex @@ -77,18 +77,17 @@ show_usage and exit 0 unless exists $ARGV[0];  $noclean = $noclean eq 'TRUE' ? 1 : 0;  $distclean = $distclean eq 'TRUE' ? 1 : 0; -  my $rootpkg = $ARGV[0];  my %warnings;  my %options;  my $build_queue;   my %locations; +my $build = 0;  if ($no_reqs) { -    @$build_queue = (); -    push(@$build_queue, $rootpkg);  +    $build_queue = \@ARGV;  } else { -    $build_queue = get_build_queue($rootpkg, \%warnings); +    $build_queue = get_build_queue(\@ARGV, \%warnings);  }  for my $sbo (@$build_queue) { @@ -250,14 +249,9 @@ sub print_failures (;%) {      }  } -#if (@$build_queue gt 1) { -#    my $reqline = join(' ', @$build_queue); -#    $reqline =~ s/$rootpkg//; -#    say "Requires: " . $reqline; -#} -  my $installed = get_installed_sbos;  my $inst_names = get_inst_names $installed; +my $upgrade_queue;  # deal with any updates prior to any new installs.  # no reason to bother if only_new is specified, ie running from sboinstall. @@ -269,21 +263,18 @@ unless ($force) {      my $updates = get_available_updates;      push @updates, $$_{name} for @$updates;  } -my $upgrade_queue; +  # but without force, we only want to update what there are updates for -my @remove;  unless ($force) {      for my $sbo (@$build_queue) {          if ($sbo ~~ @updates) {              push @$upgrade_queue, $sbo; -            push @remove, $sbo;          }      }  } else {      for my $sbo (@$build_queue) {          if ($sbo ~~ @$inst_names) {              push @$upgrade_queue, $sbo; -            push @remove, $sbo;          }      }  } @@ -305,7 +296,6 @@ for my $sbo (@$upgrade_queue) {  }  # Remove upgrades from build queue -  for my $sbo (@$upgrade_queue) {      if ($sbo ~~ @$build_queue) {          my $count = 0; @@ -318,8 +308,8 @@ for my $sbo (@$upgrade_queue) {          }      }  } -  @$upgrade_queue = @temp_queue; +$build = 1 if exists $$upgrade_queue[0];  INSTALL_NEW:  goto BEGIN_BUILD unless $install_new; @@ -352,10 +342,11 @@ for my $sbo (@$build_queue) {      }  }  @$build_queue = @temp_queue; +$build = 1 if exists $$build_queue[0];  BEGIN_BUILD:  @$build_queue = () unless $install_new;  -exit 0 unless @$build_queue gt 0 or @$upgrade_queue gt 0; +exit 0 unless $build;  print "\n";  say "Upgrade queue: " . join(' ', @$upgrade_queue) if exists $$upgrade_queue[0];  say "Install queue: " . join(' ', @$build_queue) if exists $$build_queue[0];  | 
