]> git.deb.at Git - deb/packages.git/commitdiff
Merge branch 'master' into ubuntu-master
authorGerfried Fuchs <rhonda@debian.org>
Fri, 26 Aug 2011 09:02:50 +0000 (11:02 +0200)
committerGerfried Fuchs <rhonda@debian.org>
Fri, 26 Aug 2011 09:02:50 +0000 (11:02 +0200)
41 files changed:
bin/parse-contents
bin/parse-packages
conf/apache.conf.sed.in
config.sh.sed.in
cron.d/100syncarchive
cron.d/100syncarchive_m68k [deleted file]
cron.d/100syncarchive_volatile [deleted file]
cron.d/110debtags
lib/Deb/Versions.pm
lib/Packages/DoSearchContents.pm
lib/Packages/DoShow.pm
lib/Packages/Page.pm
lib/Packages/SrcPage.pm
setup-site.conf
static/about/index.tmpl
static/debian.css
static/packages.css.sed.in
static/ubuntu/footer-bg.jpg [new file with mode: 0644]
static/ubuntu/footer-bg.png [new file with mode: 0644]
static/ubuntu/footer-image.png [new file with mode: 0644]
static/ubuntu/footer-image2.png [new file with mode: 0644]
static/ubuntu/header-bg4.png [new file with mode: 0644]
static/ubuntu/header-image4.png [new file with mode: 0644]
static/ubuntu/little-u.gif [new file with mode: 0644]
static/ubuntu/masthead.css [new file with mode: 0644]
static/ubuntu/no-bullet.gif [new file with mode: 0644]
static/ubuntu/splash.jpg [new file with mode: 0644]
static/ubuntu/tab_off_ns1.gif [new file with mode: 0644]
static/ubuntu/tab_off_ns2.gif [new file with mode: 0644]
static/ubuntu/tab_on_ns1.gif [new file with mode: 0644]
static/ubuntu/tab_on_ns2.gif [new file with mode: 0644]
static/ubuntu/trans.gif [new file with mode: 0644]
static/ubuntu/ubuntu.css [new file with mode: 0644]
templates/config.tmpl
templates/config/archive_layout.tmpl
templates/config/mirrors.tmpl
templates/html/download.tmpl
templates/html/foot.tmpl
templates/html/head.tmpl
templates/html/homepage.tmpl
templates/html/show.tmpl

