From: Gerfried Fuchs Date: Thu, 24 Mar 2011 09:56:04 +0000 (+0100) Subject: Merge branch 'master' into debian-master X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=commitdiff_plain;h=af162644aff4196f0904ad54c69039ba4387fd98;hp=8f180c6097b4531240deae2c67353b61b8bcc0bc Merge branch 'master' into debian-master --- diff --git a/.gitignore b/.gitignore index 87f52c2..5204c11 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,7 @@ archive config.sh cache tmp +mirror *~ *.ttc +www-passwords diff --git a/README b/README index 7f3e443..6e36018 100644 --- a/README +++ b/README @@ -46,7 +46,6 @@ Cron 100syncarchive_backports -- retrieve data from backports.debian.org 100syncarchive_debports -- retrieve data from debian-ports.org (m68k) 100syncarchive_installer -- retrieve d-i data -100syncarchive_m68k -- retrieve data for etch-m68k 100syncarchive_maintainers -- retrieve maintainer index 100syncarchive_volatile -- retrieve data from volatile.d.o 110debtags -- retrieve debtags vocabular diff --git a/README.Mirror b/README.Mirror new file mode 100644 index 0000000..479f459 --- /dev/null +++ b/README.Mirror @@ -0,0 +1,29 @@ + +To only operate a mirror of packages.d.o, the following packages +need to be installed: + + liblocale-maketext-lexicon-perl + libi18n-acceptlanguage-perl + libnumber-format-perl + libcompress-zlib-perl + libhtml-parser-perl + libmldbm-perl + libtext-iconv-perl + libclass-accessor-perl + liburi-perl + libtemplate-perl + liblingua-stem-perl + libsearch-xapian-perl (bpo) + + apache2-mpm-worker + libapache2-mod-perl2 + +The following apache modules need to be active + + rewrite + expires + perl + setenvif + alias + negotiation + diff --git a/bin/build-maintainerdb b/bin/build-maintainerdb new file mode 100755 index 0000000..91f3932 --- /dev/null +++ b/bin/build-maintainerdb @@ -0,0 +1,256 @@ +#! /usr/bin/perl + +# build-maintainerdb - convert several Packages files to maintainer database +# Copyright (c) 1998,9,2001,3,4,6 Martin Schulze +# Copyright (C) 2007 Joerg Jaspert +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# Todo: +# . Read maintainer changes from overrides file(s), need to rub +# out all existing entries + +use strict; +use warnings; +use DB_File; + +use lib '../lib'; + +use Deb::Versions; + +# read the configuration +if (!open (C, "../config.sh")) { + print "\nInternal Error: Cannot open configuration file.\n\n"; + exit 0; +} +my $topdir = "/org/packages.debian.org"; +while () { + $topdir = $1 if (/^\s*topdir="?(.*)"?\s*$/); +} +close (C); + +#my $maildomain = "packages.debian.org"; +my $ptsdomain = "packages.qa.debian.org"; + + +my $maintainerfile = "$topdir/../mirrors/ftp.debian.org/indices/Maintainers"; +my $maintainerdb = "$topdir/conf/maintainer"; +my $overridefile = "$topdir/conf/maintainerdb.override"; +my $rblfile = "$topdir/conf/rbllist"; +my $rhsblfile = "$topdir/mail/rhsbllist"; +my $calloutfile = "$topdir/mail/callout_users"; +my @postcall = ( "/usr/sbin/postmap", $maintainerdb ); +my $opt_verbose = 0; +my $dbdir = "$topdir/files/db"; + +my %maint; +my %binsrc; + +# Lets take pdo database input files for the source mapping +sub read_bin_src_mapping +{ + tie my %src_packages, 'DB_File', "$dbdir/sources_small.db", + O_RDONLY, 0666, $DB_BTREE + or die "couldn't tie DB $dbdir/sources_small.db: $!"; + tie my %src2bin, 'DB_File', "$dbdir/sources_packages.db", + O_RDONLY, 0666, $DB_BTREE + or die "couldn't open $dbdir/sources_packages.db: $!"; + + my %bin; + while (my ($source, $data) = each %src_packages) { + my @src = map { [ split(/\s+/) ] } split( /\0/, $data ); + my $newest = (sort( { version_cmp($b->[-1],$a->[-1]) } @src))[0]; + my ($section, $version) = @{$newest}[2,5]; + + my $bin_data = $src2bin{$source}; + unless ($bin_data) { + warn "no binary data found for $source\n"; + # source packages without binaries have most + # likely been succeded + next; + } + + my @bin = map { [ split(/\s+/) ] } split( /\0/, $bin_data ); + my %seen; + foreach (@bin) { + my ($pkg, $ver) = @{$_}[2,3]; + next if $seen{"$pkg/$ver"}++; # weed out multiple arches/suites faster + if ($bin{$pkg} + && ($bin{$pkg}{source} ne $source) + && (version_cmp($bin{$pkg}{version},$ver) > 0)) { + next; + } else { + $bin{$pkg} = { version => $ver, source => $source, + target => "$section" }; + $binsrc{$pkg} = $source; + } + } + $binsrc{$source} = $source; + } +} + +sub package_maintainer +{ + my $pkg = shift; + my $login = shift; + my $addr = shift; + my $home = "/debian/home/$login"; + + if (-d $home) { + if (-f "$home/.forward-$pkg") { + return "$login-$pkg\@master.debian.org"; + } + } + return $addr; +} + +sub read_maintainer +{ + my $file = shift; + my $package; + my $maintainer; + my $maint; + + open (F, "$file") || die "Can't open $file, $!"; + printf "Reading %s\n", $file if ($opt_verbose); + while () { + next if (/^#/); + next if (/^$/); + /(\S+)\s+(.*)/; + $package=$1; $maint=$2; + if (! exists $maint{$package}) { + printf " EVAL (%s, \"%s\")\n", $package, $maint if ($opt_verbose > 2); + + if (exists $maint{$package}) { + $maint{$package} .= " "; + printf " EXPAND (%s)\n", $package if ($opt_verbose > 2); + } + if ($maint =~ /.*<(.*)>/) { + $maint{$package} .= $1; + printf " ADD (%s, %s)\n", $package, $1 if ($opt_verbose > 2); + } elsif ($maint =~ /\s*(\S+)\s+\(.*\)/) { + $maint{$package} .= $1; + printf " ADD (%s, %s)\n", $package, $1 if ($opt_verbose > 2); + } else { + $maint{$package} .= $maint; + printf " ADD (%s, %s)\n", $package, $maint if ($opt_verbose > 2); + } + + printf " %s: %s\n", $package, $maint{$package} if ($opt_verbose > 1); + +# Short what? Whats this supposed to do, except creating new (and 99% broken) something -> email mappings? +# my $pkgshort = ""; +# if ($package =~ /(.*[^\d\.]+)([\d\.]*\d)$/) { +# $pkgshort = $1; +# print "Short what? $pkgshort (long is $package)\n"; +# $maint{$pkgshort} = $maint{$package} if (! exists $maint{$pkgshort}); +# printf " %s: %s\n", $pkgshort, $maint{$package} if ($opt_verbose > 1); +# } +# if ($maint{$package} =~ /([^\@]+)\@(master\.)?debian\.org/) { +# my $addrsave = $maint{$package} if ($opt_verbose > 1); +# $maint{$package} = package_maintainer ($package, $1, $maint{$package}); +# printf " Changed to %s\n", $maint{$package} if ($opt_verbose > 1 && ($addrsave ne $maint{$package})); +# if (length ($pkgshort) > 0) { +# $maint{$pkgshort} = package_maintainer ($pkgshort, $1, $maint{$pkgshort}); +# } +# } + } else { + printf "Skipping double $package\n" if ($opt_verbose); + printf "LINE: $_" if ($opt_verbose > 2); + } + } + close (F); +} + + + +sub write_maintainer +{ + my $file = shift; + + printf "Writing to %s.new\n", $file if ($opt_verbose > 0); + open (CONF, ">$file.new") || die "Can't open $file.new, $!"; + open (WRITE, "| cdbmake $file.cdb $file.cdb.tmp") || die "Can't talk to cdbmake, $!"; + open (RBL, ">$rblfile.new") || die "Can't open $file.new, $!"; + open (RHSBL, ">$rhsblfile.new") || die "Can't open $file.new, $!"; + open (CALLOUT, ">$calloutfile.new") || die "Can't open $file.new, $!"; + my $forward; + foreach my $package (sort(keys(%maint))) { +# It is possible that we do not know a source package -> in that case fall back to old behaviour +# and only mail the maintainer. Can happen when pdo doesnt know the suite the source is in, like +# it doesnt know oldstable-proposed-updates at date of writing this code. + $forward = "$maint{$package}"; + if ($binsrc{$package}) { + $forward .= ", $binsrc{$package}_contact\@$ptsdomain"; + } + printf "%s -> %s\n", $package, $forward if ($opt_verbose); + printf CONF "%s:\t%s\n", $package, $forward; + printf WRITE "+%d,%d:%s->%s\n", length($package), length($forward), $package, $forward; + printf RBL "%s : zen.spamhaus.org : cbl.abuseat.org\n", $package; + printf RHSBL "%s : bogusmx.rfc-ignorant.org/\$sender_address_domain : dsn.rfc-ignorant.org/\$sender_address_domain\n", $package; + printf CALLOUT "%s\n", $package; +# printf "%s -> %s and pts: %s\n", $package, $maint{$package}, $binsrc{$package} if ($opt_verbose); +# printf CONF "%s@%s\t%s, %s_contact@%s\n", $package, $maildomain, $maint{$package}, $binsrc{$package}, $ptsdomain; + } + print WRITE "\n"; + close (CONF); + close (WRITE); + close (RBL); + close (RHSBL); + close (CALLOUT); + printf "Renaming the new files\n" if ($opt_verbose > 0); + system "mv -f $file.new $file"; + system "mv -f $rblfile.new $rblfile"; + system "mv -f $rhsblfile.new $rhsblfile"; + system "mv -f $calloutfile.new $calloutfile"; +# printf "Executing @postcall\n" if ($opt_verbose > 0); +# system @postcall; +} + +sub help +{ + print "build-maintainerdb - Build the maintainer db for packages.debian.org.\n"; + print "-d debug, changes output file to ./maintainerdb\n"; + print "-h This help\n"; + print "-v Increase verbosity by 1\n"; + print "-vv Increase verbosity by 2\n"; + print "-vvv Increase verbosity by 3\n"; +} + +# +# Main program +# +while ($#ARGV > -1) { + if ($ARGV[0] eq "-v") { + $opt_verbose++; + } elsif ($ARGV[0] eq "-vv") { + $opt_verbose+= 2; + } elsif ($ARGV[0] eq "-vvv") { + $opt_verbose+= 3; + } elsif ($ARGV[0] eq "-h") { + help(); + } elsif ($ARGV[0] eq "-d") { + $maintainerdb = "./maintainerdb"; + } + shift; +} + +&read_bin_src_mapping(); + +&read_maintainer ($overridefile); +&read_maintainer ($maintainerfile); + +&write_maintainer ($maintainerdb); + diff --git a/bin/create_mirror b/bin/create_mirror new file mode 100755 index 0000000..6ce4860 --- /dev/null +++ b/bin/create_mirror @@ -0,0 +1,59 @@ +#!/bin/bash + +set -e + +topdir="$1" +[ -n "$topdir" -a -d "$topdir" ] || exit 1 +mirror="$topdir/mirror" + +mkdir -p "$mirror" + +STAMP=$(date "+%Y%m%d%H%M") +new="$mirror/$STAMP" +mkdir $new + +if lockfile -! -l 3600 -r2 -300 "$mirror/mirror.lock" +then + echo "couldn't aquire mirror.lock in due time" + exit 1; +fi + +mkdir -p "$new/cache" +chmod 777 "$new/cache" + +cd "$new" +ln -f "$topdir/config.sh" +ln -f "$topdir/README.Mirror" + +mkdir -p "$new/bin" +cd "$new/bin" +ln -f "$topdir/bin/mod_perl-startup" + +mkdir -p "$new/conf" +cd "$new/conf" +ln -f "$topdir/conf/apache.conf" + +mkdir -p "$new/cgi-bin" +cd "$new/cgi-bin" +ln -f "$topdir/cgi-bin/dispatcher.pl" + +for d in lib files templates po www +do + mkdir -p "$new/$d" + rsync -avH --link-dest "$topdir/$d" \ + --exclude '*.new' --exclude '*.sed.in' \ + --exclude '*.slices' --exclude '*~' \ + --exclude '*.lock' --exclude '*.ttc' --exclude 'logs/' \ + --exclude 'packages/*/' --exclude 'changelogs.*.dump' \ + --exclude 'changelogs.cache' --exclude 'changelogs/**/log' \ + --exclude "/auto" --exclude "/Search" --exclude "/perl" \ + --delete-excluded --delete-after \ + "$topdir/$d/" "$new/$d/" +done +LC_ALL=POSIX LANG=POSIX date -u > "$new/www/Pics/.trace" + +ln -sfT $new $mirror/current +find $mirror -mindepth 1 -maxdepth 1 -not -name "${STAMP}" -type d -print0 \ + | xargs --no-run-if-empty -0 rm -rf + +rm -f "$mirror/mirror.lock" diff --git a/bin/daily.sed.in b/bin/daily.sed.in index 28c8333..fe220b5 100755 --- a/bin/daily.sed.in +++ b/bin/daily.sed.in @@ -53,3 +53,7 @@ else echo "couldn't aquire changelogs lock file in due time" fi date + +$topdir/bin/create_mirror $topdir +sudo -H -u archvsync /home/archvsync/bin/pushpdo & +date diff --git a/bin/extract_files b/bin/extract_files index 5c57bab..a94fba0 100755 --- a/bin/extract_files +++ b/bin/extract_files @@ -564,6 +564,10 @@ sub read_deb { } } $cache{$debname} ||= qx/dpkg-deb --info "$debname" control/; + unless ( $cache{$debname} ) { + do_warning( "extracting control information of file $debname failed" ); + return; + } my $control = $cache{$debname}; unless ( $raw_data = $parser->parse_mem( $control, diff --git a/conf/.gitignore b/conf/.gitignore index 135b043..4ecbfe7 100644 --- a/conf/.gitignore +++ b/conf/.gitignore @@ -1,4 +1,6 @@ apache.conf ttreerc maintainer +maintainer.cdb crontab +rbllist diff --git a/conf/apache.conf.sed.in b/conf/apache.conf.sed.in index fb36e4a..eac75bc 100644 --- a/conf/apache.conf.sed.in +++ b/conf/apache.conf.sed.in @@ -69,6 +69,7 @@ ServerAdmin webmaster@debian.org DocumentRoot %TOPDIR%/www/ ServerName %SITE% + ServerAlias packages-piatti.debian.org packages-powell.debian.org packages-rore.debian.org ErrorLog /var/log/apache2/%SITE%-error.log CustomLog /var/log/apache2/%SITE%-access.log combined @@ -110,8 +111,8 @@ RewriteRule ^/favicon.ico$ - [L] RewriteRule ^/robots.txt$ - [L] -# RewriteRule ^/$ http://www.debian.org/distrib/packages - RewriteRule ^/$ /index [L] + RewriteRule ^/$ http://www.debian.org/distrib/packages +# RewriteRule ^/$ /index [L] RewriteRule ^/([^/+]*)([+])([^/]*)$ "/$1%%{%}2B$3" [N] RewriteRule ^/changelog:(.+)$ /changelogs/${changelog-url:$1} [R,L,NE] RewriteRule ^/src:([^/]+)$ /search?searchon=sourcenames&keywords=$1 [R,L,NE] diff --git a/conf/maintainerdb.override b/conf/maintainerdb.override new file mode 100644 index 0000000..0f6f11d --- /dev/null +++ b/conf/maintainerdb.override @@ -0,0 +1,8 @@ +packages.debian.org Martin Schulze +nonus.debian.org Archive Maintenance +nonus NonUS Archive +non-us NonUS Archive +bugs Bug Tracking System +egcs debian-gcc@lists.debian.org +gcc debian-gcc@lists.debian.org +glibc debian-glibc@lists.debian.org diff --git a/config.sh.sed.in b/config.sh.sed.in index 09d080c..719949c 100644 --- a/config.sh.sed.in +++ b/config.sh.sed.in @@ -19,7 +19,7 @@ cachedir=${topdir}/cache # unset this if %SITE% moves somewhere where the packages files # cannot be obtained locally # -#localdir=/org/ftp.debian.org/debian +localdir=/srv/mirrors/ftp.debian.org # path to private ftp directory #ftproot=/org/ftp.root @@ -45,18 +45,17 @@ ddtplangs="ca cs da de eo es eu fi fr hu it ja km ko nl pl pt pt-br ru sk sv uk archives="us security debports backports volatile" sections="main contrib non-free" parts="$sections" -suites="etch etch-m68k etch-volatile etch-backports lenny lenny-volatile lenny-backports squeeze squeeze-backports sid experimental" +suites="lenny lenny-volatile lenny-backports lenny-backports-sloppy squeeze squeeze-updates squeeze-backports wheezy sid experimental" 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_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc" +arch_squeeze="amd64 armel i386 ia64 kfreebsd-i386 kfreebsd-amd64 mips mipsel powerpc s390 sparc" +arch_wheezy="${arch_squeeze}" 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}" # Miscellaneous # -admin_email="djpig@debian.org" +admin_email="webmaster@debian.org" diff --git a/cron.d/100syncarchive b/cron.d/100syncarchive index d8b9f79..5738151 100755 --- a/cron.d/100syncarchive +++ b/cron.d/100syncarchive @@ -81,7 +81,7 @@ fi # security archive # -for dist in etch lenny +for dist in etch lenny squeeze do echo "retrieve Release(.gpg) $dist" test -d security/${dist} || mkdir -p security/${dist} diff --git a/cron.d/100syncarchive_backports b/cron.d/100syncarchive_backports index 9acc155..35ad9d7 100755 --- a/cron.d/100syncarchive_backports +++ b/cron.d/100syncarchive_backports @@ -7,35 +7,35 @@ cd ${archivedir} # backports archive # -for dist in etch lenny squeeze +for dist in lenny-backports lenny-backports-sloppy squeeze-backports do - echo "retrieve Release(.gpg) $dist-backports" - test -d backports/${dist}-backports || mkdir -p backports/${dist}-backports - (cd backports/${dist}-backports && - $wget_cmd -N ${backports_ftpsite}/dists/${dist}-backports/Release && - $wget_cmd -N ${backports_ftpsite}/dists/${dist}-backports/Release.gpg ) + echo "retrieve Release(.gpg) $dist" + test -d backports/${dist} || mkdir -p backports/${dist} + (cd backports/${dist} && + $wget_cmd -N ${backports_ftpsite}/dists/${dist}/Release && + $wget_cmd -N ${backports_ftpsite}/dists/${dist}/Release.gpg ) - foo=\$arch_${dist//-/_} + foo=\$arch_${dist%-*} for arch in `eval echo $foo` do for part in ${parts} do - echo retrieve Packages $dist-backports/$part/$arch - test -d backports/${dist}-backports/${part}/binary-${arch} || mkdir -p backports/${dist}-backports/${part}/binary-${arch} - (cd backports/${dist}-backports/${part}/binary-${arch} && - $wget_cmd -N ${backports_ftpsite}/dists/${dist}-backports/${part}/binary-${arch}/Packages.gz) + echo retrieve Packages $dist/$part/$arch + test -d backports/${dist}/${part}/binary-${arch} || mkdir -p backports/${dist}/${part}/binary-${arch} + (cd backports/${dist}/${part}/binary-${arch} && + $wget_cmd -N ${backports_ftpsite}/dists/${dist}/${part}/binary-${arch}/Packages.gz) done - echo retrieve Contents $dist-backports/$arch - (cd backports/${dist}-backports && - $wget_cmd -N ${backports_ftpsite}/dists/${dist}-backports/Contents-${arch}.gz) + echo retrieve Contents $dist/$arch + (cd backports/${dist} && + $wget_cmd -N ${backports_ftpsite}/dists/${dist}/Contents-${arch}.gz) done for part in ${parts} do - echo retrieve Sources $dist-backports/$part - test -d backports/${dist}-backports/${part}/source || mkdir -p backports/${dist}-backports/${part}/source - (cd backports/${dist}-backports/${part}/source && - $wget_cmd -N ${backports_ftpsite}/dists/${dist}-backports/${part}/source/Sources.gz) + echo retrieve Sources $dist/$part + test -d backports/${dist}/${part}/source || mkdir -p backports/${dist}/${part}/source + (cd backports/${dist}/${part}/source && + $wget_cmd -N ${backports_ftpsite}/dists/${dist}/${part}/source/Sources.gz) done - $check_release_cmd $archivedir/backports/${dist}-backports/Release + $check_release_cmd $archivedir/backports/${dist}/Release done diff --git a/cron.d/100syncarchive_m68k b/cron.d/100syncarchive_m68k deleted file mode 100755 index 3dcf954..0000000 --- a/cron.d/100syncarchive_m68k +++ /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_maintainers b/cron.d/100syncarchive_maintainers new file mode 100755 index 0000000..9055606 --- /dev/null +++ b/cron.d/100syncarchive_maintainers @@ -0,0 +1,21 @@ +#! /bin/bash + +. `dirname $0`/../config.sh + +test -d ${archivedir} || mkdir -p ${archivedir} +cd ${archivedir} + +# scp -q auric:/org/ftp.debian.org/ftp/indices/Maintainers . + +if [ -f /org/ftp.root/debian/indices/Maintainers ] +then + if [ ! -s Maintainers -a -L Maintainers ] + then + ln -s /org/ftp.root/debian/indices/Maintainers . + fi +else + if [ ! -L Maintainers ] + then + $wget_cmd -O Maintainers $ftpsite/indices/Maintainers + fi +fi diff --git a/cron.d/300maintainerdb b/cron.d/300maintainerdb new file mode 100755 index 0000000..898a4c0 --- /dev/null +++ b/cron.d/300maintainerdb @@ -0,0 +1,6 @@ +#! /bin/bash + +. `dirname $0`/../config.sh + +cd ${bindir} +${bindir}/build-maintainerdb diff --git a/debian/control b/debian/control index 3af54e0..5ca566a 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: packages -Build-Depends: git-core, rsync, dpkg-dev, procmail, gettext, +Build-Depends: rsync, dpkg-dev, procmail, gettext, liblocale-maketext-lexicon-perl, libi18n-acceptlanguage-perl, libnumber-format-perl, libcompress-zlib-perl, libhtml-parser-perl, libio-stringy-perl, libmldbm-perl, libtext-iconv-perl, libhtml-template-perl, diff --git a/lib/Deb/Versions.pm b/lib/Deb/Versions.pm index 706f017..0e37ab2 100644 --- a/lib/Deb/Versions.pm +++ b/lib/Deb/Versions.pm @@ -174,10 +174,11 @@ our @SUITES_SORT = qw( sarge oldstable etch etch-m68k - stable stable-proposed-updates lenny - testing testing-proposed-updates + stable stable-proposed-updates squeeze + testing testing-proposed-updates + wheezy sid unstable experimental warty hoary breezy dapper edgy feisty gutsy hardy intrepid jaunty karmic lucid maverick); diff --git a/lib/Packages/Dispatcher.pm b/lib/Packages/Dispatcher.pm index 08c6f96..67488e9 100755 --- a/lib/Packages/Dispatcher.pm +++ b/lib/Packages/Dispatcher.pm @@ -64,12 +64,12 @@ sub do_dispatch { delete $ENV{'LC_ALL'}; delete $ENV{'LC_MESSAGES'}; - my %SUITES_ALIAS = ( oldstable => 'etch', - stable => 'lenny', - testing => 'squeeze', + my %SUITES_ALIAS = ( oldstable => 'lenny', + stable => 'squeeze', + testing => 'wheezy', unstable => 'sid', - '4.0' => 'etch', - '5.0' => 'lenny' ); + '5.0' => 'lenny', + '6.0' => 'squeeze' ); # Read in all the variables set by the form my $input; diff --git a/lib/Packages/DoSearchContents.pm b/lib/Packages/DoSearchContents.pm index a51ee8e..ec3ab8b 100644 --- a/lib/Packages/DoSearchContents.pm +++ b/lib/Packages/DoSearchContents.pm @@ -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} = [ 'squeeze' ]; } if (@{$opts->{suite}} > 1) { diff --git a/lib/Parse/DebianChangelog/ChangesFilters.pm b/lib/Parse/DebianChangelog/ChangesFilters.pm index 8434770..4dfab20 100644 --- a/lib/Parse/DebianChangelog/ChangesFilters.pm +++ b/lib/Parse/DebianChangelog/ChangesFilters.pm @@ -102,7 +102,7 @@ sub cve_to_mitre { my ($text, $cgi) = @_; $text =~ s!\b(?:CVE|CAN)-\d{4}-\d{4}\b - !$cgi->a({ -href=>"http://cve.mitre.org/cgi-bin/cvename.cgi?name=$&" }, $&) + !$cgi->a({ -href=>"http://security-tracker.debian.org/tracker/$&" }, $&) !xego; return $text; } diff --git a/mail/.gitignore b/mail/.gitignore new file mode 100644 index 0000000..6600526 --- /dev/null +++ b/mail/.gitignore @@ -0,0 +1,3 @@ +callout_users +grey_users +rhsbllist diff --git a/mail/aliases b/mail/aliases new file mode 100644 index 0000000..ace74b6 --- /dev/null +++ b/mail/aliases @@ -0,0 +1,14 @@ +root: joey@debian.org +admin: joey@debian.org +sysop: joey@debian.org +debian: debian@debian.org +postmaster: joey@debian.org +MAILER_DAEMON: joey@debian.org +usenet: joey@debian.org +news: joey@debian.org +newsmaster: joey@debian.org +joey: joey@debian.org + +submit: submit@bugs.debian.org + +base: base-files@packages.debian.org, base-passwd@packages.debian.org diff --git a/mail/dot.forward-default b/mail/dot.forward-default new file mode 100644 index 0000000..76b8f82 --- /dev/null +++ b/mail/dot.forward-default @@ -0,0 +1,13 @@ +# Exim Filter +# /org/packages.debian.org/mail/.forward-default + +# This filter looks up the package name in the maintainer database, if it is +# not found then a bounce message is generated. Although the docs say you +# can put spaces in the $lookup stuff you can't, don't try it. +if ${lookup{${local_part}}lsearch{/org/packages.debian.org/files/maintainerdb}{$value}{unknown}} is "unknown" +then + save /dev/null +else + seen deliver ${lookup{${local_part}}partial-lsearch{/org/packages.debian.org/files/maintainerdb}{$value}} +endif + diff --git a/setup-site.conf b/setup-site.conf index edaf9b6..c50889e 100644 --- a/setup-site.conf +++ b/setup-site.conf @@ -1,2 +1,2 @@ -topdir=/srv/packages.debian.org -site=packages.debian.net +topdir=/org/packages.debian.org +site=packages.debian.org diff --git a/static/Pics/admon-important.png b/static/Pics/admon-important.png new file mode 100644 index 0000000..c5726d5 Binary files /dev/null and b/static/Pics/admon-important.png differ diff --git a/static/Pics/admon-note.png b/static/Pics/admon-note.png new file mode 100644 index 0000000..d01b8c6 Binary files /dev/null and b/static/Pics/admon-note.png differ diff --git a/static/Pics/admon-tip.png b/static/Pics/admon-tip.png new file mode 100644 index 0000000..2ac5747 Binary files /dev/null and b/static/Pics/admon-tip.png differ diff --git a/static/Pics/admon-warning.png b/static/Pics/admon-warning.png new file mode 100644 index 0000000..f5c7a6f Binary files /dev/null and b/static/Pics/admon-warning.png differ diff --git a/static/Pics/dep.png b/static/Pics/dep.png new file mode 100644 index 0000000..cc2a137 Binary files /dev/null and b/static/Pics/dep.png differ diff --git a/static/Pics/gradient-flipped.png b/static/Pics/gradient-flipped.png new file mode 100644 index 0000000..b4c10b2 Binary files /dev/null and b/static/Pics/gradient-flipped.png differ diff --git a/static/Pics/gradient.png b/static/Pics/gradient.png new file mode 100644 index 0000000..33009da Binary files /dev/null and b/static/Pics/gradient.png differ diff --git a/static/Pics/greydot.png b/static/Pics/greydot.png new file mode 100644 index 0000000..ec23c01 Binary files /dev/null and b/static/Pics/greydot.png differ diff --git a/static/Pics/openlogo-50.png b/static/Pics/openlogo-50.png new file mode 100644 index 0000000..350e156 Binary files /dev/null and b/static/Pics/openlogo-50.png differ diff --git a/static/Pics/openlogo-nd-25.png b/static/Pics/openlogo-nd-25.png index 5ad4487..8732e70 100644 Binary files a/static/Pics/openlogo-nd-25.png and b/static/Pics/openlogo-nd-25.png differ diff --git a/static/Pics/rec.png b/static/Pics/rec.png new file mode 100644 index 0000000..2376fc5 Binary files /dev/null and b/static/Pics/rec.png differ diff --git a/static/Pics/reddot.png b/static/Pics/reddot.png new file mode 100644 index 0000000..76cc993 Binary files /dev/null and b/static/Pics/reddot.png differ diff --git a/static/Pics/sug.png b/static/Pics/sug.png new file mode 100644 index 0000000..d7ba341 Binary files /dev/null and b/static/Pics/sug.png differ diff --git a/static/about/index.tmpl b/static/about/index.tmpl index 78eb26a..5d25ca0 100644 --- a/static/about/index.tmpl +++ b/static/about/index.tmpl @@ -93,6 +93,10 @@ Copyright (C) 2006 Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Copyright (C) 2006, 2007 Frank Lichtenheld <frank@lichtenheld.de> +

