%options,
$type => $_,
),
- $_);
+ ($type eq 'src'?'src:':'').$_);
} make_list($param{$type}) if exists $param{$type};
}
for my $type (qw(maint owner submitter correspondent)) {
my @packages = splitpackages($status{package});
foreach my $pkg (@packages) {
- $package{$pkg} = {maintainer => exists($maintainer{$pkg}) ? $maintainer{$pkg} : '(unknown)',
- exists($pkgsrc{$pkg}) ? (source => $pkgsrc{$pkg}) : (),
- package => $pkg,
- };
+ if ($pkg =~ /^src\:/) {
+ my ($srcpkg) = $pkg =~ /^src:(.*)/;
+ $package{$pkg} = {maintainer => exists($maintainer{$srcpkg}) ? $maintainer{$srcpkg} : '(unknown)',
+ source => $srcpkg,
+ package => $pkg,
+ is_source => 1,
+ };
+ }
+ else {
+ $package{$pkg} = {maintainer => exists($maintainer{$pkg}) ? $maintainer{$pkg} : '(unknown)',
+ exists($pkgsrc{$pkg}) ? (source => $pkgsrc{$pkg}) : (),
+ package => $pkg,
+ };
+ }
}
# fixup various bits of the status
<div class="pkginfo">
<p>{if (keys %package > 1) { q(Packages)} else {q(Package)}}:
- {join(q(, ),package_links(package => [map {$_->{package}} values %package],
+ {join(q(, ),package_links(package => [map {$_->{package}} grep {!$_->{is_source}} values %package],
+ source => [map {$_->{source} } grep { $_->{is_source}} values %package],
class => q(submitter),
)
)};
{my $output ='';
for my $package (values %package) {
- $output .= q(Maintainer for ).package_links(package=>$package->{package}).qq( is ).
+ $output .= q(Maintainer for ).package_links($package->{is_source}?(source=>$package->{source}):(package=>$package->{package})).qq( is ).
package_links(maintainer => $package->{maintainer}).qq(; );
- if (exists $package->{source}) {
+ if (exists $package->{source} and not $package->{is_source}) {
$output .= q(Source for ).package_links(package=>$package->{package}).qq( is ).
package_links(source => $package->{source}).qq(. );
}