index 16bc7e497f7e9bf25daf0b5c5337415279fd7cff..959b6101b8e8e9478a11dd3222e886ecf1904f62 100755 (executable)
@@ -87,9 +87,11 @@ for my $suite (@suites) {
 
                open CONT, "zcat $filename|$what"
                    or die $!;
-               while (<CONT>) { last if /^FILE/mo; }
-               if (eof(CONT)) { # no header found
+               my $header_found = 0;
+               while (<CONT>) { /^FILE/mo && do { $header_found = 1; last };}
+               if (eof(CONT)) { # no header found or only header found
                    close CONT; # explicit close to reset $.
+                   next if $header_found;
                    open CONT, "zcat $filename|$what";
                }
                while (<CONT>) {
index 6f89070915800afb508d1d56c70bab4e18f721f9..e069024c7ab1e20a54fb9f17b96ddca62cba7d73 100755 (executable)
@@ -68,11 +68,12 @@ for my $suite (@SUITES) {
 
     for my $archive (@ARCHIVES) {
        print "Reading $archive/$suite...\n";
-       if (!-d "$TOPDIR/archive/$archive/$suite/") {
+       my $suite_dir = "$TOPDIR/archive/$archive/$suite";
+       if (!-d $suite_dir) {
                 print "\tseems not to exist, skipping...\n";
                 next;
         }
-       open PKG, "zcat $TOPDIR/archive/$archive/$suite/$what/{,debian-installer/}binary-*/Packages.gz|";
+       open PKG, "zcat $suite_dir/$what/binary-*/Packages.gz $suite_dir/$what/debian-installer/binary-*/Packages.gz|";
        while (<PKG>) {
                next if /^\s*$/;
                my $data = "";
index fb36e4a2b753cbb069bd5768e2a0f5a52a58f171..41bcc344cc521f4c1245f52fe2a1d354aa8f1a15 100644 (file)
   AddEncoding x-gzip .gz
 </Directory>
 
-<VirtualHost *:80>
-   ServerAdmin webmaster@debian.org
+<VirtualHost 91.189.94.219:80>
+   ServerAdmin frank@lichtenheld.de
    DocumentRoot %TOPDIR%/www/
    ServerName %SITE%
+   ServerAlias packages.ubunut.com
    ErrorLog /var/log/apache2/%SITE%-error.log
    CustomLog /var/log/apache2/%SITE%-access.log combined
 
-   Alias /cgi-bin/ %TOPDIR%/cgi-bin/
+   ScriptAlias /cgi-bin/ %TOPDIR%/cgi-bin/
   
    PerlModule ModPerl::Registry
    PerlTaintCheck On
    RewriteRule ^/changelogs/ - [L]
    RewriteRule ^/Pics/ - [L]
    RewriteRule ^/about/ - [L]
+   RewriteRule ^/ubuntu/ - [L]
    RewriteRule ^/[^/]+\.css - [L]
    RewriteRule ^/[^/]+\.js - [L]
    RewriteRule ^/favicon.ico$ - [L]
 #   RewriteRule . /index.html
 
 </VirtualHost>
+
+<VirtualHost 91.189.94.219:80>
+   ServerAdmin frank@lichtenheld.de
+   DocumentRoot %TOPDIR%/www/
+   ServerName packages.ubuntu.net
+   ServerAlias packages.ubuntulinux.org
+   ErrorLog /var/log/apache2/%SITE%-error.log
+   CustomLog /var/log/apache2/%SITE%-access.log combined
+
+   ScriptAlias /cgi-bin %TOPDIR%/cgi-bin/
+
+   RedirectMatch permanent (.*) http://%SITE%$1
+</VirtualHost>
+
index 09d080cb7638dee1065c96df2c3026d1ffab38bd..0e65032ec7f2191d657a549740e6aba4cc094139 100644 (file)
@@ -24,12 +24,9 @@ cachedir=${topdir}/cache
 # path to private ftp directory
 #ftproot=/org/ftp.root
 
-ftpsite=http://ftp.de.debian.org/debian
-security_ftpsite=http://security.debian.org/debian-security
-volatile_ftpsite=http://volatile.debian.org/debian-volatile
-backports_ftpsite=http://backports.debian.org/debian-backports
-debports_ftpsite=http://ftp.debian-ports.org/debian
-ddtp_ftpsite=
+ftpsite=http://archive.ubuntu.com/ubuntu
+security_ftpsite=http://archive.ubuntu.com/ubuntu
+#ddtp_ftpsite=http://archive.ubuntu.com/ubuntu
 
 wget_cmd="wget --no-verbose --tries=2 --timeout=60"
 check_release_cmd="perl -I${libdir} ${bindir}/check-release --verbose --ignoremissing --keyring ${configdir}/trusted.gpg"
@@ -42,21 +39,32 @@ search_url="/search"
 #
 polangs="bg de fi fr hu ja nl ru sk sv uk zh-cn zh-tw"
 ddtplangs="ca cs da de eo es eu fi fr hu it ja km ko nl pl pt pt-br ru sk sv uk zh zh-cn zh-tw"
-archives="us security debports backports volatile"
-sections="main contrib non-free"
+archives="us security"
+sections="main multiverse restricted universe"
 parts="$sections"
-suites="etch etch-m68k etch-volatile etch-backports lenny lenny-volatile lenny-backports squeeze squeeze-backports sid experimental"
+suites="dapper dapper-updates dapper-backports hardy hardy-updates hardy-backports lucid lucid-updates lucid-backports maverick maverick-updates maverick-backports natty natty-updates natty-backports oneiric"
 priorities="required important standard optional extra"
 dists="$suites"
-architectures="alpha amd64 arm armel avr32 hppa hurd-i386 i386 ia64 kfreebsd-i386 kfreebsd-amd64 m68k mips mipsel powerpc powerpcspe s390 sh4 sparc sparc64"
-arch_etch="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc"
-arch_lenny="${arch_etch} armel"
-arch_squeeze="alpha amd64 armel hppa i386 ia64 kfreebsd-i386 kfreebsd-amd64 mips mipsel powerpc s390 sparc"
-arch_sid="${arch_squeeze} avr32 hurd-i386 m68k powerpcspe sh4 sparc64"
-arch_experimental="${arch_sid}"
-arch_lenny_proposed_updates="${arch_lenny}"
-arch_etch_proposed_updates="${arch_etch}"
+architectures="i386 amd64 powerpc"
+arch_dapper="i386 amd64 powerpc"
+arch_dapper_updates="${arch_dapper}"
+arch_dapper_backports="${arch_dapper}"
+arch_hardy="i386 amd64"
+arch_hardy_updates="${arch_hardy}"
+arch_hardy_backports="${arch_hardy}"
+arch_lucid="${arch_hardy}"
+arch_lucid_updates="${arch_lucid}"
+arch_lucid_backports="${arch_lucid}"
+arch_maverick="${arch_lucid}"
+arch_maverick_updates="${arch_maverick}"
+arch_maverick_backports="${arch_maverick}"
+arch_natty="${arch_maverick}"
+arch_natty_updates="${arch_natty}"
+arch_natty_backports="${arch_natty}"
+arch_oneiric="${arch_maverick}"
+arch_oneiric_updates="${arch_oneiric}"
+arch_oneiric_backports="${arch_oneiric}"
 
 # Miscellaneous
 #
-admin_email="djpig@debian.org"
+admin_email="rhonda@debian.org"
index d8b9f79bc28b8248fd63b67c1c2af7d6068bd5e1..3f2008a24cfde58564f4ad8bb42e4b1c50a2ca84 100755 (executable)
@@ -28,7 +28,6 @@ then
                (cd us/${dist}/${part}/binary-${arch} &&
                    $wget_cmd -N ${ftpsite}/dists/${dist}/${part}/binary-${arch}/Packages.gz)
            done
-           #FIXME: no Contents files for p-u
            echo retrieve Contents $dist/$arch
            (cd us/${dist} &&
                $wget_cmd -N ${ftpsite}/dists/${dist}/Contents-${arch}.gz)
@@ -62,7 +61,6 @@ else
                rsync -t ${localdir}/dists/${dist}/${part}/binary-${arch}/Packages.gz \
                    us/${dist}/${part}/binary-${arch}/Packages.gz
            done
-           #FIXME: no Contents files for p-u
            echo retrieve Contents $dist/$arch
            rsync -t ${localdir}/dists/${dist}/Contents-${arch}.gz \
                us/${dist}/Contents-${arch}.gz
@@ -81,23 +79,23 @@ fi
 
 # security archive
 #
-for dist in etch lenny
+for dist in $dists
 do
     echo "retrieve Release(.gpg) $dist"
     test -d security/${dist} || mkdir -p security/${dist}
     (cd security/${dist} &&
-       $wget_cmd -N ${security_ftpsite}/dists/${dist}/updates/Release &&
-       $wget_cmd -N ${security_ftpsite}/dists/${dist}/updates/Release.gpg )
+       $wget_cmd -N ${security_ftpsite}/dists/${dist}-security/Release &&
+       $wget_cmd -N ${security_ftpsite}/dists/${dist}-security/Release.gpg )
         
     foo=\$arch_${dist//-/_}
     for arch in `eval echo $foo`
     do
       for part in ${parts}
       do
-       echo retrieve Packages $dist/$part/security/$arch
+       echo retrieve Packages $dist-security/$part/$arch
        test -d security/${dist}/${part}/binary-${arch} || mkdir -p security/${dist}/${part}/binary-${arch}
        (cd  security/${dist}/${part}/binary-${arch} &&
-           $wget_cmd -N ${security_ftpsite}/dists/${dist}/updates/${part}/binary-${arch}/Packages.gz)
+           $wget_cmd -N ${security_ftpsite}/dists/${dist}-security/${part}/binary-${arch}/Packages.gz)
       done
     done
     for part in ${parts}
@@ -105,7 +103,7 @@ do
         echo retrieve Sources $dist/$part/security
         test -d security/${dist}/${part}/source || mkdir -p security/${dist}/${part}/source
         (cd security/${dist}/${part}/source &&
-            $wget_cmd -N ${security_ftpsite}/dists/${dist}/updates/${part}/source/Sources.gz)
+            $wget_cmd -N ${security_ftpsite}/dists/${dist}-security/${part}/source/Sources.gz)
     done
 
     $check_release_cmd $archivedir/security/${dist}/Release
diff --git a/cron.d/100syncarchive_m68k b/cron.d/100syncarchive_m68k
deleted file mode 100755 (executable)
index 3dcf954..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/bash
-
-. `dirname $0`/../config.sh
-
-test -d ${archivedir} || mkdir -p ${archivedir}
-cd ${archivedir}
-
-# Main archive
-#
-arch=m68k
-if [ -z "${localdir}" ]
-then
-    echo using remote mirror
-    for dist in etch
-    do
-        echo "retrieve Release(.gpg) $dist"
-       test -d us/${dist}-${arch} || mkdir -p us/${dist}-${arch}
-       (cd us/${dist} &&
-           $wget_cmd -N ${ftpsite}/dists/${dist}-${arch}/Release &&
-           $wget_cmd -N ${ftpsite}/dists/${dist}-${arch}/Release.gpg )
-        
-#      foo=\$arch_${dist//-/_}
-#      for arch in `eval echo $foo`
-#      do
-           for part in ${parts}
-           do
-               echo retrieve Packages $dist-${arch}/$part/$arch
-               test -d us/${dist}-${arch}/${part}/binary-${arch} || mkdir -p us/${dist}-${arch}/${part}/binary-${arch}
-               (cd us/${dist}-${arch}/${part}/binary-${arch} &&
-                   $wget_cmd -N ${ftpsite}/dists/${dist}-${arch}/${part}/binary-${arch}/Packages.gz)
-           done
-           #FIXME: no Contents files for p-u
-           echo retrieve Contents $dist/$arch
-           (cd us/${dist}-${arch} &&
-               $wget_cmd -N ${ftpsite}/dists/${dist}-${arch}/Contents-${arch}.gz)
-#      done
-       for part in ${parts}
-       do
-           echo retrieve Sources $dist-${arch}/$part
-           test -d us/${dist}-${arch}/${part}/source || mkdir -p us/${dist}-${arch}/${part}/source
-            (cd us/${dist}-${arch}/${part}/source &&
-                $wget_cmd -N ${ftpsite}/dists/${dist}-${arch}/${part}/source/Sources.gz)
-       done
-
-       $check_release_cmd $archivedir/us/${dist}-${arch}/Release
-    done
-else
-    echo using local mirror
-    for dist in etch
-    do
-        echo "retrieve Releases(.gpg) $dist"
-       test -d us/${dist}-${arch} || mkdir -p us/${dist}-${arch}
-       (cd us/${dist}-${arch} &&
-           rsync -t ${localdir}/dists/${dist}-${arch}/Release &&
-           rsync -t ${localdir}/dists/${dist}-${arch}/Release.gpg )
-
-#      foo=\$arch_${dist//-/_}
-#      for arch in `eval echo $foo`
-#      do
-           for part in ${parts}
-           do
-               echo retrieve Packages $dist-${arch}/$part/$arch
-               test -d us/${dist}-${arch}/${part}/binary-${arch} || mkdir -p us/${dist}-${arch}/${part}/binary-${arch}
-               rsync -t ${localdir}/dists/${dist}-${arch}/${part}/binary-${arch}/Packages.gz \
-                   us/${dist}-${arch}/${part}/binary-${arch}/Packages.gz
-           done
-           #FIXME: no Contents files for p-u
-           echo retrieve Contents $dist-${arch}/$arch
-           rsync -t ${localdir}/dists/${dist}-${arch}/Contents-${arch}.gz \
-               us/${dist}-${arch}/Contents-${arch}.gz
-#      done
-       for part in ${parts}
-        do
-           echo retrieve Sources $dist-${arch}/$part
-            test -d us/${dist}-${arch}/${part}/source || mkdir -p us/${dist}-${arch}/${part}/source
-            rsync -t ${localdir}/dists/${dist}-${arch}/${part}/source/Sources.gz \
-               us/${dist}-${arch}/${part}/source/Sources.gz
-       done
-       $check_release_cmd $archivedir/us/${dist}-${arch}/Release
-    done
-fi
-
diff --git a/cron.d/100syncarchive_volatile b/cron.d/100syncarchive_volatile
deleted file mode 100755 (executable)
index ae0f701..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-. `dirname $0`/../config.sh
-
-test -d ${archivedir} || mkdir -p ${archivedir}
-cd ${archivedir}
-
-# volatile archive
-#
-for dist in etch lenny
-do
-  echo "retrieve Release(.gpg) $dist-volatile"
-  test -d volatile/${dist}-volatile || mkdir -p volatile/${dist}-volatile
-  (cd volatile/${dist}-volatile &&
-      $wget_cmd -N ${volatile_ftpsite}/dists/${dist}/volatile/Release &&
-      $wget_cmd -N ${volatile_ftpsite}/dists/${dist}/volatile/Release.gpg )
-
-    foo=\$arch_${dist//-/_}
-    for arch in `eval echo $foo`
-    do
-      for part in ${parts}
-      do
-       echo retrieve Packages $dist-volatile/$part/$arch
-       test -d volatile/${dist}-volatile/${part}/binary-${arch} || mkdir -p volatile/${dist}-volatile/${part}/binary-${arch}
-       (cd  volatile/${dist}-volatile/${part}/binary-${arch} &&
-           $wget_cmd -N ${volatile_ftpsite}/dists/${dist}/volatile/${part}/binary-${arch}/Packages.gz)
-      done
-      echo retrieve Contents $dist-volatile/$arch
-      (cd volatile/${dist}-volatile &&
-         $wget_cmd -N ${volatile_ftpsite}/dists/${dist}/volatile/Contents-${arch}.gz)
-
-    done
-    for part in ${parts}
-    do
-        echo retrieve Sources $dist-volatile/$part
-        test -d volatile/${dist}-volatile/${part}/source || mkdir -p volatile/${dist}-volatile/${part}/source
-        (cd volatile/${dist}-volatile/$part/source &&
-            $wget_cmd -N ${volatile_ftpsite}/dists/${dist}/volatile/${part}/source/Sources.gz)
-    done
-
-    $check_release_cmd $archivedir/volatile/${dist}-volatile/Release
-done
index a2be69520a9e2e2cdc312bac4e7d132f677d7a00..17ee2183ffe01bdd1ec02dd246b06a3687c56026 100755 (executable)
@@ -7,6 +7,7 @@ debtagsdir="$filesdir/debtags"
 test -d ${debtagsdir} || mkdir -p ${debtagsdir}
 cd ${debtagsdir}
 
+export http_proxy=http://squid.external:3128/
 $wget_cmd -N http://debtags.alioth.debian.org/tags/vocabulary.gz &&
        gunzip -f vocabulary.gz
 
index 706f017f20c185f25beab1cb6cae6b1d7864622f..86af34b73e5bf28f73a540d38bca0cd27a1fdf1a 100644 (file)
@@ -180,7 +180,7 @@ our @SUITES_SORT = qw(
                        squeeze
                        sid unstable experimental
                        warty hoary breezy dapper edgy feisty gutsy hardy
-                       intrepid jaunty karmic lucid maverick);
+                       intrepid jaunty karmic lucid maverick natty oneiric);
 our @ARCHIVE_SORT = qw( non-US security updates volatile backports );
 our @PRIORITY_SORT = qw( required important standard optional extra );
 my $i = 1000;
index a51ee8e01330dc223a9cb0e38edefb4f475e863b..96e1836ce1a7fa2263188ddca341ab3801a795e3 100644 (file)
@@ -33,7 +33,7 @@ sub do_search_contents {
     #FIXME: that's extremely hacky atm
     if ($params->{values}{suite}{no_replace}[0] eq 'default') {
        $params->{values}{suite}{no_replace} =
-           $params->{values}{suite}{final} = $opts->{suite} = [ 'lenny' ];
+           $params->{values}{suite}{final} = $opts->{suite} = [ 'karmic' ];
     }
 
     if (@{$opts->{suite}} > 1) {
@@ -121,7 +121,7 @@ sub do_search_contents {
     $page_content->{suite} = $suite;
     $page_content->{archive} = $archive;
     $page_content->{all_architectures} = \@all_archs;
-    $page_content->{all_suites} = \@SUITES;
+    $page_content->{all_suites} = [ grep { $_ !~ /-(updates|backports)$/ } @SUITES ];
     $page_content->{mode} = $mode;
     $page_content->{search_architectures} = $opts->{arch};
     $page_content->{search_keywords} = $opts->{keywords};
index 422ca7aada6071c445cc31f147bb4e9670f32686..11c8db793f59da1018a13bac5cd58d194c6fc31b 100644 (file)
@@ -384,12 +384,16 @@ sub moreinfo {
 
     if ($info{maintainers}) {
        my $uploaders = $page->get_src( 'uploaders' );
+       my $orig_uploaders = $page->get_src( 'orig_uploaders' );
        if ($uploaders && @$uploaders) {
            my @maintainers = map { { name => $_->[0], mail => $_->[1] } } @$uploaders;
            $contents->{maintainers} = \@maintainers;
        }
+       if ($orig_uploaders && @$orig_uploaders) {
+           my @orig_maintainers = map { { name => $_->[0], mail => $_->[1] } } @$orig_uploaders;
+           $contents->{original_maintainers} = \@orig_maintainers;
+       }
     }
-
 }
 
 sub providers {
index b9c41ee35dde6fb90f6b398a92004474e2fedcc7..4772f8355e6074ba08288e76d9773e31bbc36c20 100644 (file)
@@ -51,6 +51,82 @@ sub split_name_mail {
     return ($name, $email);
 }
 
+sub override_maint {
+    my ($self, $data) = @_;
+
+    return if $data->{'original-maintainer'};
+    return unless $data->{maintainer};
+
+    my ($name, $mail) = split_name_mail( $data->{maintainer} );
+
+    # taken from etc/pkgbinarymangler/maintainermangler.overrides
+    return if $mail =~ /\@(ubuntu\.com|canonical\.com|lists\.ubuntu\.com|lists\.canonical\.com|ubuntu\.com\.au|kubuntu\.org)^/o;
+    return if $mail =~ /^(lamont\@debian\.org|q-funk\@iki\.fi|cjwatson\@debian\.org|patrick\.matthaei\@web\.de)^/o;
+
+    if ($mail eq 'adconrad@0c3.net') {
+       $data->{maintainer} = 'Adam Conrad <adconrad@ubuntu.com>';
+       return 1;
+    }
+    if ($mail eq 'mpitt@debian.org') {
+       $data->{maintainer} = 'Martin Pitt <martin.pitt@ubuntu.com>';
+       return 1;
+    }
+
+    $data->{'original-maintainer'} = $data->{maintainer};
+    foreach ($data->{section}) {
+       /^(main|restricted)$/ && do {
+           $data->{maintainer} = 'Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>';
+           last;
+       };
+       /^(uni|multi)verse$/ && do {
+           $data->{maintainer} = 'Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>';
+           last;
+       };
+
+       die 'Huh?';
+    }
+
+    return 1;
+}
+
+sub handle_maintainer_fields {
+    my ($self, $data) = @_;
+    my (@uploaders, @orig_uploaders);
+
+    if ($data->{'original-maintainer'}) {
+       push @orig_uploaders, [ split_name_mail( $data->{'original-maintainer'} ) ];
+
+       $data->{uploaders} ||= '';
+       my @up_tmp = split( /\s*,\s*/,
+                           $data->{uploaders} );
+       foreach my $up (@up_tmp) {
+               push @orig_uploaders, [ split_name_mail( $up ) ];
+       }
+       if ($data->{maintainer} ||= '') {
+           push @uploaders, [ split_name_mail( $data->{maintainer} ) ];
+       }
+    } else {
+       if ($data->{maintainer} ||= '') {
+           if ($self->override_maint($data)) {
+               return $self->handle_maintainer_fields($data);
+           }
+
+           push @uploaders, [ split_name_mail( $data->{maintainer} ) ];
+       }
+       if ($data->{uploaders}) {
+           my @up_tmp = split( /\s*,\s*/,
+                               $data->{uploaders} );
+           foreach my $up (@up_tmp) {
+               if ($up ne $data->{maintainer}) { # weed out duplicates
+                   push @uploaders, [ split_name_mail( $up ) ];
+               }
+           }
+       }
+    }
+
+    return (\@uploaders, \@orig_uploaders);
+}
+
 sub add_src_data {
     my ($self, $src, $data) = @_;
 
@@ -63,20 +139,9 @@ sub add_src_data {
        $self->{src}{files} = \@files;
     }
     $self->{src}{directory} = $data{directory};
-    my @uploaders;
-    if ($data{maintainer} ||= '') {
-       push @uploaders, [ split_name_mail( $data{maintainer} ) ];
-    }
-    if ($data{uploaders}) {
-        my @up_tmp = split( /\s*,\s*/,
-                            $data{uploaders} );
-        foreach my $up (@up_tmp) {
-            if ($up ne $data{maintainer}) { # weed out duplicates
-                push @uploaders, [ split_name_mail( $up ) ];
-            }
-        }
-    }
-    $self->{src}{uploaders} = \@uploaders;
+    my ($uploaders, $orig_uploaders) = $self->handle_maintainer_fields(\%data);
+    $self->{src}{uploaders} = $uploaders;
+    $self->{src}{orig_uploaders} = $orig_uploaders if @$orig_uploaders;
 
     return 1;
 }
@@ -95,7 +160,7 @@ sub is_virtual {
 }
 
 our @TAKE_NEWEST = qw( description description-md5 essential priority section subsection tag
-                      archive source source-version homepage );
+                      archive source source-version homepage maintainer original-maintainer uploaders);
 our @STORE_ALL = qw( version source source-version installed-size size
                     filename md5sum sha1 sha256 task
                     origin bugs suite archive section );
@@ -133,7 +198,7 @@ sub merge_package {
     # packages from the central archive are preferred over all
     # others with the same version number but from other archives
     if ($is_newest = ($cmp > 0)
-               || (!$cmp && ($data->{archive} eq 'us') && ($self->{data}{archive} ne 'us'))) {
+       || (!$cmp && ($data->{archive} eq 'us') && ($self->{data}{archive} ne 'us'))) {
        $self->{newest} = $version;
        foreach my $key (@TAKE_NEWEST) {
            $self->{data}{$key} = $data->{$key};
index 62e8f7f62d289fd4c9f34c2f92c302d53bc8a549..101d6f2635523e8bb85f29a486c6b4d2b80273d7 100644 (file)
@@ -38,20 +38,9 @@ sub merge_package {
 
        $self->{data} = $data;
 
-       my @uploaders;
-       if ($data->{maintainer} ||= '') {
-           push @uploaders, [ split_name_mail( $data->{maintainer} ) ];
-       }
-       if ($data->{uploaders}) {
-           my @up_tmp = split( /\s*,\s*/,
-                               $data->{uploaders} );
-           foreach my $up (@up_tmp) {
-               if ($up ne $data->{maintainer}) { # weed out duplicates
-                   push @uploaders, [ split_name_mail( $up ) ];
-               }
-           }
-       }
-       $self->{uploaders} = \@uploaders;
+       my ($uploaders, $orig_uploaders) = $self->handle_maintainer_fields($data);
+       $self->{uploaders} = $uploaders;
+       $self->{orig_uploaders} = $orig_uploaders if @$orig_uploaders;
 
        if ($data->{files}) {
            my @files = split /\01/so, $data->{files};
index edaf9b67f8eabc3aa37f68f685f4cc8ef4420501..3537636dc92c5970ab75133e0ad78d5ba351f043 100644 (file)
@@ -1,2 +1,2 @@
-topdir=/srv/packages.debian.org
-site=packages.debian.net
+topdir=/srv/packages.ubuntu.com
+site=packages.ubuntu.com
index f3e4ec09b6a5f1c1c717014fc9b9ad3b338fa3a5..06fac169835461af6ba35adcaa86e8edc3c2061c 100644 (file)
@@ -23,6 +23,9 @@ both over <tt>HTTP</tt> and the native git protocol.
        git clone git://anonscm.debian.org/webwml/packages.git
 </blockquote>
 
+<p>The modifications specific to Ubuntu can be found in the <tt>ubuntu-master</tt>
+branch.</p>
+
 <p>The older second generation code can be found in the Debian CVS
 at <a href="http://cvs.debian.org/packages/?cvsroot=webwml">cvs.debian.org</a>.
 
index fce9493b3312b7867ae98ff9905d14daba9eb389..d18bc878726edc11de40df2b7498f4faa05e748a 100644 (file)
@@ -1,38 +1,3 @@
-/* css file for debian web site - Jutta Wrage 2004 */
-
-/* all pages have a header, outer inner and footer
-leftcol and maincol can be omitted, there will be other boxes
-to replace later (eg. two content columns)
-normal page:
-<div id="header">
-  <div id="upperheader">
-     <div id="logo">
-     </div> <!-- end logo -->
-     <div id="serverselect">
-     </div> <!-- end serverselect -->
-  </div> <!-- end upperheader -->
-  <div id="navbar">
-  </div> <!-- end navbar -->
-</div> <!-- end header -->
-<div id="outer">
-  <div id="inner">
-    <div id="leftcol">
-      Leftcol is for menus - if omitted, maincol can be omitted, too
-    </div> <!-- end leftcol -->
-    <div id="maincol">
-      Maincol with margin left is for the content
-      But content may go directly to inner
-    </div> <!-- end maincol -->
-  </div> <!-- end inner -->
-  <div id="footer">
-    <hr class="hidecss"> This line is a divider for lynx
-  </div> <!-- end footer -->
-</div> <!-- end outer -->
-color logo #C60036
-cd-pages: bgcolor="#e09e86" - navbar
-*/
-
-/* { border: 1px solid yellow; } */
 html, body {
        color: #000000;
        background-color: #FFFFFF;
@@ -59,152 +24,15 @@ acronym {
 hr.hidecss {
        border: 0;
 }
+.hidecss {
+        display: none;
+}
 
 hr {
        border-bottom: 0;
        border-top: 1px solid #BFC3DC;
 }
 
-samp {
-       display: block;
-       margin-left: 2em;
-}
-div.sampleblock {
-       width: 80%;
-       margin: auto;
-       font-family:courier, serif;
-       font-size: 90%;
-}
-div.quoteblock {
-       width: 75%;
-       margin: auto;
-       font-size: 90%;
-       text-align: justify;
-}
-
-.quoteblock div.preimg {
-       float: left;
-       margin-top: 0.2em;
-}
-.quoteblock cite {
-       display: block;
-       text-align: right;
-}
-blockquote.question {
-       font-style: italic;
-}
-blockquote.question p span {
-       font-style: normal;
-       width: 10%;
-}
-#pagewidth {
-       width: 100%;
-       text-align: left;
-}
-
-/* now the header*/
-#header {
-       margin-left: -3px;
-       width: 100%;
-       height: auto;
-}
-
-/* upper nested header box*/
-#upperheader {
-       width: 100%;
-       margin-top: 11px;
-       height: auto;
-       /* height: 4.8em; */
-       background: #FFFFFF;
-}
-
-#logo {
-       float: left;
-       margin-left: 6px;
-       background: #FFFFFF;
-}
-
-#serverselect {
-       float: right;
-       display: block;
-       padding-top: 1px;
-       margin-right: 6px;
-       margin-left: auto;
-       text-align: right;
-       top: 0;
-       right: 0;
-}
-
-#serverselect:lang(de) {
-       width: 15em;
-}
-#serverselect:lang(en) {
-       width: 13em;
-}
-
-#serverselect p {
-       color: #990000;
-       font-size: 0.8em;
-       font-weight: normal;
-}
-
-#serverselect p select {
-       font-size: 88%;
-}
-
-#serverselect p input {
-       font-size: 88%;
-}
-.centerlogo {
-       margin-left: 260px;
-       margin-right: auto;
-       width: 125px;
-       text-align: center;
-       vertical-align: bottom;
-}
-#cdlogo {
-}
-
-#navbar {
-       /* margin-top: 1em; */
-       clear: both;
-       padding-left: 0px;
-       /* margin-top: 5px; */
-       padding-top: 6px;
-       padding-bottom: 4px;
-       width: 100%;
-       height: auto;
-       text-align: center;
-       background: #DF0451;
-}
-#navbar ul {
-       display: inline;
-       list-style-type: none; 
-       padding-left:  0px;
-       line-height: 1.5em;
-}
-#navbar ul li {
-       display: inline;
-       margin: 0;
-       white-space: nowrap;
-}
-#navbar a {
-       color: #FFFFFF;
-       text-decoration: none;
-       padding: 0.2em 0.4em 0.2em 0.4em;
-       background-color: #000084;
-       border: 1px solid #000084;
-       font-family: Arial, Helvetica, sans-serif;
-       font-weight: bold;
-       font-size: 0.9em;
-}
-#navbar a:hover {
-       background: #0000CC;
-}
-#navbar .hidecss, .hidecss {
-       display: none;
-}
-
 /* the rest of page out of two nested boxes around */
 
 #outer {