Sponsors

+ +

See our separate Sponsors page

+ [% PROCESS 'html/foot.tmpl' langs.size = 0 footer.doNotDisplayCopyright = 1 %] diff --git a/static/about/sponsors.tmpl b/static/about/sponsors.tmpl new file mode 100644 index 0000000..312a62f --- /dev/null +++ b/static/about/sponsors.tmpl @@ -0,0 +1,36 @@ +[% PROCESS 'html/head.tmpl' + title_tag = "$organisation Packages - Sponsors" + page_title = "$organisation Packages - Sponsors" + keywords = "$organisation, Sponsoring, Hardware, Hosting" +%] + +

Sponsors of packages.debian.org

+ +

Providing this popular service wouldn't be possible +without the help of the following companies and organisations:

+ + + + + + + + + + + + + + + + + + + + + + +
Machine Purpose Sponsor Hardware Sponsor Hosting
powell.debian.orgMain Web/Data Server, Mail Handling1&1 Internet AG
piatti.debian.orgMirrorHewlett-PackardUniversity of Helsinki - Department of Computer Science
rore.debian.orgMirrorHewlett-PackardMIT Computer Science & Artificial Intelligence Lab
+ +[% PROCESS 'html/foot.tmpl' + langs.size = 0 %] diff --git a/static/debian.css b/static/debian.css index fce9493..6aeb222 100644 --- a/static/debian.css +++ b/static/debian.css @@ -1,638 +1,862 @@ -/* 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: - -
-
-
- Leftcol is for menus - if omitted, maincol can be omitted, too -
-
- Maincol with margin left is for the content - But content may go directly to inner -
-
- -
-color logo #C60036 -cd-pages: bgcolor="#e09e86" - navbar -*/ +/* + http://www.debian.org Stylesheet -/* { border: 1px solid yellow; } */ -html, body { - color: #000000; - background-color: #FFFFFF; - margin: 0 4px 0 4px; - padding: 0; - text-align: left; - font-family: Arial, Helvetica, sans-serif; - /* min-width: 440px - commented out due to mozilla problems*/ -} -/* direction directive reverses the navbar, too */ -/* html[lang|=ar] { - direction: rtl !important; - text-align: right !important; -} */ + Copyright 2011 Kalle Söderman -img { border: 0; } + This stylesheet is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License, version 2, as published by + the Free Software Foundation. -h1 { text-align: center; } + This program is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. -acronym { - border-bottom: 1px dotted #000000; -} + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin + Street, Fifth Floor, Boston, MA 02110-1301 USA. -hr.hidecss { + The license text can also be found at http://www.gnu.org/copyleft/gpl.html and + /usr/share/common-licenses/GPL-2 on Debian GNU/Linux. +*/ + +/* + Font size table (Browser default 16px) + + pixels relative + -------------------- + 36px 2.25em + 31px 0.5161em + 24px 1.5em + 21px 1.3125em + 18px 1.125em + 16px 1em + 14px 0.875em + 12px 0.75em + 11px 0.6875em + 10px 0.625em + 9px 0.5625em + -------------------- +*/ + +/* Reset */ + +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, +blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, +font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, +dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, +tfoot, thead, tr, th, td { + margin: 0; + padding: 0; border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; +} + +body { line-height: 1; color: black; background: white; } +ol, ul { list-style: none; } +table { border-collapse: separate; border-spacing: 0; } +blockquote, q { quotes: "" ""; } +html { background-color: transparent; } +:focus { outline: 0; } +caption, th, td { text-align: left; font-weight: normal; } +blockquote:before, blockquote:after, q:before, q:after { content: ""; } + +/* Main */ + +body { + margin: 0; + font: normal 100% sans-serif; + line-height: 1.5; + color: #222; + background-color: white; + background-image:url('Pics/gradient.png'); + background-position: 0 0; + background-repeat: repeat-x; + /* Uncomment to show baseline grid + background-image: url('24grid.png'); + background-position: 30px 9px; + */ +} +#content { + margin: 0 10px 0 52px; } - -hr { - border-bottom: 0; - border-top: 1px solid #BFC3DC; +#inner { + position: relative; +} +#maincol { + margin: 0 15em 1.5em 0; } -samp { - display: block; - margin-left: 2em; +/* Header */ + +#header { + margin:0; + padding:0 10px 0 52px; } -div.sampleblock { - width: 80%; - margin: auto; - font-family:courier, serif; - font-size: 90%; +#header a:link +, #header a:visited +, #second-nav a:link +, #second-nav a:visited { + text-decoration: none; } -div.quoteblock { - width: 75%; - margin: auto; - font-size: 90%; - text-align: justify; +#header a:hover +, #second-nav a:hover { + text-decoration: underline; +} +#breadcrumbs { + margin:0; + font-size: 0.75em; + text-transform: lowercase; + line-height: 2; + background-color: transparent; + background-color: #f5f6f7; + border-bottom: 1px solid #d2d3d7 ; + min-height: 20px; +} +#breadcrumbs:before { + content: "/"; + margin-left: 0.5em; + margin-right: 0.5em; } - -.quoteblock div.preimg { +p.section { + margin: 0; + padding: 0 5px 0 5px; + font-family:monospace; + line-height: 16px; + color:white; + text-transform: uppercase; + letter-spacing: 0.08em; + position:absolute; + top: 0px; + left:52px; + background-color: #c70036; +} +p.section a { + color: white; + text-decoration: none; +} +p.section a:hover { + color:white; + text-decoration: underline; +} +#navbar { + background-color: transparent; + list-style:none; + display:block; + border-bottom:1px solid #c70036; + text-indent:0; + padding: 0; + margin-top:0; + margin-bottom:0; +} +#navbar ul { + margin: 0; + padding: 0; + clear: both; + overflow: hidden; + min-height: 45px; +} +#navbar li { + list-style: none; float: left; - margin-top: 0.2em; + padding: 0; + margin: 0; } -.quoteblock cite { +#navbar a:link +, #navbar a:visited { + padding: 1.75em 0.5em 0.25em 0.5em; + border-left: 1px solid transparent; + border-right: 1px solid transparent; display: block; - text-align: right; + text-decoration: none; } -blockquote.question { - font-style: italic; +#navbar a:visited { + color: #54638c; } -blockquote.question p span { - font-style: normal; - width: 10%; +#navbar a:hover +, #navbar a:visited:hover { + background-color: #f5f6f7; + border-left: 1px solid #d2d3d7; + border-right: 1px solid #d2d3d7; + text-decoration: underline; } -#pagewidth { - width: 100%; - text-align: left; +ul.subnav { + list-style: none; + margin-left: 0; + padding-left: 0; + margin-top: 0; } - -/* now the header*/ -#header { - margin-left: -3px; - width: 100%; - height: auto; +ul.subnav li { + display: inline; + margin-right: 1em; +} +#searchbox { + text-align:left; + line-height: 1; + margin: 0 10px 0 0.5em; + padding: 1px 0 1px 0; + position: absolute; + top:0; + right:0; + font-size: 0.75em; +} +#searchbox p { + margin: 0; + padding: 0; } - -/* upper nested header box*/ #upperheader { - width: 100%; - margin-top: 11px; - height: auto; - /* height: 4.8em; */ - background: #FFFFFF; + margin:0; + padding:0; } - #logo { - float: left; - margin-left: 6px; - background: #FFFFFF; -} - -#serverselect { - float: right; + position:absolute; + top:0; + left:0; + padding: 0; + background-color: transparent; + border: 1px solid transparent; + border-top: 0; + width: 50px; + height: 5.07em; + min-height: 65px; +} +#logo a { display: block; - padding-top: 1px; - margin-right: 6px; - margin-left: auto; - text-align: right; - top: 0; - right: 0; -} - -#serverselect:lang(de) { - width: 15em; + position: relative; + padding: 0; + height: 100%; + min-height: 65px; } -#serverselect:lang(en) { - width: 13em; +#logo img { + margin-top: 5px; + position: absolute; + bottom: 0.3em; + overflow: auto; } - -#serverselect p { - color: #990000; - font-size: 0.8em; - font-weight: normal; +#logo:hover { + border: 1px solid #d2d3d7 ; + border-top: 0; + background-color: #f5f6f7; } -#serverselect p select { - font-size: 88%; -} +/* Links */ -#serverselect p input { - font-size: 88%; +a:link { + color: #0035c7; + text-decoration: underline; } -.centerlogo { - margin-left: 260px; - margin-right: auto; - width: 125px; - text-align: center; - vertical-align: bottom; +a:visited { + color: #54638c; } -#cdlogo { +a:link:hover { + text-decoration: none; + color: #00207a; } - -#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; +a:visited:hover { + text-decoration: none; } -#navbar ul { - display: inline; - list-style-type: none; - padding-left: 0px; - line-height: 1.5em; +a:active { + color:#c2c3c7; } -#navbar ul li { - display: inline; - margin: 0; - white-space: nowrap; +a img { + border:0; } -#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; +a.rss_logo { + font-size: 0.75em; + float: right; + width: 35px; + line-height: 10px; + color: #ffffff; + background-color: #ff6600; font-weight: bold; - font-size: 0.9em; -} -#navbar a:hover { - background: #0000CC; -} -#navbar .hidecss, .hidecss { - display: none; + font-family: sans-serif; + text-align: center; + text-decoration: none; + padding: 0.25em; + margin-left: 0.25em; + border: 1px solid #ff6600; } -/* the rest of page out of two nested boxes around */ +a.rss_logo:hover { + background-color: white; + border: 1px solid #ff6600; + color: #ff6600; +} -#outer { - background-color: #FFFFFF; - width: auto; - /* border:solid white 2px; */ +a.rss_logo.generic { + background-color: #ff8800; } -#inner { - margin: -2px; - margin-top: 0; - width: 100%; - background: #FFFFFF; - /* overflow: auto; */ +a.rss_logo.generic:hover { + background-color: #ee7700; } -#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; */ + +/* Secondnav */ + +#second-nav { + width: 16em; + font-size: 0.75em; + line-height: 1.5; + float: right; + top: 0; + right: 0; + margin: 3em 0 0 0; + padding: 0 0 0 1em; + border-left: 1px solid #d2d3d7 ; } -#leftcol a:link, #leftcol a:visited { - display: block; +#second-nav ul { + padding:0; + margin:0; + list-style:none; } -#leftcol a:hover { - background-color: #DDEEFF; - /* background-color: #FFFFFF; */ +#second-nav ul ul { + margin-left: 1em; } -#leftcol ul { - margin: 2px; - padding: 0; - list-style-type: none; +#second-nav li { + font-weight: normal; + margin:0; + padding:0; +} +#second-nav p { + line-height: 2; font-weight: bold; + margin: 0; } -#leftcol ul.votemenu { - width: 11em; +#second-nav h2 { + margin:0; } -#leftcol ul.cdmenu { - width: 12em; + +/* Typography */ + +p { + margin: 1.5em 0 1.5em 0; } -#leftcol ul.votemenu ul li, #leftcol ul.cdmenu ul li { - padding-bottom: 0.4em; +strong { + font-weight: bold; } -#leftcol li ul { - display: inline; +em { + font-style: italic; + color: #444; } -#leftcol ul li { - padding: 0.2em 0; +small { + font-size: 0.75em; } -#leftcol ul ul { - font-size: 0.9em; - margin: 0; +sup { + font-size: 0.75em; + vertical-align:top; } -#leftcol ul li a { - line-height: 1.2em; - padding-right: 0.5em; - /* padding: 0.2em 0 0.3em 0em; */ +h1 +, h2 +, h3 +, h4 +, h5 +, h6 { + font-weight: 600; + color: black; } -#leftcol ul ul li a { +h1 { font-weight: normal; - padding: 0.1em 0.5em; - line-height: 1.1em; + font-size: 1.8em; + line-height: 0.83333; + margin: 0.83333em 0 0.83333em 0; } -#leftcol ul ul li { - padding-top: 0; +h2 { + font-size: 1.4em; + font-weight: normal; + line-height: 1.0714286; + margin: 1.0714286em 0 1.0714286em 0; } -#leftcol p { - margin-left: 2px; - margin-right: 2px; +h3 { + font-size: 1.125em; + line-height: 1.333em; + margin: 1.333em 0 0 0; } -#leftcol p a { - display: block; - margin: 0; +h4 { + font-weight: normal; + font-style: italic; + margin: 1.5em 0 1.5em 0; + color: #444; } -#leftcol p img { - margin-left: 1em; +h5 { + font-style: italic; + font-size: 0.75em; + margin: 2em 0 2em 0; } - -#maincol { - background: #FFFFFF; - margin-left: 12em; - margin-right: 0.5em; - margin-bottom: 1em; +ol,ul { + padding-left: 1.5em; + margin-left:0; + margin: 1.5em 0 1.5em 0; } - -#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; +ol>ol, ul>ul, li>ol, li>ul { + margin: 0; } -#lefthalfcol { - float: left; - margin-left: 0em; - width: 49%; +ol { + list-style-type: decimal; } - -#lefthalfcol dl { - margin-top: 0em; +ul { + list-style-type: disc; } - -#righthalfcol { - margin-left: 50%; - width: 50%; +th { + font-weight: bold; + margin: 1.5em 0 1.5em 0; } - -#righthalfcol dl { - margin-right: 0.2em; +hr { + border: none; + background-color: #bbb; + height: 1px; + margin: 1.4375em 0 1.5em 0; } - -#footer { - clear: both; - width: 100%; - padding-top: 3px; - bottom: 0; - text-align: center; - margin: 1em 0 0 0; - border-top: 1px solid #BFC3DC; +pre { + margin: 1.5em 0 1.5em 0; + overflow: auto; + font-family: monospace; + white-space: pre; + color: black; } - -#fineprint { - margin-top: 0.2em; - padding-top: 3px; - text-align: center; - font-size: 0.85em; +tt, code { + font-family: monospace; + white-space: pre; + color: black; } - -.bordertop { border-top: 1px solid #BFC3DC; } - -dl.gloss dt { +dt { + margin: 1.5em 0 0 0; font-weight: bold; } - -#footer ul { - display: inline; - list-style-type: none; +dd { + margin: 0 0 0 1.5em; } - -#footer ul li { - display: inline; +blockquote { + font-size: 0.75em; + margin: 2em; + line-height: 2; } - -#footer ul li a, table.y2k td { - white-space: nowrap; +cite { + font-style: italic; + color: #444; } - -#footer p { - margin: 0px; +acronym, abbr { + text-transform: uppercase; + font-size: 0.9em; } - -#main { - background: #bbddff; - padding: 1em 0; /* have some padding to get rid of collapsed margins */ +.toc { + font-size: 0.75em; + list-style:none; + background-image: url('Pics/greydot.png'); + background-position: bottom left; + background-repeat: repeat-x; + line-height:1.833; + padding: 0; + max-width: 62%; + margin: 2em 0 2em 0; +} +.toc li { + background-image: url('Pics/greydot.png'); + background-position: top left; + background-repeat: repeat-x; + padding: 0.0833em 0 0.0833em 0; + } +.toc a { + display:block; + text-decoration: none; +} +.toc a:hover { + display:block; + background-color: #f0f0f4; + text-decoration: underline; +} +.toc dt { + margin: 0; + background-image: url('Pics/greydot.png'); + background-position: top left; + background-repeat: repeat-x; + padding: 0.0833em 0 0.0833em 0; } -/* classes for cards */ +/* Sitemap */ -.cardleft { - margin: 0 0 1em; - float: left; - width: 49%; +.card { + clear:both; + margin:1.5em 0 1.5em 0; + background-position: 0 -50px; + background-repeat: repeat-x; + padding:0; } -.cardright { - margin-left: 50% - /*margin: 0 1% 2em 50%; */ +.card ul { } -.card { - clear: left; - margin: 0 0 1em; +.card ul li { + list-style:none; +} +.card h2 { +} +.lefthalf { + float:left; +} +.righthalf { + margin-left:50%; +} +.lefthalf ul { + margin-top:0; } -.cardleft h2, .cardright h2, .card h2 { - font-size: 120%; - background: #000000; - color: #FFD400; +/* Footer */ + +#footer { + font-size: 0.75em; + border: 1px solid #dfdfe0; + padding:1em; + background-color: #f5f6f7; + margin: 0 10px 0 52px; + line-height: 1.5em; + border-left: 0; + border-right: 0; +} +#content #footer { + margin-left: 0; +} +#footer p { + margin: 1em 0 1em 0; +} +#footer hr { + border-top: 1px solid #d2d3d7; + border-bottom: 1px solid white; + height: 0; +} +#footer .editbar li { display: inline; - padding: 0.2em 0.4em; - margin: 0 10px; - font-family: Arial, Helvetica, sans-serif; - letter-spacing: 0.2em; + margin-right: 2em; } - -.cardleft dl dd, .cardright dl dd , .card dl dd { - padding-bottom: 0.5em; +#footer .info { } - -.cardleft div, .cardright div, .card div { - border: 2px solid #000000; - background: #FFFFFF; - padding: 0.5em; - margin: 2px 10px; - /* the next two lines xpand the div to heigth of left inner div */ - overflow: auto; +#fineprint { + margin-bottom: 1em; } - -div.lefthalf { - float: left; - width: 49%; - border: 0; - margin: 0; +#footermap { + list-style:none; + margin: 0 0 0 0; padding: 0; -} - -div.righthalf { + width:100%; + overflow: hidden; border: 0; - margin: 0; - padding: 0; } -/* colors for packages, warnings and news in ports */ -.warning, dt.new, .no { - color: red; /* FF0000 */ +ul#footermap-cola a +, ul#footermap-colb a +, ul#footermap-colc a +, ul#footermap-cold a +, ul#footermap-cole a { + padding-left: 0; } - -.psmallcenter, .psmalltrademark { - clear: both; - font-size: 0.85em; - text-align: center; +ul#footermap-cola +, ul#footermap-colb +, ul#footermap-colc +, ul#footermap-cold +, ul#footermap-cole { + float:left; + width: 19%; + min-width: 11em; + height: 12em; /* Update when adding items */ + margin:0 1% 0 0; + padding: 2em 0 0 0; + list-style: none; +} +ul#footermap-cole { + width: 18.9%; + margin-right:0; +} +#footermap-wrap { + padding:2em; + border-top: 1px solid white; +} +#footermap a { + margin: 0; } - -.psmalltrademark { - color: green; +#footermap ul{ + list-style: none; + padding:0; } -table.ridgetable, table.reltable { - border-width: 4px; - border-color: gray; - margin: 0 1em 1em 1em; - border-style: ridge; - border-collapse: collapse; +#footermap li { + text-indent:0; + background-color: transparent; + font-weight:bold; } -table.vote { - margin: 0 auto; - border-width: 3px; - border-color: gray; - border-style: ridge; - border-collapse: collapse; +#footermap li ul { + margin: 0; + padding: 0; } -#pcontentsres col, #pcontentsres th, #pdownload th, #pdownload td, table.ridgetable th, table.ridgetable td, - table.reltable td, table.reltable th { - border: 2px #BFC3DC; - border-style: ridge; - padding: 0.1em; +#footermap li li { + margin:0; + text-indent:0; + padding:0; + font-weight:normal; + border:0; + background-image:none; + background-color:transparent; } -table.reltable th { - background-color: #44CCCC; +#serverselect { } -table.vote th { - border: 1px solid gray; - background-color: #DDDDDD; +#serverselect input +, #serverselect option +, #serverselect select { } -table.vote td { - border: 1px solid gray; - padding: 4px; +#serverselect ul { + display: inline; + margin-left: 2em; } -table.reltable tr.odd { - background-color: #FFFFFF; +#serverselect li { + list-style: none; + display: inline; + padding:0 1em 0 1em; + margin:0; } -table.reltable tr.even { - background-color: #DDDDDD; +#serverselect form p { + margin:0; + padding:0; + line-height: 1; } -table.stattrans { - margin: 0 auto; - width: 95%; - border: 1px solid black; - background-color: #cdc9c9; +.lcol50 { + float: left; + width: 49%; + font-size:0.75em; + margin:0 0 0 0; + padding:0 0.5em 0 0; } -table.stattrans th { - text-align: center; - padding: 2px; +.lcol50 h2 { + margin-top:0; } -table.stattrans td { - text-align: right; - padding: 2px; +.rcol50 { + margin:0 0 0 51%; + padding:0; + font-size:0.75em; } -table.stattrans tbody th { - text-align: left; - font-weight: normal; +form#pageLang { + display: inline; } -/* partners */ -.partnertype { - background-color: #DD0000; - padding: 0.2em 0 0.2em 1em; - color: #FFFFFF; +/* Extras */ +input:focus { + background-color:#FFFFCB; + } -div.partnerlogo { - display: table-cell; - vertical-align: middle; - text-align: center; - width: 30%; +.hidecss { + display: none; } -div.partnerdesc { - display: table-cell; - font-size: 85%; +.clear { + clear:both } -div.cdflash { - background-color: #E09E86; - width: 80%; - margin: auto; - text-align: center; +#clear { + clear:both; + border:0; + height:1px; + display:block; } -.cdrsync { - color: #6B1300; +.quicklist:before { + content: "Quick Links: "; + font-weight: bold; } -/* debian installer */ - -.dierror { - background-color: #FF6060; +.quicklist { + list-style: none; + font-size: 0.75em; + margin: 2em 0 2em 0; + padding:0; + text-indent:0; + line-height: 2em; } -.dibad { - background-color: #F7FF60; +.quicklist li { + display:inline; } -.digood { - background-color: #7AFF71; +.item p{ + margin: 0; } - -/* useful classes */ - -th.eventheader { - background-color: #BBDDFF; +.item h2 +, .item p +, .item ul{ + margin-right: 10px } -.center { - text-align: center; +.item h2 +, .item h3 +, .item h4 +, .item h5 { + margin-top: 0; +} +.line { + padding: 0; + width: auto; + overflow: hidden; + } +div.downloads { + border-top: 0.17em solid #339900; + margin: 1.33em 0 0 0; +} +.downloads ul.downlist { + margin:0; +} +div.downloads .col50 { + border-top: 0.15em solid #339900; +} +ul.downlist { + padding-left: 30px; + text-indent:0; + background: url('Pics/emblem-downloads.png') no-repeat 0 0.15em; + /* + * border-top: 0.17em solid #339900; + */ +} +ul.quicklist.downlist { + border-top: 0.17em solid #339900; + padding-top: 0.25em; + margin-top: 1.6em; +} +ul.downlist li { + display: inline; +} +ul.downlist li:after { + content: ', '; +} +ul.downlist li:last-child:after { + content: ''; +} +div.tip +, div.important +, div.warning +, div.note +, p.trans-note { + padding:0 2em 0 4em; + margin: 1.85em 0 1.85em 0; + background-repeat: no-repeat; + background-position: 0.5em 1em; + font-size: 0.75em; + line-height: 2em; + background-color:#FFFFCB; + border:0.15em solid #CCCCA3; } -.right { - text-align: right; +div.tip p +, div.important p +, div.warning p +, div.note p { + margin: 1em 0 1em 0; } -ul.circlelist { - list-style-type: circle; +div.tip +, p.trans-note { + background-image: url('Pics/admon-tip.png'); } -.centerdiv table { - margin-left: auto; - margin-right: auto; +div.important{ + background-image: url('Pics/admon-important.png'); } -ul.discless { - list-style-type: none; +div.warning { + background-image: url('Pics/admon-warning.png'); } -.top, img.ico { - vertical-align: top; +div.note { + background-image: url('Pics/admon-note.png'); } -img.ico { + +/* Layout Elements */ + +.col50 +, .cardleft +, .cardright { + width:47.5%; float: left; - margin: 0 0.2em 0 0; + padding-bottom: 1.5em; } -img.rightico { - float: right; - vertical-align: top; - margin: 0 0 0 0.2em; +.lastcol +, .cardright { + margin: auto; + width: 47.5%; + float:left; + padding-right: 0; + margin-left: 5%; } -img.cve { - vertical-align: -25px; +.lastcol h2 +, .lastcol p +, .lastcol ul { + margin-right:0; } -.y2kok, .yes { - color: #00BB00; +.cardleft h2 { + margin-right: 1em; } -.y2kok2 { - color: #00BBBB; +.cardright div { + margin-left: 1.5em; } -.bluehead { - color: #0000FF !important; +.cardright h2 { + margin-left: 1em; } -span.halfsize { - font-size: 80%; +.votemenu a { + display:block; } -span.ddpbooktitle, span.merchtitle { - font-size: larger; +table.vote td, table.vote th { + padding-right: 1.5em; } -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 */ +#maincol.with-toolbox { + margin-right: 14em; } - -/* language dependent stuff */ -/* quotes */ -html[lang="de"] q:before { - content: "\00BB"; +div.tabular table, table.tabular, table.vendors { +/* border-bottom: 1px solid #a9abb3; + border-top: 1px solid #a9abb3; */ + border-bottom: 0.15em solid #666; + border-top: 0.15em solid #666; + width: auto; + font-size: 0.75em; + line-height: 2em; + margin-bottom: 4em; + margin-top: -0.169em; } -html[lang="de"] q:after { - content: "\00AB"; +table td { + padding-right: 1.5em; } -html[lang="de"] q q:before { - content: "\203A"; +div.tabular table tr, table.tabular tr, table.vendors tr { + width: 100%; } -html[lang="de"] q q:after { - content: "\2039"; +table th { + padding-right: 1.5em; } -html[lang="pl"] q:before { content: "\201E"; } -html[lang="pl"] q:after { content: "\201D"; } -html[lang="pl"] q q:after { content: "\2019"; } -html[lang="pl"] q q:before { content: "\201A"; } - -html[lang="fr"] q:before { content: "\00AB\00A0"; } -html[lang="fr"] q:after { content: "\00A0\00BB"; } -html[lang="fr"] q q:before { content: "\2039\00A0"; } -html[lang="fr"] q q:after { content: "\00A0\203A"; } - -#leftcol:lang(ja) ul ul { - font-size: 0.95em; +div.tabular table td, table.tabular td, table.vendors td { + background-image: url(Pics/greydot.png); + background-position: top left; + background-repeat: repeat-x; } -html[lang|="zh"] strong { - /* color: #FFFFFF; */ - background-color: yellow; +div.tabular table > td:fist-child, table.tabular > td:fist-child, table.vendors > td:fist-child { + background-image: none; } -.underline { text-decoration: underline; } -.clr { clear:both; } -/*.content{padding:5px;} */ /*padding for content */ -/* #header .content{padding-bottom:0;} */ /*padding bottom 0 to remove space in IE5 Mac*/ - -/* for l10n-arabic */ -.bidi { - direction: rtl; - text-align: right; +#pageLang p, #pageLang form { + display: inline; } - -#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 */ +.inline a { + float: left; + margin-right: 1em; +} + +#langSelector { +/* color: #0035c7; + text-decoration: underline; */ +} +#langSelector:hover { +/* cursor: pointer; + text-decoration: none; */ +} +#langContainer { + padding-top: 0.5em; +/* #background-color: #f5f6f7; + background-color: white; + background-image:url('Pics/gradient-flipped.png'); + background-position: bottom; + background-repeat: repeat-x; + display: none; + position: absolute; + left: -1em; + border-bottom: 1px solid #dfdfe0; + margin-right: -1em; + min-width: 100%; */ /* make it reach the right edge if only a few + languages are available */ + } +#langContainer a { + margin-right: 1em; +} +#pageLang:hover #langContainer { + display: block; } diff --git a/static/debpkg.css b/static/debpkg.css new file mode 100644 index 0000000..aa484e5 --- /dev/null +++ b/static/debpkg.css @@ -0,0 +1,316 @@ +/* + http://www.debian.org Stylesheet + + Copyright 2011 Kalle Söderman + + This stylesheet is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License, version 2, as published by + the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin + Street, Fifth Floor, Boston, MA 02110-1301 USA. + + The license text can also be found at http://www.gnu.org/copyleft/gpl.html and + /usr/share/common-licenses/GPL-2 on Debian GNU/Linux. +*/ + +@import url("debian.css"); + +#footer { + padding-right: 10px; + margin-left: 52px; + clear: both; /* added because right sidebar overlaps footer */ +} +#pnavbar { + font-size: 0.75em; + background-color: transparent; + background-color: #f5f6f7; + margin:0; + padding: 6px 0.25em 7px 0.25em; + border-bottom: 1px solid #d2d3d7 ; + text-transform:lowercase; + line-height: 1; +} +#pmoreinfo { + width: 20em; + float:right; + padding:0 0 0 0.5em; + margin: 0 0 10px 0.5em; + border-left:1px solid #a9abb3; + font-size: 0.75em; + line-height: 1.5; +} +#pmoreinfo a { + text-decoration: none; +} +#pmoreinfo div.screenshot { + min-height: 120px; +} +#pmoreinfo a:hover { + text-decoration: underline; +} +#pmoreinfo ul { + list-style:none; + margin: 0; +} +#pmoreinfo ul ul { + margin:0; +} +#pmoreinfo li { + font-weight: normal; +} +#pmoreinfo p { +} +#pmoreinfo h2 { + font-size: 1em; + font-weight: bold; + line-height: 2; + margin:0; +} +#pmoreinfo h3 { + font-size: 1em; + font-weight: normal; + line-height: 2; + margin:0; +} +#packagesearch #breadcrumbs { + margin-bottom: 0; +} + +#hpacketsearch form { + margin:0; padding:0; +} +#hpacketsearch { + background: transparent; + display:block; + padding: 1px 3px 1px 0; + text-align: right; +} +.perror +, #psearchtoomanyhits { + padding:0 2em 0 4em; + margin: 1.85em 0 1.85em 0; + background-repeat: no-repeat; + background-position: 0.5em 1em; + font-size: 0.75em; + line-height: 2em; + background-color:#FFFFCB; + border:0.15em solid #CCCCA3; +} +#psearchtoomanyhits { + background-image: url('Pics/admon-note.png'); +} +.perror p { + margin-bottom: 0; +} +div.warning { + background-image: url('Pics/admon-warning.png'); +} +#psearchres h2 { + background-image: url('Pics/reddot.png'); + background-repeat: repeat-x; + background-position: top left; + padding: 0.5em 0 0 0; + margin: 0.5em 0 1em 0; +} +#psearchres +, #pcontentsres { + padding-top: 0; +} +#pcontentsres tr { + text-align: left; +} +#pcontentsres td { + padding-right: 1.5em; +} +#pcontentsres { + margin-bottom: 1.5em; + } +#psearchres ul{ + margin-top:0; +} +#psearchres ul li{ +} +.file { + font-family: monospace; +} +div#pothers { + margin-top:0.25em; + float: right; +} +#pothers a, #pothers strong { +} +#psearchsug { + font-size: 0.75em; + margin: 0; + line-height: 2; + background-image: url('Pics/reddot.png'); + background-repeat: repeat-x; + background-position: bottom left; +} +#psearchsug p { + margin: 0; +} +#psearchsug ul { + margin: 1em 0 1em 0; + } + +/* Package sidebar */ +#ptablist { +} + +/* Package dependencies */ + +#pdeplegend { + font-weight:bold; + padding: 0 0.5em 0 0; + border:1px solid #a9abb3; +} +#pdeplegend img { + margin-left: 1em; +} +#pdeplegend tr,#pdeplegend ul,#pdeplegend li { + margin:0; padding:0; +} +#pdeplegend td { + padding-left: 1.5em; + padding-right: 1em; +} +#pdeps dd { + margin:0; + padding:0; +} +#pdeps dt { +} + +#pdeplegend ul.uldep +, #pdeplegend ul.uladep +, #pdeplegend ul.ulrec +, #pdeplegend ul.ulidep +, #pdeplegend ul.ulsug { + margin-left: 0.5em; + list-style-position: inside; +} + +#pdeps ul.uldep, #pdeps ul.uladep { + list-style-type: disc; + list-style-image: url(Pics/dep.png); +} +#pdeps ul.ulrec, #pdeps ul.ulidep { + list-style-type: square; + list-style-image: url(Pics/rec.png); +} +#pdeps ul.ulsug { + list-style-type: circle; + list-style-image: url(Pics/sug.png); +} +#pdownload { + text-align: left; + margin-right: 18em; +} +#pdownload table { + text-align:left; + margin-bottom: 2em; + border-bottom: 1px solid #a9abb3; + border-top: 1px solid #a9abb3; + width: 100%; + font-size: 0.75em; +} +#pdeplegend td li { + padding-left:0; +} +#pdeplegend td + ,#pdeplegend tr + ,#pdeplegend table + ,#pdeplegend ul + ,#pdeplegend li + ,#pdeplegend tbody { + margin:0; + padding:0; +} +.pkgreport #pdeplegend td li { + margin:0.25em 0 0 2em; +} +#ptags { + font-size: 0.75em; + margin: 0 22em 0 2em; + line-height: 2; +} +.card { + clear:both; + margin:2em 0 2em 0; + background-position: 0 -50px; + background-repeat: repeat-x; + padding:8px 0 8px 0; +} +.card ul { + margin:0.5em 0 1em 0; +} +.card ul li { + list-style:none; +} +.card h2 { + margin:0; +} +#lefthalfcol { + float:left; + width: 50%; + padding-right: 1em; + margin:0; +} +#righthalfcol { + margin:0; + margin-left:50%; + padding-left: 1em; +} +#lefthalfcol dl +, #righthalfcol dl { + margin-top: 0; +} +#lefthalfcol dd +, #righthalfcol dd { + margin-bottom: 1em; +} +.lefthalf ul { + margin-top:0; +} +strong.pmarker { + padding: 0 0.25em 0 0.25em; +} +span.keyword { + color: #444; + font-weight: bold; + letter-spacing: 0.05em; +} +h1 strong.pmarker { + font-weight: normal; +} +.psearch-other-hits { + margin-top: 1em; +} +table { + border-bottom: 1px solid #a9abb3; + border-top: 1px solid #a9abb3; + } + +td { + background-image: url(Pics/greydot.png); + background-position: top left; + background-repeat: repeat-x; +} +th { +} +.vcurrent { + background-color: #bfb; +} +.volder { + background-color: #ffb; +} +.vold { + background-color: #fbb; +} diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..8f4e75c Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/packages-site.css b/static/packages-site.css index dc09e55..a089e4e 100644 --- a/static/packages-site.css +++ b/static/packages-site.css @@ -1,4 +1,17 @@ -.sarge-volatile, .sarge-backports, .etch-m68k, .etch-backports, -.lenny-volatile, .lenny-backports .squeeze-backports { +.lenny-volatile, .lenny-backports, .lenny-backports-sloppy, +.squeeze-updates, .squeeze-backports { font-size: smaller; } + +table#sponsorslist { + text-align: center; + border: 1px solid black; + padding: 1em; + border-collapse: collapse; + empty-cells: show; +} + +#sponsorslist th, #sponsorslist td { + border: 1px solid black; + padding: .5em; +} diff --git a/templates/config.tmpl b/templates/config.tmpl index 4d24e05..ae5773e 100644 --- a/templates/config.tmpl +++ b/templates/config.tmpl @@ -6,7 +6,7 @@ organisation = 'Debian' project_homepage = 'http://www.debian.org/' packages_homepage = '/' - packages_homepage_abs = 'http://packages.debian.net/' + packages_homepage_abs = 'http://packages.debian.org/' old_releases = 'http://archive.debian.net/' searchformurl = packages_homepage search_url = '/search' @@ -19,7 +19,7 @@ security_mirror = 'security.debian.org' security_mirror_url = security_mirror _ '/debian-security' security_suite_suffix = '/updates' - changelogs_url = 'http://packages.debian.org/changelogs/' + changelogs_url = '/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' @@ -27,7 +27,7 @@ screenshots_thumb_url = 'http://screenshots.debian.net/thumbnail-with-version/' logo = { url => project_homepage, - src => '/Pics/openlogo-nd-25.png', + src => '/Pics/openlogo-50.png', alt => organisation, } copyright = { @@ -54,19 +54,28 @@ trademarknotes = g('%s is a trademark of %s', organisation, trademark.url, trademark.name) sponsors = [ { - url => 'http://example.invalid/', - name => 'Example Sponsor, Inc.', + url => 'http://1und1.de/', + name => '1&1 Internet AG', }, { - url => 'http://example2.invalid/', - name => 'Example2 Sponsor, Inc.', + url => 'http://www.hp.com/', + name => 'Hewlett-Packard', + }, + { + url => 'http://cs.helsinki.fi/index.en.html', + name => 'University of Helsinki - Department of Computer Science', + }, + { + url => 'http://www.csail.mit.edu/', + name => 'MIT Computer Science & Artificial Intelligence Lab', }, ] -%] [%- # possible values for importance: high, normal, low - sitewidemsg = { importance => "high", - txt => g('Please note that this is an experimental version of %s. 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 %s. Errors and obsolete information should be expected', 'packages.debian.org', 'packages.debian.org') } +# txt => "Site maintainance in progress, some temporary problems might occour." } -%] [%# @translators: . = decimal_point , = thousands_sep, see Number::Format %] [%- USE num = Number.Format( decimal_point => g('.'), diff --git a/templates/config/archive_layout.tmpl b/templates/config/archive_layout.tmpl index c563e6e..0cad75b 100644 --- a/templates/config/archive_layout.tmpl +++ b/templates/config/archive_layout.tmpl @@ -4,9 +4,9 @@ standard_priority = 'optional' suite_aliases = { - etch => 'oldstable', - lenny => 'stable', - squeeze => 'testing', + lenny => 'oldstable', + squeeze => 'stable', + wheezy => 'testing', sid => 'unstable', } diff --git a/templates/config/mirrors.tmpl b/templates/config/mirrors.tmpl index 3969496..79ee6f4 100644 --- a/templates/config/mirrors.tmpl +++ b/templates/config/mirrors.tmpl @@ -134,7 +134,7 @@ mirrors = { 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', + mirror_list => 'http://backports.debian.org/Mirrors/', europa => [ "backports.debian.org/debian-backports", "ftp.at.debian.org/debian-backports/", diff --git a/templates/html/foot.tmpl b/templates/html/foot.tmpl index 7944c67..c333989 100644 --- a/templates/html/foot.tmpl +++ b/templates/html/foot.tmpl @@ -8,8 +8,10 @@ Total page evaluation took [% benchmark %]
[% IF langs && langs.size > 0 %]
+
+

[% g('This page is also available in the following languages (How to set the default document language):', cn_help_url) %]

- +
+
[% END %] @@ -43,6 +47,5 @@ Total page evaluation took [% benchmark %]
[% END %] - diff --git a/templates/html/head.tmpl b/templates/html/head.tmpl index f8d520b..fadca95 100644 --- a/templates/html/head.tmpl +++ b/templates/html/head.tmpl @@ -9,29 +9,42 @@ [% html_meta %] - - - + [% IF rss_alternate %] [% END %] -[%- IF sitewidemsg -%] -
-[%- IF sitewidemsg.title -%]

[% sitewidemsg.title %]

[% END %] -[% sitewidemsg.txt %] -
-[%- END -%] +
[%- IF print_search_field %] [% checked = 'checked="checked"' @@ -57,21 +70,13 @@
[% END %] +[%- IF sitewidemsg -%] +
+[%- IF sitewidemsg.title -%]

[% sitewidemsg.title %]

[% END %] +[% sitewidemsg.txt %] +
+[%- END -%] - - -

[% g('skip the navigation') %]

-
- >> [% organisation %] - >> [% g('Packages') %] -[% FOREACH n IN navigation %] - >> [% IF n.url %][% n.name %][% ELSE %][% n.name %][% END %] -[% END %] -
- - -
-
[%- IF page_title %]

[% page_title %]

diff --git a/templates/html/homepage.tmpl b/templates/html/homepage.tmpl index bdb8f3c..8ef6fae 100644 --- a/templates/html/homepage.tmpl +++ b/templates/html/homepage.tmpl @@ -4,12 +4,12 @@ keywords = g('Packages') -%] [%- - all_suites = [ 'etch', 'etch-m68k', 'etch-volatile', 'etch-backports', - 'lenny', 'lenny-volatile', 'lenny-backports', 'squeeze', 'squeeze-backports', 'sid' ] + all_suites = [ 'lenny', 'lenny-volatile', 'lenny-backports', 'lenny-backports-sloppy', 'squeeze', 'squeeze-updates', 'squeeze-backports', 'wheezy', 'sid' ] version_numbers = { sarge => '3.1', etch => '4.0', - lenny => '5.0' } - current_release = 'lenny' + lenny => '5.0', + squeeze => '6.0' } + current_release = 'squeeze' all_sections = [ 'main', 'contrib', 'non-free' ] all_architectures = [ 'alpha', 'arm', 'armel', 'amd64', 'avr32', 'hppa', 'i386', 'ia64', 'kfreebsd-amd64', 'kfreebsd-i386', 'mips', @@ -41,6 +41,7 @@

[% g('Search package directories') %]

+

@@ -70,6 +71,7 @@ Distribution: [% END %] +

[% g('There are shortcuts for some searches available:') %]

    @@ -83,6 +85,7 @@ Distribution:

    [% 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) %]

    +

    @@ -116,6 +119,7 @@ Distribution: [% END %] +

    -[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2009' %] +[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2010' %] diff --git a/templates/html/search.tmpl b/templates/html/search.tmpl index 683d8bc..317d424 100644 --- a/templates/html/search.tmpl +++ b/templates/html/search.tmpl @@ -38,7 +38,7 @@ [% END %] [% END %] -

    [% g('Search in specific suite:') %] +

    [% g('Limit to suite:') %] [% FOREACH s IN all_suites %] [% IF s != suite_str %] [[% s %]] @@ -51,7 +51,7 @@ make_search_url('',"keywords=$keyword_esc",'suite','all')) %] [% END %] -

    [% g('Limit search to a specific architecture:') %] +

    [% g('Limit to a architecture:') %] [% FOREACH a IN all_architectures %] [% IF a != arch_str %] [[% a %]] @@ -70,7 +70,6 @@

    [% g('Some results have not been displayed due to the search parameters.', "$search_url?keywords=$keyword_esc") %]

    [% END %] -
