]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoShow.pm
templates/html/show.tmpl: Denote unofficial ports
[deb/packages.git] / lib / Packages / DoShow.pm
index 0f760858f76b291e78594ab7d5130af524a4bb9b..05baeff8ea08463ed9624692ff7b5d604f26e39b 100644 (file)
@@ -119,7 +119,22 @@ sub do_show {
                        debug( "Data search and merging took ".timestr($std) ) if DEBUG;
 
                        my $did = $page->get_newest( 'description' );
-                       my @tags = map { [ split( /::/, $_) ] } split(/, /, $page->get_newest( 'tag' ));
+                       my @complete_tags = split(/, /, $page->get_newest( 'tag' ));
+                       my @tags;
+                       foreach (@complete_tags) {
+                           my ($facet, $tag) = split( /::/, $_, 2);
+                           # handle tags like devel::{lang:c,lang:c++}
+                           if ($tag =~ s/^\{(.+)\}$/$1/) {
+                               foreach (split( /,/, $tag )) {
+                                   next if $tag =~ /^special:/;
+                                   push @tags, [ $facet, $_ ];
+                               }
+                           } else {
+                               next if $tag =~ /^special:/;
+                               push @tags, [ $facet, $tag ];
+                           }
+                       }
+
                        $contents{tags} = \@tags;
                        $contents{debtags_voc} = \%debtags;
 
@@ -140,7 +155,7 @@ sub do_show {
                        $short_desc = encode_entities( $1, "<>&\"" )
                            if $desc =~ s/^(.*)$//m;
                        my $long_desc = encode_entities( $desc, "<>&\"" );
-                       
+
                        $long_desc =~ s,((ftp|http|https)://[\S~-]+?/?)((\&gt\;)?[)]?[']?[:.\,]?(\s|$)),<a href=\"$1\">$1</a>$3,go; # syntax highlighting -> '];
                        $long_desc =~ s/\A //o;
                        $long_desc =~ s/\n /\n/sgo;
@@ -163,6 +178,9 @@ sub do_show {
                        #
                        # display dependencies
                        #
+                       build_deps( \%packages, $opts, $pkg,
+                                   $page->get_dep_field('pre-depends'),
+                                   'depends', \%contents );
                        build_deps( \%packages, $opts, $pkg,
                                    $page->get_dep_field('depends'),
                                    'depends', \%contents );
@@ -183,6 +201,7 @@ sub do_show {
                                      instsize => $sizes_inst->{$a}, );
 
                            $d{version} = $versions->{$a} if $multiple_versions;
+                           $d{archive} = $archives->{$a};
                            if ( ($suite ne "experimental")
                                 && ($subsection ne 'debian-installer')) {
                                $d{contents_avail} = 1;