@@ -221,88 +49,6 @@ blockquote.question p span {
        /* overflow: auto; */
 }
 
-#leftcol {
-       float: left;
-       margin: 0em 0.4em 0 0;
-       padding-left: 0;
-       padding-bottom: 1em;
-       width: auto;
-       background: #BBDDFF;
-       font-size: 0.9em;
-       font-family: Arial, Helvetica, sans-serif;
-       border: 1px solid #BBDDFF;
-       /* overflow: auto; */
-}
-#leftcol a:link, #leftcol a:visited {
-       display: block;
-}
-#leftcol a:hover {
-       background-color: #DDEEFF;
-       /* background-color: #FFFFFF; */
-}
-#leftcol ul {
-       margin: 2px;
-       padding: 0;
-       list-style-type: none;
-       font-weight: bold;
-}
-#leftcol ul.votemenu {
-       width: 11em;
-}
-#leftcol ul.cdmenu {
-       width: 12em;
-}
-#leftcol ul.votemenu ul li, #leftcol ul.cdmenu ul li {
-       padding-bottom: 0.4em;
-}
-#leftcol li ul {
-       display: inline;
-}
-#leftcol ul li {
-       padding: 0.2em 0;
-}
-#leftcol ul ul {
-       font-size: 0.9em;
-       margin: 0;
-}
-#leftcol ul li a {
-       line-height: 1.2em;
-       padding-right: 0.5em;
-       /* padding: 0.2em 0 0.3em 0em; */
-}
-#leftcol ul ul li a {
-       font-weight: normal;
-       padding: 0.1em 0.5em;
-       line-height: 1.1em;
-}
-#leftcol ul ul li {
-       padding-top: 0;
-}
-#leftcol p {
-       margin-left: 2px;
-       margin-right: 2px;
-}
-#leftcol p a {
-       display: block;
-       margin: 0;
-}
-#leftcol p img {
-       margin-left: 1em;
-}
-
-#maincol {
-       background: #FFFFFF;
-       margin-left: 12em;
-       margin-right: 0.5em;
-       margin-bottom: 1em;
-}
-
-#maincol:lang(en), #maincol:lang(cz), #maincol:lang(ko),
-       #maincol:lang(no), #maincol:lang(sk), #maincol:lang(tr),
-       #maincol:lang(zh-CN), #maincol:lang(zh-HK), #maincol:lang(zh-TW) {
-       margin-left: 10em;
-}
-
 #lefthalfcol {
        float: left;
        margin-left: 0em;