[%- PROCESS 'html/messages.tmpl' -%] @@ -97,15 +96,19 @@ [% IF too_many_hits %] [% IF opts.searchon != "names" %] -

[% g("Note that this only shows the best matches, sorted by relevance. If the first few packages don't match what you searched for, try using more keywords or alternative keywords.") %]

+
+

[% g("Note that this only shows the best matches, sorted by relevance. If the first few packages don't match what you searched for, try using more keywords or alternative keywords.") %]

+
[% ELSE %] -

+

+

[%- IF results %] [% g("Your keyword was too generic, for optimizing reasons some results might have been suppressed.
Please consider using a longer keyword or more keywords.") %] [%- ELSE -%] [% g("Your keyword was too generic.
Please consider using a longer keyword or more keywords.") %] [% END -%]

+
[% END; END %] [% UNLESS results || too_many_hits %] diff --git a/templates/html/search_contents.tmpl b/templates/html/search_contents.tmpl index 3388fe3..a5ed01c 100644 --- a/templates/html/search_contents.tmpl +++ b/templates/html/search_contents.tmpl @@ -55,7 +55,7 @@ [% END %] [% UNLESS search_architectures.size == 1 || all_architectures.size == 1 %] -

[% g('Limit search to a specific architecture:') %] +

[% g('Limit to a architecture:') %] [% FOREACH a IN all_architectures %] [[% a %]][% END %] [% END %] @@ -85,7 +85,9 @@ [% g('Found %u results.', results.size) %] [% IF too_many_hits %] -

[% g('Note: Your search was too wide so we will only display only the first about 100 matches. Please consider using a longer keyword or more keywords.') %]

+
+

[% g('Note: Your search was too wide so we will only display only the first about 100 matches. Please consider using a longer keyword or more keywords.') %]

+
[% END %] diff --git a/templates/html/show.tmpl b/templates/html/show.tmpl index ebbba77..c380d9f 100644 --- a/templates/html/show.tmpl +++ b/templates/html/show.tmpl @@ -64,7 +64,9 @@

[% g('Links for %s', pkg) %]

[% IF screenshots_url && screenshots_thumb_url && !is_source %] +
Screenshot +
[% END %]

[% g('%s Resources:', organisation) %]

    @@ -110,7 +112,7 @@
[% IF src %] -

[% g('Download Source Package %s:', src.url, src.pkg) %] +

[% g('Download Source Package %s:', src.url, src.pkg) %]

[% FOREACH src.downloads %] [% '