diff options
Diffstat (limited to 'SBO-Lib/lib/SBO')
| -rw-r--r-- | SBO-Lib/lib/SBO/Lib.pm | 26 | 
1 files changed, 15 insertions, 11 deletions
diff --git a/SBO-Lib/lib/SBO/Lib.pm b/SBO-Lib/lib/SBO/Lib.pm index 83fbe3c..2e8497a 100644 --- a/SBO-Lib/lib/SBO/Lib.pm +++ b/SBO-Lib/lib/SBO/Lib.pm @@ -260,16 +260,17 @@ sub get_installed_packages($) {  	my $regex = qr#/([^/]+)-([^-]+)-[^-]+-([^-]+)$#;  	for my $path (<$pkg_db/*>) { -		my ($name, $version, $build) = ($path =~ $regex)[0,1,2]; -		# valid types: STD, SBO -		my $type = 'STD'; -		if ($build =~ m/_SBo(|compat32)$/) { -			my $sbo = $name; -			$sbo =~ s/-compat32//g if $name =~ /-compat32$/; -			$type = 'SBO' if get_sbo_location($sbo); -		} -		if ($filter eq $type or $filter eq 'ALL') { -			push @installed, {name => $name, version => $version}; +		if (my ($name, $version, $build) = ($path =~ $regex)[0,1,2]) { +			# valid types: STD, SBO +			my $type = 'STD'; +			if ($build =~ m/_SBo(|compat32)$/) { +				my $sbo = $name; +				$sbo =~ s/-compat32//g if $name =~ /-compat32$/; +				$type = 'SBO' if get_sbo_location($sbo); +			} +			if ($filter eq $type or $filter eq 'ALL') { +				push @installed, {name => $name, version => $version}; +			}  		}  	}  	return \@installed; @@ -485,7 +486,7 @@ sub get_distfile {  	mkdir $distfiles unless -d $distfiles;  	chdir $distfiles;  	unlink $filename if -f $filename; -	if (system("wget --no-check-certificate $link") != 0) { +	if (system("wget --no-check-certificate \"$link\"") != 0) {  		return "Unable to wget $link.\n", _ERR_DOWNLOAD;  	}  	# can't do anything if the link in the .info doesn't lead to a good d/l @@ -864,6 +865,9 @@ sub make_clean {  	}  	remove_tree("$tmpsbo/package-$args{SBO}") if   		-d "$tmpsbo/package-$args{SBO}"; +	# clean up after convertpkg-compat32 +	remove_tree("/tmp/package-$args{SBO}") if  +		-d "/tmp/package-$args{SBO}" and $args{SBO} ~~ /-compat32$/;  	return 1;  }  | 