@@ -322,6 +68,7 @@ blockquote.question p span {
        margin-right: 0.2em;
 }
 
+
 #footer {
        clear: both;
        width: 100%;
@@ -329,7 +76,7 @@ blockquote.question p span {
        bottom: 0;
        text-align: center;
        margin: 1em 0 0 0;
-       border-top: 1px solid #BFC3DC;
+       border-top: 1px solid #000;
 }
 
 #fineprint {
@@ -339,7 +86,7 @@ blockquote.question p span {
        font-size: 0.85em;
 }
 
-.bordertop { border-top: 1px solid #BFC3DC; }
+.bordertop { border-top: 1px solid #000; }
 
 dl.gloss dt {
        font-weight: bold;
@@ -362,13 +109,7 @@ dl.gloss dt {
        margin: 0px;
 }
 
-#main {
-       background: #bbddff;
-       padding: 1em 0; /* have some padding to get rid of collapsed margins */
-}
-
 /* classes for cards */
-
 .cardleft {
        margin: 0 0 1em;
        float: left;
@@ -406,20 +147,6 @@ dl.gloss dt {
        /* the next two lines xpand the div to heigth of left inner div */
        overflow: auto;
 }
-
-div.lefthalf {
-       float: left;
-       width: 49%;
-       border: 0;
-       margin: 0; 
-       padding: 0;
-}
-
-div.righthalf {
-       border: 0;
-       margin: 0;
-       padding: 0;
-}
 /* colors for packages, warnings and news in ports */
 .warning, dt.new, .no {
        color: red; /* FF0000 */
@@ -441,13 +168,6 @@ table.ridgetable, table.reltable {
        border-style: ridge;
        border-collapse: collapse;
 }
-table.vote {
-       margin: 0 auto;
-       border-width: 3px;
-       border-color: gray;
-       border-style: ridge;
-       border-collapse: collapse;
-}
 #pcontentsres col, #pcontentsres th, #pdownload th, #pdownload td, table.ridgetable th, table.ridgetable td,
        table.reltable td, table.reltable th {
        border: 2px #BFC3DC;
@@ -457,137 +177,12 @@ table.vote {
 table.reltable th {
        background-color: #44CCCC;
 }
-table.vote th {
-       border: 1px solid gray;
-       background-color: #DDDDDD;
-}
-table.vote td {
-       border: 1px solid gray;
-       padding: 4px;
-}
 table.reltable tr.odd {
        background-color: #FFFFFF;
 }
 table.reltable tr.even {
        background-color: #DDDDDD;
 }
-table.stattrans {
-       margin: 0 auto;
-       width: 95%;
-       border: 1px solid black;
-       background-color: #cdc9c9;
-}
-table.stattrans th {
-       text-align: center;
-       padding: 2px;
-}
-table.stattrans td {
-       text-align: right;
-       padding: 2px;
-}
-table.stattrans tbody th {
-       text-align: left;
-       font-weight: normal;
-}
-
-/* partners */
-.partnertype {
-       background-color: #DD0000;
-       padding: 0.2em 0 0.2em 1em;
-       color: #FFFFFF;
-
-}
-div.partnerlogo {
-       display: table-cell;
-       vertical-align: middle;
-       text-align: center;
-       width: 30%;
-}
-div.partnerdesc {
-       display: table-cell;
-       font-size: 85%;
-}
-div.cdflash {
-       background-color: #E09E86;
-       width: 80%;
-       margin: auto;
-       text-align: center;
-}
-.cdrsync {
-       color: #6B1300;
-}
-/* debian installer */
-
-.dierror {
-       background-color: #FF6060;
-}
-.dibad {
-       background-color: #F7FF60;
-}
-.digood {
-       background-color: #7AFF71;
-}
-
-/* useful classes */
-
-th.eventheader {
-       background-color: #BBDDFF;
-}
-.center {
-       text-align: center;
-}
-.right {
-       text-align: right;
-}
-ul.circlelist {
-       list-style-type: circle;
-}
-.centerdiv table {
-       margin-left: auto;
-       margin-right: auto;
-}
-ul.discless {
-       list-style-type: none;
-}
-.top, img.ico {
-       vertical-align: top;
-}
-img.ico {
-       float: left;
-       margin: 0 0.2em 0 0;
-}
-img.rightico {
-       float: right;
-       vertical-align: top;
-       margin: 0 0 0 0.2em;
-}
-img.cve {
-       vertical-align: -25px;
-}
-.y2kok, .yes {
-       color: #00BB00;
-}
-.y2kok2 {
-       color: #00BBBB;
-}
-.bluehead {
-       color: #0000FF !important;
-}
-span.halfsize {
-       font-size: 80%;
-}
-span.ddpbooktitle, span.merchtitle {
-       font-size: larger;
-}
-a:link { color: #0000FF; }
-a:visited { color: #800080; }
-a:hover { color: #F000FF; }
-a:active { color: #FF0000; }
-
-.navpara a, col.y2k {
-       white-space: nowrap;
-       /* this is to keep from breaking at whitespace in anchors */
-}
 
 /* language dependent stuff */
 /* quotes */
@@ -630,9 +225,3 @@ html[lang|="zh"] strong {
        direction: rtl;
        text-align: right;
 }
-
-#leftcol, #navbar, #navbar a {
-       -moz-border-radius: 15px;
-       /* this goes to the end as the css validator does not like it
-       will be replaced by border-radius with css3 */
-}
index 18a8b3ba87d101b8582086692738dc4676673766..b9af1f41fd05890e4d1b61a65f4a621571276888 100644 (file)
@@ -48,13 +48,21 @@ h1 {
              font-size: smaller;
              margin-left: 1em;
              float: right;
-             background-color: #BBDDFF;
-             border: thin solid #BFC3DC;
+             background-color: white;
+            color: #5B4832;
+             border: thin solid #5B4832;
              padding: 1em .5em;
              width: auto;
+             max-width: 20%;
+}
+#pmoreinfo h2 {
+             border-bottom: none;
+            color: #5B4832;
 }
 #pmoreinfo h3 {
              border-top: thin solid black;
+            border-bottom: none;
+            color: #5B4832;
 }
 
 #impressum {
@@ -263,7 +271,8 @@ table#pdeplegend, #pdownload table {
        padding: .3em;
        border-top: solid gray thin;
        border-bottom: solid gray thin;
-       background-color: #bdf;
+        background-color: #dbba75;
+       color: #5B4832;
 }
 #psearchres li {
        margin-top: 1em;
@@ -316,8 +325,9 @@ table#pdeplegend, #pdownload table {
        padding-bottom: 4px;
        height: auto;
        text-align: left;
-       background: #DF0451;
-       color: yellow;
+        background-color: white;
+       color: #5B4832;
+        border-bottom: thin solid #5B4832;
        font-size: smaller;
        font-weight: bold;
 }
@@ -332,9 +342,8 @@ table#pdeplegend, #pdownload table {
        margin: 0;
        white-space: nowrap;
 }
-#pnavbar a {
-       color: yellow;
-       text-decoration: none;
+#pnavbar a, #pmoreinfo a {
+       color: #5B4832;
 }
 #pnavbar a:hover {
 }
@@ -377,7 +386,7 @@ table#pdeplegend, #pdownload table {
 .pvcslink { 
 }
 
-#pnavbar, .pconstantnag, #psitewidemsg {
+.pconstantnag, #psitewidemsg {
        -moz-border-radius: 15px;
        /* this goes to the end as the css validator does not like it
        will be replaced by border-radius with css3 */
diff --git a/static/ubuntu/footer-bg.jpg b/static/ubuntu/footer-bg.jpg
new file mode 100644 (file)
index 0000000..2126160
Binary files /dev/null and b/static/ubuntu/footer-bg.jpg differ
diff --git a/static/ubuntu/footer-bg.png b/static/ubuntu/footer-bg.png
new file mode 100644 (file)
index 0000000..f314901
Binary files /dev/null and b/static/ubuntu/footer-bg.png differ
diff --git a/static/ubuntu/footer-image.png b/static/ubuntu/footer-image.png
new file mode 100644 (file)
index 0000000..81b170e
Binary files /dev/null and b/static/ubuntu/footer-image.png differ
diff --git a/static/ubuntu/footer-image2.png b/static/ubuntu/footer-image2.png
new file mode 100644 (file)
index 0000000..f045980
Binary files /dev/null and b/static/ubuntu/footer-image2.png differ
diff --git a/static/ubuntu/header-bg4.png b/static/ubuntu/header-bg4.png
new file mode 100644 (file)
index 0000000..4344bdb
Binary files /dev/null and b/static/ubuntu/header-bg4.png differ
diff --git a/static/ubuntu/header-image4.png b/static/ubuntu/header-image4.png
new file mode 100644 (file)
index 0000000..1c577fe
Binary files /dev/null and b/static/ubuntu/header-image4.png differ
diff --git a/static/ubuntu/little-u.gif b/static/ubuntu/little-u.gif
new file mode 100644 (file)
index 0000000..ef56baf
Binary files /dev/null and b/static/ubuntu/little-u.gif differ
diff --git a/static/ubuntu/masthead.css b/static/ubuntu/masthead.css
new file mode 100644 (file)
index 0000000..b574af2
--- /dev/null
@@ -0,0 +1,115 @@
+#mastWrapper {
+background: url(header-bg4.png) bottom left repeat-x #fff;
+}
+
+#masthead
+{
+position:relative;
+background: url(header-image4.png) no-repeat transparent;
+border-style: solid;
+border-width: 0;
+color: #000;
+height: 90px;
+}
+
+#masthead h1
+{
+       text-indent: -10000px;
+       margin:0;
+}
+
+#search 
+{
+position:absolute;
+top:10px;
+right:20px;              
+}
+#masthead #search a {
+       color: #5B4832;
+       text-decoration: underline;
+}
+#nav 
+{
+position:absolute;
+bottom:0px;
+right:10px;
+}
+                 
+#nav ul 
+{
+margin:0;
+padding:10px 10px 0 20px;
+list-style:none;
+}
+                 
+#nav li 
+{
+float:left;
+background:url("tab_off_ns1.gif") no-repeat left top;
+margin:0;
+padding:0 0 0 5px;
+}
+
+#nav a 
+{
+float:left;
+font-size:105%;
+display:block;
+background:url("tab_off_ns2.gif") no-repeat right top;
+padding:10px 15px 3px 8px;
+text-decoration:none;
+font-weight:bold;
+color:#444;
+}
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+#nav a {float:none;}
+/* End IE5-Mac hack */
+#nav a:hover {
+color:#333;
+}
+
+#nav li:hover, #nav li:hover a 
+{
+background-position:0% -163px;
+color:#000;
+}
+
+#nav li:hover a 
+{
+background-position:100% -163px;
+color:#000;
+}
+
+#nav #current 
+{
+background:url("tab_on_ns1.gif") no-repeat left top;             
+}
+
+#nav #current a 
+{
+background:url("tab_on_ns2.gif") no-repeat right top;            
+padding-bottom:4px;
+color:#000;
+}
+
+.portalMessagehead,
+.system-messagehead,  /* These two last ones are reST error indicators */
+#error-handling {
+    background-color: #ffce7b;
+    border: 1px solid #ffa500;
+    color: #6d4c07;
+    font-size: 10px;
+    font-weight: bold;
+    margin: 1em 0em 0em 0em;
+    padding: 0.5em 1em 0.5em 3em;
+    vertical-align: middle;
+    background-image: url(http://www.ubuntulinux.org/testing_area/info_icon.gif);
+    background-repeat: no-repeat;
+    background-position: 5px center ;
+
+}
+.portalMessagehead a {
+    color: #6d4c07;
+    text-decoration: underline;
+}
diff --git a/static/ubuntu/no-bullet.gif b/static/ubuntu/no-bullet.gif
new file mode 100644 (file)
index 0000000..1ea396b
Binary files /dev/null and b/static/ubuntu/no-bullet.gif differ
diff --git a/static/ubuntu/splash.jpg b/static/ubuntu/splash.jpg
new file mode 100644 (file)
index 0000000..0a3df97
Binary files /dev/null and b/static/ubuntu/splash.jpg differ
diff --git a/static/ubuntu/tab_off_ns1.gif b/static/ubuntu/tab_off_ns1.gif
new file mode 100644 (file)
index 0000000..9510406
Binary files /dev/null and b/static/ubuntu/tab_off_ns1.gif differ
diff --git a/static/ubuntu/tab_off_ns2.gif b/static/ubuntu/tab_off_ns2.gif
new file mode 100644 (file)
index 0000000..14135c9
Binary files /dev/null and b/static/ubuntu/tab_off_ns2.gif differ
diff --git a/static/ubuntu/tab_on_ns1.gif b/static/ubuntu/tab_on_ns1.gif
new file mode 100644 (file)
index 0000000..fce415a
Binary files /dev/null and b/static/ubuntu/tab_on_ns1.gif differ
diff --git a/static/ubuntu/tab_on_ns2.gif b/static/ubuntu/tab_on_ns2.gif
new file mode 100644 (file)
index 0000000..28bf458
Binary files /dev/null and b/static/ubuntu/tab_on_ns2.gif differ
diff --git a/static/ubuntu/trans.gif b/static/ubuntu/trans.gif
new file mode 100644 (file)
index 0000000..2799b45
Binary files /dev/null and b/static/ubuntu/trans.gif differ
diff --git a/static/ubuntu/ubuntu.css b/static/ubuntu/ubuntu.css
new file mode 100644 (file)
index 0000000..c8e9fd9
--- /dev/null
@@ -0,0 +1,195 @@
+
+.hiddenStructure {
+       display: none;
+}
+
+.imageLink {
+       text-decoration: none;
+}
+
+hr {
+    height: 1px;
+    color: #6d4c07;
+    background-color: transparent;
+}
+
+body
+{
+       background-color: #fff;
+       color: #000;
+       font-size: 100.1%;
+       margin: 0;
+       padding: 0;
+}
+#pageWrapper
+{
+       border-style: solid;
+       border-width: 0;                /* layout's side borders */
+       font-family: arial, helvetica, sans-serif;
+       font-size: 80%;                 /* arial looks better with a smaller size */
+       margin: 0;
+       min-width: 500px;               /* IE doens't understand this property */
+       width: auto;
+}
+* html #pageWrapper
+{
+       word-wrap: break-word;          /* invalid CSS but keeps IE from breaking 
+                                       horribly under narrow viewports */
+}
+
+html[xmlns] .mozclear
+{
+       /* this selector should be valid CSS, but Opera 7.5 (and above) will pick
+        * this up as well. Shouldn't be a problem, Opera should handle this fine,
+        * but it's a Mozilla-targeted hack, and it should probably only affect
+        * mozilla. You can do that by replacing the INVALID CSS selector
+        * :root .mozclear for what's give here.
+        */
+       border-bottom: 1px solid;
+       border-color: transparent;
+       margin-bottom: -1px;
+}
+#content
+{
+       margin: 0 -1px 0 0;             /* required to get the negative margin-based
+                                       layout to work. if #contentColumn does not
+                                       overlap the left and right columns, then
+                                       the whole layout will break */
+       width: 100%;
+       font-family: Verdana, arial, helvetica, sans-serif; 
+}
+
+#footWrapper {
+       background-color: #dbba75;
+       border-bottom: 2px solid #000;
+}
+
+#footer
+{
+       position: relative;
+       text-align: center;
+       padding: 10px;
+}
+
+#fineprint
+{
+       color: #5B4832;
+       background-color: #dbba75; 
+}
+
+html>body #footer
+{
+       padding-bottom: 1.01em;         /* attempt to fix Gecko engine's rounding errors
+                                       which can disrupt the layout. */
+}
+#footer a
+{
+       color: #5B4832;
+}
+
+p, h1, h2, h3, h4, h5, h6
+{
+       margin: .6em 0 .4em 0;                  /* for better consistency across platforms */
+}
+
+.clear
+{
+       clear: both;
+}
+.inside
+{
+       padding: 0 1.5em;               /* glitch in IE caused by vertical padding in
+                                       this class, so 0 padding is set here and
+                                       those blocks that need the vertical padding
+                                       must be applied to the parent element.
+                                       the purpose of this class is to provide 
+                                       horizontal padding without using hacks to
+                                       get around IE's broken box model. so it's
+                                       okay to apply vertical padding to the parent
+                                       element, just not horizontal padding. */
+}
+#contentColumn, #rightColumn
+{
+       padding-top: 3.0em;
+       padding-bottom: 1.0em;          /* this is the vert padding talked about in the
+                                       .inside selector comment. */
+}
+#footer
+{
+        margin-top: 1em;
+       padding: .3em;                  /* ditto from above */
+}
+#pageWrapper, #masthead, #footer
+{
+       border-color: #000;             /* one-stop control of border color used within
+                                       the layout */
+}
+
+/* body styles */
+#content a
+{
+       color: black;
+}
+
+#content p
+{
+       font-size: 100%;
+       font-family: Verdana, arial, helvetica, sans-serif;
+}
+
+
+/* header styles */
+h1, h2, h3, h4, h5, h6
+{
+       width: 100%;
+       color: #6D4C07;
+       padding-bottom: .0em;
+       padding-top: 0.4em;
+       font-family: Verdana, arial, helvetica, sans-serif; 
+}
+
+h1
+{
+       font-size: 170%;
+/*     border-bottom: 2px solid #6D4C07; */
+}
+
+h2
+{
+       font-size: 160%;
+       border-bottom: 2px solid #6D4C07;
+}
+h3
+{
+       margin-top: 20px;
+       font-size: 130%;
+       border-bottom: 2px solid #6D4C07;
+        
+}
+h4
+{
+       font-size: 120%;
+       border-bottom: 1px solid #6D4C07;
+}
+h5
+{
+       font-size: 110%;
+}
+h6 {
+       font-size: 100%;
+}
+
+.featured {
+       font-size: 125%;
+       font-style: italic;
+}
+       
+dt
+{
+/*     margin-top: 20px; */
+/*     margin-bottom: 8px; */
+       font-size: 120%;
+/*     border-bottom: 1px solid #6D4C07; */
+}
+
+img { border: 0; }
index 4d24e05b74a8bd566bdc84ca3aadbd15e18c3aa1..8b20d1407003818b2db9594faa3b01b15b7ff94d 100644 (file)
@@ -3,26 +3,28 @@
    po_lang = 'en'
    ddtp_lang = 'en'
 
