summaryrefslogtreecommitdiffstats
path: root/perl-install/pkgs.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/pkgs.pm')
-rw-r--r--perl-install/pkgs.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index c5c4de8e8..df01f4ed1 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -314,7 +314,7 @@ sub unselectAllPackages($) {
sub skipSetWithProvides {
my ($packages, @l) = @_;
- packageSetFlagSkip($_, 1) foreach grep { $_ } map { $_, packageProvides($_) } map { packageByName($packages, $_) } @l;
+ packageSetFlagSkip($_, 1) foreach grep { $_ } map { $_, packageProvides($_) } @l;
}
sub psUsingHdlists {
@@ -537,7 +537,11 @@ sub readCompssList {
sub readCompssUsers {
my ($packages, $compss) = @_;
my (%compssUsers, @sorted, $l);
- my %compss; m|(.*)/(.*)| && push @{$compss{$1}}, $2 foreach @$compss;
+ my (%compss);
+ foreach (@$compss) {
+ local ($_, $a) = m|(.*)/(.*)|;
+ do { push @{$compss{$_}}, $a } while s|/[^/]+||;
+ }
my $map = sub {
$l or return;
@@ -554,8 +558,7 @@ sub readCompssUsers {
$compssUsers{$1} = $l = [];
} elsif (/\s+\+(\S+)/) {
push @$l, $1;
- } elsif (/\s+(\S+)/) {
- s|:|/|g; /\s+(\S+)/;
+ } elsif (/^\s+(.*?)\s*$/) {
push @$l, @{$compss{$1} || log::l("unknown category $1 (in compssUsers)") && []};
}
}
@@ -934,6 +937,7 @@ sub install($$$;$$) {
my @probs = c::rpmRunTransactions($trans, $callbackOpen, $callbackClose, \&installCallback, 0);
log::l("rpmRunTransactions done");
+ log::l("ERROR: rpmRunTransactions pb $_") foreach @probs;
if (my @badpkgs = grep { !packageFlagInstalled($_) } @transToInstall) {
cdie "error installing package list: " . join("\n", map { $_->{file} } @badpkgs), sub {