]> git.deb.at Git - deb/packages.git/blobdiff - bin/create_index_pages
create_index_pages: Fix charset
[deb/packages.git] / bin / create_index_pages
index 23dd0e69303d887437c8237a71b26ee205b0b271..72498e9299669f6a931171b84f441433340773d4 100755 (executable)
@@ -44,24 +44,30 @@ tie my %src2bin, 'DB_File', "$DBDIR/sources_packages.db",
 
 my $sections = retrieve "$DBDIR/sections.info";
 my $subsections = retrieve "$DBDIR/subsections.info";
-# work around problems with non-US security updates
-$subsections->{oldstable}{us}{'non-US'}++;
 my $priorities = retrieve "$DBDIR/priorities.info";
 
 #use Data::Dumper;
 #print STDERR Dumper($sections, $subsections, $priorities);
 
-my (%pages);
+my (%pages, %tt_vars);
 
-my $template = new Packages::Template( "$TOPDIR/templates", 'html', {} );
+$tt_vars{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
+$tt_vars{make_url} = sub { return &Packages::CGI::make_url(@_) };
+# needed to work around the limitations of the the FILTER syntax
+$tt_vars{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
+$tt_vars{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
+$tt_vars{quotemeta} = sub { return quotemeta($_[0]) };
+
+my $template = new Packages::Template( "$TOPDIR/templates", 'html', \%tt_vars );
 
 print "write suite index files ...\n";
 foreach my $s (@SUITES) {
     my $key = $s;
     mkpath ( "$wwwdir/$key" );
+    mkpath ( "$wwwdir/source/$key" );
     foreach my $lang (@LANGUAGES) {
        my $locale = get_locale( $lang );
-       my $charset = get_locale( $lang );
+       my $charset = get_charset( $lang );
        setlocale ( LC_ALL, $locale ) or do {
            warn "couldn't set locale ($lang/$locale)\n";
            next;
@@ -70,14 +76,7 @@ foreach my $s (@SUITES) {
 
        my %content = ( subsections => [], suite => $s,
                        lang => $lang, charset => $charset,
-                       suites => \@SUITES );
-       $content{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
-       $content{make_url} = sub { return &Packages::CGI::make_url(@_) };
-        # needed to work around the limitations of the the FILTER syntax
-       $content{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
-       $content{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
-       $content{quotemeta} = sub { return quotemeta($_[0]) };
-
+                       used_langs => \@LANGUAGES, suites => \@SUITES );
        foreach my $ssec ((keys %{$subsections->{$s}}, 'virtual')) {
            next if $ssec eq '-';
            if ($sections_descs{$ssec}) {
@@ -92,7 +91,6 @@ foreach my $s (@SUITES) {
        open $pages{$key}{$lang}{index}{fh}, '>', "$wwwdir/$key/index.$lang.html.new"
            or die "can't open index file for output: $!";
        print {$pages{$key}{$lang}{index}{fh}} $template->page( 'suite_index', \%content );
-       print {$pages{$key}{$lang}{index}{fh}} $template->trailer( 'index', $lang, \@LANGUAGES );
        close $pages{$key}{$lang}{index}{fh} or
            warn "can't close index file $wwwdir/$key/index.$lang.html.new: $!";
        rename( "$wwwdir/$key/index.$lang.html.new",
@@ -102,7 +100,6 @@ foreach my $s (@SUITES) {
        open $pages{$key}{$lang}{source_index}{fh}, '>', "$wwwdir/source/$key/index.$lang.html.new"
            or die "can't open index file for output: $!";
        print {$pages{$key}{$lang}{source_index}{fh}} $template->page( 'suite_index', \%content );
-       print {$pages{$key}{$lang}{source_index}{fh}} $template->trailer( 'index', $lang, \@LANGUAGES );
        close $pages{$key}{$lang}{source_index}{fh} or
            warn "can't close index file $wwwdir/source/$key/index.$lang.html.new: $!";
        rename( "$wwwdir/source/$key/index.$lang.html.new",