-   organisation = 'Debian'
-   project_homepage = 'http://www.debian.org/'
+   organisation = 'Ubuntu'
+   project_homepage = 'http://www.ubuntu.com/'
    packages_homepage = '/'
+   packages_homepage_abs = 'http://packages.ubuntu.com/'
    packages_homepage_abs = 'http://packages.debian.net/'
-   old_releases = 'http://archive.debian.net/'
+   old_releases = 'http://old-releases.ubuntu.com/'
    searchformurl = packages_homepage
    search_url = '/search'
    tags_url = 'http://debtags.alioth.debian.org/'
    bugs_url = 'http://bugs.debian.org/'
+   launchpad_url = 'https://launchpad.net/distros/ubuntu/+source/'
    pts_url = 'http://packages.qa.debian.org/'
    ddpo_url = 'http://qa.debian.org/developer.php?login='
    src_bugs_url = bugs_url _ 'src:'
-   mirror_url = 'http://ftp.debian.org/'
-   security_mirror = 'security.debian.org'
-   security_mirror_url = security_mirror _ '/debian-security'
-   security_suite_suffix = '/updates'
-   changelogs_url = 'http://packages.debian.org/changelogs/'
+   mirror_url = 'http://archive.ubuntu.com/'
+   security_mirror = 'security.ubuntu.com'
+   security_mirror_url = security_mirror _ '/ubuntu'
+   security_suite_suffix = '-security'
+   changelogs_url = 'http://changelogs.ubuntu.com/changelogs/'
    policy_url = 'http://www.debian.org/doc/debian-policy/'
-   cn_help_url = project_homepage _ 'intro/cn'
-   patch_tracking_url = 'http://patch-tracker.debian.org/package'
+#   cn_help_url = project_homepage _ 'intro/cn'
+#   patch_tracking_url = 'http://patch-tracker.debian.org/package'
    screenshots_url = 'http://screenshots.debian.net/package/'
    screenshots_thumb_url = 'http://screenshots.debian.net/thumbnail-with-version/'
    logo = {
         alt => organisation,
    }
    copyright = {
-       url => 'http://www.spi-inc.org/',
-        name => 'SPI Inc.',
-        years => '1997 - ' _ timestamp.year,
+       url => 'http://www.canonical.com/',
+        name => 'Canonical Ltd.',
+        years => timestamp.year,
    }
    license = {
-       url => project_homepage _ 'license'
+       url => project_homepage _ 'legal'
    }
    trademark = {
        name => copyright.name,
-       url => project_homepage _ 'trademark'
+       url => project_homepage _ 'aboutus/trademarkpolicy'
    }
    contact = {
-       name => g('Debian Web Mailinglist'),
-       mail => 'debian-www@lists.debian.org',
-        url => project_homepage _ 'contact',
+       name => 'Frank Lichtenheld',
+       mail => 'frank@lichtenheld.de',
+        url => project_homepage _ 'support',
    }
    admin = {
-       name => g('%s Webmaster', organisation),
-       mail => 'webmaster@debian.org',
+       name => 'Frank Lichtenheld',
+       mail => 'frank@lichtenheld.de',
    }
    trademarknotes = g('%s is a <a href="%s">trademark</a> of %s', organisation, trademark.url, trademark.name)
