X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=lib%2FPackages%2FHTML.pm;h=c8cd39df920de4dca0a2f2f2f9e2cb2cc5ee159d;hb=fba8ac72a773c38df1b3da420548fd2c961cf23e;hp=859467a9da06daf65cf19497c5fc2d5cb9ab6b00;hpb=56d4b3ed57e20359e5ea46feabb850cf4a94caf2;p=deb%2Fpackages.git diff --git a/lib/Packages/HTML.pm b/lib/Packages/HTML.pm index 859467a..c8cd39d 100644 --- a/lib/Packages/HTML.pm +++ b/lib/Packages/HTML.pm @@ -238,6 +238,18 @@ sub dep_item { return "$link$name$post_link$info$desc"; } # end dep_item +sub provides_string { + my ($path, $entry) = @_; + my @provided_by = split /\s/, $entry; + my $short_desc = "virtual package provided by "; + if (@provided_by < 10) { + $short_desc .= join( ', ',map { "$_" } @provided_by); + } else { + $short_desc .= scalar(@provided_by)." packages"; + } + return $short_desc; +} + sub print_deps { my ( $packages, $opts, $pkg, $relations, $type) = @_; my %dep_type = ('depends' => 'dep', 'recommends' => 'rec', @@ -249,7 +261,7 @@ sub print_deps { my $one_archive = @{$opts->{archive}} > 1 ? '': $opts->{archive}[0]; # use Data::Dumper; -# debug( "print_deps called:\n".Dumper( $pkg, $relations, \$type ), 3 ); +# debug( "print_deps called:\n".Dumper( $pkg, $relations, \$type ), 3 ) if DEBUG; foreach my $rel (@$relations) { my $is_old_pkgs = $rel->[0]; @@ -286,27 +298,25 @@ sub print_deps { my $entry = $entries{$p_name} || read_entry_simple( $packages, $p_name, $opts->{h_archives}, $suite); my $short_desc = $entry->[-1]; - my $arch = $entry->[2]; - my $archive = $entry->[0]; + my $arch = $entry->[3]; + my $archive = $entry->[1]; if ( $short_desc ) { my $path = $one_archive eq $archive ? "$suite/$archive" : $suite; if ( $is_old_pkgs ) { push @res_pkgs, dep_item( "$ROOT/$path/$p_name", $p_name, "$pkg_version$arch_str" ); - } elsif ($arch eq 'virtual') { - my @provided_by = split /\s/, $short_desc; - $short_desc = "virtual package provided by "; - if (@provided_by < 10) { - $short_desc .= join( ', ',map { "$_" } @provided_by); - } else { - $short_desc .= scalar(@provided_by)." packages"; - } - push @res_pkgs, dep_item( "$ROOT/$path/$p_name", - $p_name, "$pkg_version$arch_str", $short_desc ); - } else { + } elsif (defined $entry->[1]) { $entries{$p_name} ||= $entry; $short_desc = encode_entities( $short_desc, "<>&\"" ); + $short_desc .= "
".provides_string( "$ROOT/$path", + $entry->[0] ) + if defined $entry->[0]; + push @res_pkgs, dep_item( "$ROOT/$path/$p_name", + $p_name, "$pkg_version$arch_str", $short_desc ); + } elsif (defined $entry->[0]) { + $short_desc = provides_string( "$ROOT/$path", + $entry->[0] ); push @res_pkgs, dep_item( "$ROOT/$path/$p_name", $p_name, "$pkg_version$arch_str", $short_desc ); } @@ -382,12 +392,7 @@ sub header { $search_in_header = <
- - - - - - + %s