aboutsummaryrefslogtreecommitdiff
path: root/sboupgrade
diff options
context:
space:
mode:
Diffstat (limited to 'sboupgrade')
-rwxr-xr-xsboupgrade43
1 files changed, 10 insertions, 33 deletions
diff --git a/sboupgrade b/sboupgrade
index a018150..5c164b8 100755
--- a/sboupgrade
+++ b/sboupgrade
@@ -54,9 +54,8 @@ my $only_new = exists $options{o} ? 'TRUE' : 'FALSE';
my $compat32 = exists $options{p} ? 'TRUE' : 'FALSE';
if (exists $options{j}) {
- unless ($options{j} =~ /^\d+$/ || $options{j} eq 'FALSE') {
- die "You have provided an invalid parameter for -j\n";
- }
+ die "You have provided an invalid parameter for -j\n" unless
+ ($options{j} =~ /^\d+$/ || $options{j} eq 'FALSE');
}
my $jobs = exists $options{j} ? $options{j} : $config{JOBS};
@@ -70,9 +69,8 @@ slackbuilds_or_fetch ();
my %locations;
for my $sbo_name (@ARGV) {
$locations{$sbo_name} = get_sbo_location ($sbo_name);
- unless (defined $locations{$sbo_name}) {
- die "Unable to locate $sbo_name in the SlackBuilds.org tree.\n";
- }
+ die "Unable to locate $sbo_name in the SlackBuilds.org tree.\n" unless
+ (defined $locations{$sbo_name});
}
sub get_readme_path {
@@ -94,7 +92,7 @@ sub grok_readme {
$readme =~ s/\n\n/./g;
$readme =~ s/\n//g;
my $string = $4 if $readme =~
- /([Tt]his|$sbo|)\s+[Rr]equire(s|)(|:)\s+([^\.]+)/;
+ /([Tt]his|\Q$sbo\E|)\s+[Rr]equire(s|)(|:)\s+([^\.]+)/;
return unless defined $string;
# remove anything in brackets or parens
$string =~ s/(\s)*\[[^\]]+\](\s)*//g;
@@ -110,24 +108,8 @@ sub grok_readme {
}
splice (@deps, $remove, 1) if defined $remove;
return unless exists $deps[0];
- # check each parsed requirement against installed slackbuilds
- my @installed = get_installed_sbos ();
- my @needed;
- my @have;
- FIRST: for my $dep (@deps) {
- SECOND: for my $key (keys @installed) {
- my $tempname = $compat32 eq 'TRUE' ? "$dep-compat32" : $dep;
- if ($tempname eq $installed[$key]{name}) {
- push (@have, $dep);
- last SECOND;
- }
- }
- }
- for my $dep (@deps) {
- push (@needed, $dep) unless $dep ~~ @have;
- }
FIRST: for my $need (@needed) {
- # compare against installed slackbuilds again, since we're recursive
+ # compare against installed slackbuilds
my $tempname = $compat32 eq 'TRUE' ? "$need-compat32" : $need;
my @inst = get_installed_sbos ();
SECOND: for my $key (keys @inst) {
@@ -146,7 +128,7 @@ sub grok_readme {
push (@args, "-d") if exists $options{d};
push (@args, "-j $options{j}") if exists $options{j};
push (@args, "-p") if $compat32 eq 'TRUE';
- push (@args, "$need");
+ push (@args, $need);
system ($cmd, @args);
}
}
@@ -178,15 +160,12 @@ sub process_sbos {
for my $sbo (@todo) {
readme_prompt ($sbo) unless $no_readme eq 'TRUE';
# switch compat32 on if upgrading a -compat32
- # this should maybe happen not in this sub?
$compat32 = 'TRUE' if $sbo =~ /-compat32$/;
my $version;
my $pkg;
my $src;
- eval {
- ($version, $pkg, $src) = do_slackbuild
- ($jobs, $sbo, $locations{$sbo}, $compat32);
- };
+ eval { ($version, $pkg, $src) = do_slackbuild
+ ($jobs, $sbo, $locations{$sbo}, $compat32); };
if ($@) {
push (@failures, $sbo);
} else {
@@ -242,9 +221,7 @@ unless ($only_new eq 'TRUE') {
# but without force, we only want to update what there are updates for
unless ($force eq 'TRUE') {
for my $sbo (@ARGV) {
- if ($sbo ~~ @updates) {
- push (@todo_upgrade, $sbo);
- }
+ push (@todo_upgrade, $sbo) if $sbo ~~ @updates;
}
} else {
FIRST: for my $sbo (@ARGV) {