-   sponsors = [
-   {
-       url => 'http://example.invalid/',
-       name => 'Example Sponsor, Inc.',
-   },
-   {
-       url => 'http://example2.invalid/',
-       name => 'Example2 Sponsor, Inc.',
-   },
-   ]
+#   sponsors = [
+#   {
+#      url => 'http://example.invalid/',
+#      name => 'Example Sponsor, Inc.',
+#   },
+#   {
+#      url => 'http://example2.invalid/',
+#      name => 'Example2 Sponsor, Inc.',
+#   },
+#   ]
 -%]
 [%-
    # possible values for importance: high, normal, low
-   sitewidemsg = { importance => "high",
-                  txt => g('Please note that this is an experimental version of <a href="http://%s/">%s</a>. Errors and obsolete information should be expected', 'packages.debian.org', 'packages.debian.org') }
+#   sitewidemsg = { importance => "high",
+#                 txt => g('Please note that this is an experimental version of <a href="http://%s/">%s</a>. Errors and obsolete information should be expected', 'packages.ubuntu.com', 'packages.ubuntu.com') }
 -%]
 [%# @translators: . = decimal_point , = thousands_sep, see Number::Format %]
 [%- USE num = Number.Format( decimal_point => g('.'),
index c563e6e3386ee8971711ce1d5eb98727c7c46327..d4290f2f100caa41ace4a06f336c3f1aa7335fe4 100644 (file)
@@ -3,23 +3,14 @@
    main_archive = 'us'
    standard_priority = 'optional'
 
-   suite_aliases = {
-               etch => 'oldstable', 
-               lenny => 'stable',
-               squeeze => 'testing',
-               sid => 'unstable',
-                  }
-
    section_titles = {
-                main => g('packages that meet the Debian Free Software Guidelines'),
-                contrib => g('packages that meet the Debian Free Software Guidelines but need software not in Debian main'),
-                'non-free' => g('packages that do not meet the Debian Free Software Guidelines'),
+               main => g('Canonical supported Open Source software'),
+               universe => g('Community maintained open source software'),
+               multiverse => g('Software restricted by copyright or legal issues'),
+               restricted => g('Proprietary drivers for devices'),
         }
 
    section_urls = {
-                main => 'http://www.debian.org/doc/debian-policy/ch-archive.html#s-main',
-                contrib => 'http://www.debian.org/doc/debian-policy/ch-archive.html#s-contrib',
-                'non-free' => 'http://www.debian.org/doc/debian-policy/ch-archive.html#s-non-free',
         }
 
 %]
index bb931728d5aa3d45aa7b3ba03d215423708ee8c8..2f750d5c64ad86e7278a41277e0b4e6fbec6df8a 100644 (file)
 [%
 
-# TODO: find a way to get the U.S. mirror list from a more authoritive
-# location automatically. might not be overly smart to automatize it
-# completely, since I hand pick sites that are up-to-date, fast, and
-# have HTTP on a reasonably short URL
-#   -- Joy
-
-# hint:
-# grep-dctrl -F Site,Alias -e '(udel|bigfoot|kernel|crosslink|internap|cerias|lcs.mit|progeny)' Mirrors.masterlist | timestamps/archive_mirror_check.py
 mirrors = {
        us => {
-               url => 'http://www.debian.org/',
-               mirror_list => 'http://www.debian.org/mirror/list',
-               north_america => [
-                       "ftp.us.debian.org/debian",
-                       "http.us.debian.org/debian",
-#only amd64,i386       "ftp.debian.org/debian",
-                       "ftp.ca.debian.org/debian",
-                       "ftp.mx.debian.org/debian",
-                       "ftp.egr.msu.edu/debian",
-                       "mirrors.kernel.org/debian",
-                       "ftp-mirror.internap.com/pub/debian",
-#only some arches      "ftp.cerias.purdue.edu/pub/os/debian",
-                       "debian.lcs.mit.edu/debian",
-                       "debian.oregonstate.edu/debian",
-               ],
-               europa => [
-                       "ftp.de.debian.org/debian",
-                       "ftp.at.debian.org/debian",
-                       "ftp.bg.debian.org/debian",
-                       "ftp.ch.debian.org/debian",
-                       "ftp.cz.debian.org/debian",
-                       "ftp.dk.debian.org/debian",
-                       "ftp.ee.debian.org/debian",
-                       "ftp.es.debian.org/debian",
-                       "ftp.fi.debian.org/debian",
-                       "ftp.fr.debian.org/debian",
-                       "ftp.hr.debian.org/debian",
-                       "ftp.hu.debian.org/debian",
-                       "ftp.ie.debian.org/debian",
-                       "ftp.is.debian.org/debian",
-                       "ftp.it.debian.org/debian",
-                       "ftp.lt.debian.org/debian",
-                       "ftp.nl.debian.org/debian",
-#only some arches      "ftp.no.debian.org/debian",
-                       "ftp.pl.debian.org/debian",
-                       "ftp.ro.debian.org/debian",
-                       "ftp.ru.debian.org/debian",
-                       "ftp.se.debian.org/debian",
-#only some arches      "ftp.si.debian.org/debian",
-                       "ftp.tr.debian.org/debian",
-                       "ftp.uk.debian.org/debian",
-               ],
-               south_america => [
-                       "ftp.br.debian.org/debian",
-                       "ftp.cl.debian.org/debian",
-                       "download.unesp.br/linux/debian",
-                       "sft.if.usp.br/debian",
-#not reachable         "debian.unesr.edu.ve/debian",
-                       "debian.torredehanoi.org/debian",
-               ],
-               oceania => [
-                       "ftp.au.debian.org/debian",
-                       "ftp.wa.au.debian.org/debian",
-                       "ftp.nz.debian.org/debian",
-                       "mirror.pacific.net.au/debian",
-                       "ftp.iinet.net.au/debian/debian",
-                       "mirror.optus.net/debian",
-               ],
-               asia => [
-                       "ftp.jp.debian.org/debian",
-                       "ftp2.jp.debian.org/debian",
-                       "ftp.kr.debian.org/debian",
-#only some arches      "ftp.hk.debian.org/debian",
-                       "ftp.tw.debian.org/debian",
-                       "debian.nctu.edu.tw/debian",
-                       "debian.linux.org.tw/debian",
-                       "linux.cdpa.nsysu.edu.tw/debian",
-                       "ftp.nara.wide.ad.jp/debian",
-                       "mirrors.geekbone.org/debian",
-                       "ftp.yz.yamagata-u.ac.jp/debian",
-                       "debian.thaios.net/debian",
-                       "www.anheng.com.cn/debian",
-                       "ftp.daum.net/debian",
-               ],
-               africa => [
-                       "debian.mirror.ac.za/debian",
-               ],
-       },
-
-       volatile => {
-               url => 'http://www.debian.org/volatile/',
-               title => g('volatile packages that need major changes during the life of a stable release'),
-               mirror_list => 'http://www.debian.org/volatile/volatile-mirrors',
-               europa => [
-                       "volatile.debian.org/debian-volatile",
-                       "ftp.at.debian.org/debian-volatile",
-                       "ftp.be.debian.org/debian-volatile",
-                       "ftp.ch.debian.org/debian-volatile",
-                       "ftp.de.debian.org/debian-volatile",
-                       "ftp2.de.debian.org/debian-volatile",
-                       "ftp.ee.debian.org/debian-volatile",
-                       "ftp.fi.debian.org/debian-volatile",
-                       "ftp.gr.debian.org/debian-volatile",
-                       "ftp.nl.debian.org/debian-volatile",
-                       "ftp.ru.debian.org/debian-volatile",
-                       "ftp.sk.debian.org/debian-volatile",
-                       "ftp.ua.debian.org/debian-volatile",
-                       "ftp.uk.debian.org/debian-volatile",
-               ],
-               north_america => [
-                       "mirror.csclub.uwaterloo.ca/debian-volatile",
-                       "ftp3.nrc.ca/debian-volatile",
-                       "gulus.usherbrooke.ca/debian-volatile",
-               ],
-               south_america => [
-                       "ftp.br.debian.org/debian-volatile",
-                       "ftp.cl.debian.org/debian-volatile",
-                       "sft.if.usp.br/debian-volatile",
-               ],
-               asia => [
-                       "ftp2.jp.debian.org/debian-volatile",
-                       "ftp.tw.debian.org/debian-volatile",
-                       "mirror.unej.ac.id/debian-volatile",
-                       "mirrors.geekbone.org/debian-volatile",
-               ],
-               oceania => [
-                       "ftp.nz.debian.org/debian-volatile",
-               ],
-       },
-
-       backports => {
-               url => 'http://backports.debian.org/',
-               title => g('newer packages that have been adapted to stable releases of Debian'),
-               mirror_list => 'http://www.backports.org/debian/README.mirrors.html',
-               europa => [
-                       "backports.debian.org/debian-backports",
-                       "ftp.at.debian.org/debian-backports/",
-                       "backports.debian.or.at/debian-backports",
-                       "mirror.realroute.net/debian-backports",
-                       "backports.cisbg.com",
-                       "debian.netcologne.de/debian-backports",
-                       "ftp.de.debian.org/debian-backports",
-                       "mirror.buildd.net/debian-backports",
-                       "ftp.estpak.ee/backports.org",
-                       "debian.acantho.net/backports.org",
-                       "backports.essentkabel.com/backports.org",
-                       "backports.sipo.nl",
-               ],
-               asia => [
-                       "backports.mithril-linux.org",
-               ],
-               oceania => [
-                       "mirror.linux.org.au/backports.org",
-                       "mirror.pacific.net.au/linux/debian-backports",
-               ],
-       },
-
-       debports => {
-               url => 'http://www.debian-ports.org/',
-               title => g('ports of packages to architectures not yet or not anymore available in Debian'),
-               mirror_list => 'http://wiki.debian.org/DebianPorts/Mirrors',
-               unofficial_port => {
-                       alpha => {
-                               url_name => 'alpha',
-                               name => 'Alpha',
-                       },
-                       avr32 => {
-                               url => 'http://avr32.debian.net/',
-                               name => 'AVR32',
-                       },
-                       hppa => {
-                               url_name => 'hppa',
-                               name => 'HPPA',
-                       },
-                       m68k => {
-                               url_name => 'm68k',
-                               name => 'M68K',
-                       },
-                       powerpcspe => {
-                               url => 'http://wiki.debian.org/PowerPCSPEPort',
-                               name => 'PowerPCSPE',
-                       },
-                       sh4 => {
-                               url => 'http://wiki.debian.org/SH4',
-                               name => 'SH4',
-                       },
-                       sparc64 => {
-                               url => 'http://wiki.debian.org/Sparc64',
-                               name => 'Sparc64',
-                       },
-               },
-               north_america => [
-                       "www.gtlib.gatech.edu/pub/gnuab/debian",
-               ],
-               europa => [
-                       "ftp.debian-ports.org/debian",
-                       "ftp.de.debian.org/debian-ports",
-                       "ftp.ch.debian.org/debian-ports",
-               ],
-               asia => [
-                       "debian.nctu.edu.tw/debian-ports",
+               url => 'http://www.ubuntu.com/',
+               mirror_list => 'https://launchpad.net/ubuntu/+archivemirrors',
+               north_america = [
+       "mirrors.kernel.org/ubuntu",
+       "ftp.osuosl.org/pub/ubuntu",
+       "lug.mtu.edu/ubuntu",
+       "ubuntu.mirrors.tds.net/ubuntu",
+       "ubuntu.secs.oakland.edu",
+       "mirror.mcs.anl.gov/pub/ubuntu",
+       "mirrors.cat.pdx.edu/ubuntu",
+       "ubuntu.cs.utah.edu/ubuntu",
+       "ftp.ussg.iu.edu/linux/ubuntu",
+       "mirrors.xmission.com/ubuntu",
+       "mirrors.cs.wmich.edu/ubuntu",
+       "gulus.USherbrooke.ca/pub/distro/ubuntu",
+                               ],
+               europa = [
+       "cz.archive.ubuntu.com/ubuntu",
+       "de.archive.ubuntu.com/ubuntu",
+       "dk.archive.ubuntu.com/ubuntu",
+       "es.archive.ubuntu.com/ubuntu",
+       "fr.archive.ubuntu.com/ubuntu",
+       "ge.archive.ubuntu.com/ubuntu",
+       "gr.archive.ubuntu.com/ubuntu",
+       "hr.archive.ubuntu.com/ubuntu",
+       "mt.archive.ubuntu.com/ubuntu",
+       "nl.archive.ubuntu.com/ubuntu",
+       "no.archive.ubuntu.com/ubuntu",
+       "se.archive.ubuntu.com/ubuntu",
+       "yu.archive.ubuntu.com/ubuntu",
+                       ],
+       south_americas = [
+       "br.archive.ubuntu.com/ubuntu",
+       "cl.archive.ubuntu.com/ubuntu",
+       "espelhos.edugraf.ufsc.br/ubuntu",
+       "ubuntu.c3sl.ufpr.br/ubuntu",
+                       ],
+       australia = [
+       "nz.archive.ubuntu.com/ubuntu",
+       "nz2.archive.ubuntu.com/ubuntu",
+       "ftp.iinet.net.au/pub/ubuntu",
+       "mirror.optus.net/ubuntu",
+       "ftp.filearena.net/pub/ubuntu",
+       "mirror.pacific.net.au/linux/ubuntu",
+               ],
+       asia = [
+       "kr.archive.ubuntu.com/ubuntu",
+       "th.archive.ubuntu.com/ubuntu",
+       "mirror.lupaworld.com/ubuntu",
+       "kambing.vlsm.org/ubuntu",
+       "ubuntu.mithril-linux.org/archives",
+       "mirror.in.th/ubuntu",
+       "mirror.rootguide.org/ubuntu",
+               ],
+       africa = [
+       "za.archive.ubuntu.com/ubuntu",
                ],
        },
 }
 
-ports_url = 'http://www.debian.org/ports/'
-
 continents = {
                north_america => g('North America'),
                south_america => g('South America'),
index 9a93047f85167fbaf16a4eaeb16be0739803928a..bfb4a2314a84a819999fc969473a471f01b10a27 100644 (file)
@@ -65,7 +65,7 @@ deb http://<em>[% mirrors.$archive.europa.0 %]</em> [% suite %] main [% section
     [% END %]
   [% END %]
   </div><div class="cardright">
-  [% FOREACH continent IN [ 'europa','oceania' ] %]
+  [% FOREACH continent IN [ 'europa', 'australia' ] %]
     [% IF a.$continent %]
        <p><em>[% continents.$continent %]</em></p>
        <ul>
index 7944c674cfd3dde188e62a65afb3a414580b7b9c..63c871286230be8095f49f436609875a31e634d6 100644 (file)
@@ -1,14 +1,15 @@
 [%- IF benchmark && debug -%]
 Total page evaluation took [% benchmark %]<br>
 [%- END -%]
-</div> <!-- end inner -->
+</div></div></div>
 
+<div class="clear mozclear"></div><div id="prefooter">
 <div id="footer">
 
 [% IF langs && langs.size > 0 %]
 <hr class="hidecss">
 <!--UdmComment-->
-<p>[% g('This page is also available in the following languages (How to set <a href="%s">the default document language</a>):', cn_help_url) %]</p>
+<p>[% g('This page is also available in the following languages:') %]</p>
 <p class="navpara">
 [% FOREACH l IN langs %]
 <a href="[% IF keyword_esc;
@@ -43,6 +44,6 @@ Total page evaluation took [% benchmark %]<br>
 [% END %]
 </div> <!-- end fineprint -->
 </div> <!-- end footer -->
-</div> <!-- end outer -->
+</div> <!-- end pageWrapper -->
 </body>
 </html>
index f8d520bedd8bf74f95ff953283b9c30cb8f0d276..1a4b8d907242692c2a32833667b4b2ea460f56a6 100644 (file)
@@ -12,6 +12,8 @@
 <link href="/debian.css" rel="stylesheet" type="text/css" media="all">
 <link href="/packages.css" rel="stylesheet" type="text/css" media="all">
 <link href="/packages-site.css" rel="stylesheet" type="text/css" media="all">
+<link href="/ubuntu/ubuntu.css" rel="stylesheet" type="text/css" media="all">
+<link href="/ubuntu/masthead.css" rel="stylesheet" type="text/css" media="all">
 [% IF rss_alternate %]
 <link rel="alternate" type="application/rss+xml" title="RSS" href="[% rss_alternate %]">
 [% END %]
 [% sitewidemsg.txt %]
 </div>
 [%- END -%]
-<div id="header">
-   <div id="upperheader">
+    <div id="pageWrapper">
+      <div id="mastWrapper">
+        <div id="masthead">
+          <a class="imageLink"
+             href="[% homepage %]">&nbsp;</a>
 
-   <div id="logo">
-  <!-- very Debian specific use of the logo stuff -->
-  <a href="[% logo.url %]"><img src="[% logo.src %]" alt=""></a>
-  <a href="[% logo.url %]"><img src="/Pics/debian-small.png" alt="[% logo.alt %]" width="90" height="31"></a>
-</div> <!-- end logo -->
+          <a class="hiddenStructure"
+             href="[% homepage %]/#documentContent">Skip
+             to content</a>
 
 [%- IF print_search_field %]
 [% checked = 'checked="checked"'
    selected = 'selected="selected"' %]
+<div id="search">
 <form method="GET" action="[% search_url %]">
 <div id="hpacketsearch">
 [% IF search_field_values.mode %]<input type="hidden" name="mode" value="[% search_field_values.mode %]">[% END %]
 <span style="font-size: 60%"><a href="[% searchformurl %]">[% g('all options') %]</a></span>
 </div> <!-- end hpacketsearch -->
 </form>
+</div>
 [% END %]
 
-</div> <!-- end upperheader -->
+     <!-- masthead content begin -->
+    <h5 class="hiddenStructure">Sections</h5>    
+    <div id="nav">
+      <ul>        
+      </ul>
+    </div> <!-- nav -->
+    <!-- masthead content end -->
+    </div> <!-- masthead -->
+   </div>  <!-- mastWrapper -->
 
-<p class="hidecss"><a href="#inner">[% g('skip the navigation') %]</a></p>
+<div class="visualClear"></div>
 <div id="pnavbar">
  &gt;&gt; <a href="[% project_homepage %]" title="[% g('%s Homepage', organisation) %]">[% organisation %]</a>
  &gt;&gt; <a href="[% packages_homepage %]" title="[% g('%s Packages Homepage', organisation) %]">[% g('Packages') %]</a>
 [% END %]
 </div> <!-- end navbar -->
 
-</div> <!-- end header -->
-<div id="outer">
-<div id="inner">
+<div class="inside">
+<div id="content" class="">
+<div class="documentContent" id="region-content">
 
 [%- IF page_title %]
-  <h1>[% page_title %]</h1>
+  <h1 class="documentFirstHeading">[% page_title %]</h1>
   [%- PROCESS 'html/messages.tmpl' -%]
 [% END -%]
index bdb8f3c7efacbd58699af14e1096ebc44981da1f..291fc957adb087f3c68954765866e5c751682b77 100644 (file)
@@ -2,19 +2,24 @@
        title_tag = g('%s Packages Search', organisation)
        page_title = g('%s Packages Search', organisation)
        keywords = g('Packages')
+       html_meta = '<meta name="verify-v1" content="Rg2bDR1kWPGd8k8v9NOgnmtUQHO6UaKX2glZWVDptok=">'
 -%]
 [%-
-    all_suites = [ 'etch', 'etch-m68k', 'etch-volatile', 'etch-backports',
-                  'lenny', 'lenny-volatile', 'lenny-backports', 'squeeze', 'squeeze-backports', 'sid' ]
-    version_numbers = { sarge => '3.1',
-                       etch  => '4.0',
-                       lenny => '5.0' }
-    current_release = 'lenny'
-    all_sections = [ 'main', 'contrib', 'non-free' ]
-    all_architectures = [   'alpha', 'arm', 'armel', 'amd64', 'avr32', 'hppa', 'i386',
-                            'ia64', 'kfreebsd-amd64', 'kfreebsd-i386', 'mips',
-                            'mipsel', 'm68k', 'powerpc', 'powerpcspe', 's390', 'sh4',
-                            'sparc', 'sparc64' ]
+    all_suites = [ 'dapper', 'dapper-updates', 'dapper-backports',
+                  'hardy', 'hardy-updates', 'hardy-backports',
+                  'lucid', 'lucid-updates', 'lucid-backports',
+                  'maverick', 'maverick-updates', 'maverick-backports',
+                  'natty', 'natty-updates', 'natty-backports',
+                  'oneiric' ]
+    version_numbers = { dapper => '6.06LTS',
+                       hardy  => '8.04LTS',
+                       lucid  => '10.04LTS',
+                       maverick => '10.10',
+                       natty => '11.04',
+                     }
+    current_release = 'natty'
+    all_sections = [ 'main', 'multiverse', 'restricted', 'universe' ]
+    all_architectures = [ 'i386', 'amd64', 'powerpc' ]
 -%]
 
 <p>[% g('This site provides you with information about all the packages available in the <a href="%s">%s</a> Package archive.', project_homepage, organisation) %]</p>
@@ -41,6 +46,7 @@
 <h3>[% g('Search package directories') %]</h3>
 
 <form method="GET" action="/search">
+<p>
 <label for="kw">[% g('Keyword:') %]</label>
 <input type="text" size="30" name="keywords" id="kw">
 <input type="submit" value="[% g('Search') %]"> <input type="reset" value="[% g('Reset') %]">
@@ -70,6 +76,7 @@ Distribution:
 [% END %]
   <option value="all" selected="selected">[% g('any') %]</option>
 </select>
+</p>
 </form>
 <p>[% g('There are shortcuts for some searches available:') %]</p>
 <ul>
@@ -83,6 +90,7 @@ Distribution:
 
 <p>[% g('This search engine allows you to search the contents of %s distributions for any files (or just parts of file names) that are part of packages. You can also get a full list of files in a given package.', organisation) %]<br>
 <form method="GET" action="/search">
+<p>
 <input type="hidden" name="searchon" value="contents">
 
 <label for="keyword">[% g('Keyword:') %]</label>
@@ -116,6 +124,227 @@ Distribution:
 [% END %]
   <option value="any" selected="selected">[% g('any') %]</option>
 </select>
+</p>
 </form>
 
-[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2009' %]
+<hr>
+<h2>News</h2>
+<dl>
+<dt>2011-04-28</dt>
+<dd>Reflect natty release, add natty, remove karmic.</dd>
+<dt>2010-10-10</dt>
+<dd>Reflect maverick release, add maverick, remove jaunty.</dd>
+<dt>2010-05-05</dt>
+<dd>Reflect lucid release, add maverick, remove intrepid.</dd>
+<dt>2009-10-30</dt>
+<dd>Reflect karmic release, add lucid.</dd>
+<dt>2009-04-24</dt>
+<dd>Reflect jaunty release, add karmic, remove gutsy</dd>
+<dt>2009-02-21</dt>
+<dd>Remove feisty.</dd>
+<dt>2008-11-03</dt>
+<dd>Add jaunty.</dd>
+<dt>2008-10-30</dt>
+<dd>Reflect intrepid release.</dd>
+<dt>2008-06-10</dt>
+<dd>
+<p>Removed edgy</p>
+</dd>
+<dt>2008-04-28</dt>
+<dd>
+<p>Added intrepid</p>
+</dd>
+<dt>2008-04-26</dt>
+<dd>
+<p>Adapted for hardy release. Removed the obsolete powerpc data for hardy. I'm currently evaluation if and how I should
+include information about <tt>ports.ubuntu.com</tt> packages here. Since <tt>archive.ubuntu.com</tt> is currently unusable
+I use <tt>nl.archive.ubuntu.com</tt> as source for the data until the situation normalizes again.</p>
+</dd>
+<dt>2008-02-21</dt>
+<dd>
+<p>The downtime today was caused by some yet undiagnosed kernel troubles after
+a faulty hard disk was exchanged. Sorry for any inconvenience.
+</dd>
+<dt>2008-02-19</dt>
+<dd>
+<p>Switched packages.ubuntu.com to the newer codebase that also runs
+on packages.debian.org. The two most important changes for users
+are that most pages are now generated dynamically (which makes
+for faster updates and more flexibility) and that the search
+functions should be much faster now.
+<p>Still waiting for a volunteer that optimizes the used stylesheets,
+I myself have not much talent in this area...
+</dd>
+<dt>2007-10-21</dt>
+<dd>
+Add hardy.
+</dd>
+<dt>2007-10-18</dt>
+<dd>
+Change default release to gutsy.
+</dd>
+<dt>2007-07-28</dt>
+<dd>
+Drop old releases since they also got dropped from archive.ubuntu.com.
+</dd>
+<dt>2007-04-29</dt>
+<dd>
+Feisty is released. Pages updated accordingly.
+</dd>
+<dt>2006-11-20</dt>
+<dd>
+<ul>
+<li>The hard drive of the server was replaced today after it began to act
+up. Most stuff should be up and running again. I accidentally deleted the
+info about new packages though, so that will be not reliable for the next
+few days.
+<li>Added edgy-backports to the homepage and the search forms
+</ul>
+</dd>
+<dt>2006-10-29</dt>
+<dd>
+<ul>
+<li>Add feisty. The changes for the edgy release were already done some days ago.
+</ul>
+</dd>
+<dt>2006-10-18</dt>
+<dd>
+<ul>
+<li>The "Bug reports" links now correctly point to Launchpad for all packages.
+Thanks to all the people that reported this error to me.
+<li>I added an <code>robots.txt</code> to ban some people trying to
+mirror the site by means of <code>wget -r</code>. If forever reason
+you need to mirror the site please contact me by mail so we can do
+this by other means that won't stress the server as much.
+</ul>
+</dd>
+<dt>2006-06-12</dt>
+<dd>
+Finally make dapper the default for searches and add edgy. Sorry for the delay.
+</dd>
+<dt>2006-01-17</dt>
+<dd>
+I hope everyone had a good start into the new year. Some small status
+updates:
+<ul>
+<li>While looking at the log statistics I noticed that apparently
+<code>packages.ubuntulinux.org</code> also points to my server
+without me knowing. I fixed the apache configuration so that it now
+knows about that and handles it correctly.</li>
+<li>Linking to a CSS file on the official Ubuntu homepage
+was a bad idea and the page had some glitches when it disappeared.
+Most of the issues should be fixed by now.</li>
+<li>Sorry for any performance issues with the site. My little server
+is not always able to handle the many hits of this site (close to
+2,000,000 per month). I guess I will have to search for another
+hosting solution in the near future.</li>
+</ul>
+</dd>
+<dt>2005-10-13</dt>
+<dd>
+Changed all defaults to point to breezy
+</dd>
+<dt>2005-09-28</dt>
+<dd>
+<ul>
+<li>The contents files are updated again, so I removed any warnings
+and added the appropriate links back</li>
+<li>The "Check for bug reports" links now point to Launchpad for
+universe/multiverse packages. Suggested by
+<tt>j -at- bootlab -dot- org</tt>.
+<li>Finally, I migrated to the "new" layout. Comments and Patches
+about the remaining quirks welcome.
+</ul>
+</dd>
+<dt>2005-09-25</dt>
+<dd>
+I've merged the new changelog to HTML conversion code from the Debian
+branch. I still have no idea how to handle the requests to link Ubuntu
+bugs to the Ubuntu BTS and Debian bugs to the Debian BTS. Suggestions
+welcome.
+</dd>
+<dt>2005-08-30</dt>
+<dd>
+<ul>
+<li>I've added a warning to this site about the outdated Contents
+files in the Ubuntu archive which make the contents search completely
+useless for anything after warty. I've actually no idea whom to ask
+about this since I don't seem to be able to find out on the Ubuntu
+web site who is ftp-master in Ubuntu?</li>
+<li>You can now also browse the packages from
+<a href="hoary-backports/">hoary-backports</a></li>
+</ul>
+</dd>
+<dt>2005-06-10</dt>
+<dd>
+I have begun to work on integrating the current Ubuntu web design with
+my pages. There are still some issues to work out but as a teaser I
+already converted the front page. Feel free to mail me with comments
+on how I could use the new layout better.
+</dd>
+<dt>2005-04-14</dt>
+<dd>
+hoary is released and now this fact is also beginning to show on this
+page. Please report all errors you find with the new breezy pages.
+</dd>
+<dt>2005-04-06</dt>
+<dd>
+The transition should be completed by now and I've installed some
+rewrite rules so that old URLs should also point to the new location.
+The changelog extraction script is still running so there are still
+some (more) broken links. Please report all other problems you might
+encounter.
+</dd>
+<dt>2005-04-05</dt>
+<dd>
+From tomorrow on this site will be available at <a
+href="http://packages.ubuntu.com/">packages.ubuntu.com</a>.
+The necessary setup is done on both my side and on the side of the
+ubuntu people but I will use the occasion for some configuration
+clean-up and a full rebuild. Stay tuned <tt>;)</tt>
+</dd>
+<dt>2005-04-02</dt>
+<dd>
+<ul>
+<li>On request of the MOTUs I've added links to the build logs for
+hoary packages.</li>
+<li>Also, the Portuguese LoCoTeam (hmm, Ubuntu teams have
+all very l33t names ;) asked me
+how to translate the pages. Here my answer:
+
+<blockquote style="font-family: monospace">
+<p>At http://cvs.infodrom.org/packages.debian.org/po/?cvsroot=debian.de
+you can find some .pot files. Please translate them and send them back
+to me (You may want to take a look at the translations available at
+http://cvs.debian.org/webwml/portuguese/po/?cvsroot=webwml
+especially for files like langs.pot). This will ensure that at least
+the constant strings on all the pages are translated (Some of the
+strings in these file are only needed on packages.debian.org)</p>
+
+<p>The translations of package descriptions I took from the DDTP (Debian
+Descriptions Translation Project) which seems to be rather inactive
+lately. Unless this is fully revived or another similar project is
+created there is little I can do on this front.</p>
+</blockquote>
+</li>
+<li>Thanks to all people that provided me with positive feedback about
+these pages.</li>
+</ul>
+</dd>
+<dt>2005-03-02</dt>
+<dd>I talked briefly with Daniel Silverstone of Canonical at
+<a href="http://www.fosdem.org/">FOSDEM</a>. He said that Ubuntu
+will get his own Packages page, but <q>It will be a while</q>.</dd>
+<dt>2005-01-24</dt>
+<dd>In the last two days there were several reboots of the server
+needed (kernel upgrades, activation and testing of a new rescue
+system). Sorry for any inconviences this caused.</dd>
+<dt>2005-01-11</dt>
+<dd>There are changelogs and copyright files available now. I also
+added links to the Ubuntu bugzilla, but I'm not sure yet that they
+work completly. Feedback welcome. (Changelogs and copyright files
+may be missing for some packages since I can only mirror the
+i386 and powerpc debs due to space constraints)</dd>
+</dl>
+
+[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2011' %]
index 8b4a6e26389ce9d259a91a4dca22082a3ebbc40c..d81d1e88afaa54e3ff6d410be8a8fe0018f99e1b 100644 (file)
 [% END %]
 <h3>[% g('%s Resources:', organisation) %]</h3>
 <ul>
-<li><a href="[% (is_source ? src_bugs_url : bugs_url) _ pkg %]">[% g('Bug Reports') %]</a></li>
-
-[% IF src.pkg -%]
-<li><a href="[% pts_url _ src.pkg %]">[% g('Developer Information (PTS)') %]</a></li>
-[% ELSIF is_source %]
-<li><a href="[% pts_url _ pkg %]">[% g('Developer Information (PTS)') %]</a></li>
-[%- END %]
+<li><a href="[% launchpad_url _ (is_source ? pkg : src.pkg) _ '/+bugs' %]">[% g('Bug Reports') %]</a></li>
 
 [% IF files && (!archive or archive == main_archive or archive == 'security') %]
 <li><a href="[% changelogs_url _ files.changelog.path %]">[% g('%s Changelog', organisation) %]</a></li>
   [% END %]
 [% END %]
 
-[% IF maintainers.size == 1 -%]
-  <h3>[% g('Maintainer:') %]</h3>
-[%- ELSE -%]
-  <h3>[% g('Maintainers:') %]</h3>
-[%- END %]
-[%- FOREACH maintainers;
+[%- BLOCK handle_maintainer;
   mailarchiveurl = '';
   IF (matches = mail.match('^(.*)@lists\.debian\.org$'));
        mailarchiveurl = 'http://lists.debian.org/' _ uri_escape(matches.0) _ '/';
   ELSIF (matches = mail.match('^(.*)@lists\.ubuntu\.com$'));
        mailarchiveurl = 'http://lists.ubuntu.com/archives/' _ uri_escape(matches.0) _ '/';
   END -%]
-  [%- '<ul>' IF loop.first -%]
+  [% IF hide_mail %]
+       <li>[% name | html %]
+  [% ELSE %]
        <li><a href="mailto:[% mail | html %]">[% name | html %]</a>
-       (<a href="[% ddpo_url %][% uri_escape(mail) %]" title="[% g("An overview over the maintainer's packages and uploads") %]">[% g('QA&nbsp;Page') %]</a>
-       [%- IF mailarchiveurl %], <a href="[% mailarchiveurl %]" title="[% g('Archive of the Maintainer Mailinglist') %]">[% g('Mail&nbsp;Archive') %]</a>[% END %])
+  [% END %]
+       [%- IF mailarchiveurl %] (<a href="[% mailarchiveurl %]" title="[% g('Archive of the Maintainer Mailinglist') %]">[% g('Mail&nbsp;Archive') %]</a>)[% END %]
        </li>
-  [%- '</ul>' IF loop.last -%]
+[% END -%]
+
+[%- IF maintainers.size -%]
+[% IF maintainers.size == 1 -%]
+  <h3>[% g('Maintainer:') %]</h3>
+[%- ELSE -%]
+  <h3>[% g('Maintainers:') %]</h3>
+[%- END %]
+[%- FOREACH m IN maintainers;
+   '<ul>' IF loop.first;
+   PROCESS handle_maintainer name=m.name mail=m.mail;
+   '</ul>' IF loop.last;
+ END -%]
+<p>[% g('Please consider <a href="%s">filing a bug</a> or <a href="%s">asking a question</a> via Launchpad before contacting the maintainer directly.',
+        "https://bugs.launchpad.net/ubuntu/+source/" _ (is_source ? pkg : src.pkg) _ "/+filebug",
+        "https://answers.launchpad.net/ubuntu/+source/" _ (is_source ? pkg : src.pkg) _ "/+addquestion") %]</p>
+[%- END -%]
+
+[%- IF original_maintainers.size -%]
+[% IF original_maintainers.size == 1 -%]
+  <h3>[% g('Original Maintainer (usually from Debian):') %]</h3>
+[%- ELSE -%]
+  <h3>[% g('Original Maintainers (usually from Debian):') %]</h3>
+[%- END %]
+[%- FOREACH m IN original_maintainers;
+   '<ul>' IF loop.first;
+   PROCESS handle_maintainer name=m.name mail=m.mail hide_mail=1;
+   '</ul>' IF loop.last;
+ END -%]
+<p>[% g('It should generally not be necessary for users to contact the original maintainer.') %]</p>
 [%- END -%]
 
 [% url = page.get_newest('url');