From: Gerfried Fuchs Date: Tue, 9 Nov 2010 19:45:44 +0000 (+0100) Subject: Merge branch 'master' into debian-master-kalle X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=3e0828da18fdb11d309da96882752fc072ae8542;hp=3d5a72874e7898645841a33b357af6ec2eff226b;p=deb%2Fpackages.git Merge branch 'master' into debian-master-kalle --- 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.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..479cbcc 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,16 @@ 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-backports 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_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc" 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}" # Miscellaneous # -admin_email="djpig@debian.org" +admin_email="webmaster@debian.org" diff --git a/cron.d/100syncarchive_backports b/cron.d/100syncarchive_backports index 9acc155..72b56b9 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//-/_} 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_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/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/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.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..f4e75fc 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/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..6355549 100644 --- a/static/debian.css +++ b/static/debian.css @@ -1,638 +1,673 @@ -/* 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 -*/ - -/* { 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*/ +/* + * www.debian.org stylesheet proposal + * + * Kalle Soderman, 2008 debian.css + * + * Copyleft : This work is free, you can copy, spread, and modify it under + * the terms of the Free Art License http://artlibre.org/licence/lal/en/ + * + * + * Font size table + * --------------- + * Browser default 16px + * + * 14px 87.5% body + * 24px 1.714em + * 18px 1.286em + * 16px 1.143em + * 12px 0.857em + * 11px 0.786em + * 8px 0.57em + */ + +html { + background-color: transparent; +} + +body { + margin: 0; + font: normal 87.5% sans-serif; + line-height: 1.6; + color: black; + background-color: white; } -/* direction directive reverses the navbar, too */ -/* html[lang|=ar] { - direction: rtl !important; - text-align: right !important; -} */ -img { border: 0; } +#outer { + margin: 0 10px 0 62px; +} -h1 { text-align: center; } +/* + * Header + */ -acronym { - border-bottom: 1px dotted #000000; +#header { + margin:0; + padding:0 10px 0 62px; + font-size: 1em; + background-image:url('Pics/gradient.png'); + background-position: 0 0; + background-repeat: repeat-x; } -hr.hidecss { - border: 0; +#header a:link +, #second-nav a:link { + text-decoration: none; } -hr { - border-bottom: 0; - border-top: 1px solid #BFC3DC; +#header a:hover +, #second-nav a:hover { + text-decoration: underline; } -samp { - display: block; - margin-left: 2em; +#breadcrumbs { + font-size: 0.786em; + 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; } -div.sampleblock { - width: 80%; - margin: auto; - font-family:courier, serif; - font-size: 90%; + +p.section { + font-family:monospace; + position:absolute; + top: 0px; + left:62px; + text-transform: uppercase; + letter-spacing: 0.08em; + background-color: #c70036; + line-height: 16px; + color:white; + padding: 0 5px 0 5px; + margin:0; + font-size: 1em; } -div.quoteblock { - width: 75%; - margin: auto; - font-size: 90%; - text-align: justify; + +#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; + line-height:1; +} + +#navbar ul { + margin:0 ; + padding:0 ; + height: 54px; + clear: both; + overflow: hidden; } -.quoteblock div.preimg { +#navbar li { + list-style: none; float: left; - margin-top: 0.2em; + padding: 0; + margin: 0; + font-size: 1em; } -.quoteblock cite { + +#navbar a:link +, #navbar a:visited { + padding: 30px 1em 10px 1em; + border-left: 1px solid transparent; + border-right: 1px solid transparent; display: block; - text-align: right; } -blockquote.question { - font-style: italic; -} -blockquote.question p span { - font-style: normal; - width: 10%; + +#navbar a:visited { + color: #54638c; } -#pagewidth { - width: 100%; - text-align: left; + +#navbar a:hover +, #navbar a:visited:hover { + background-color: #efefef; + border-left: 1px solid #d2d3d7; + border-right: 1px solid #d2d3d7; } -/* now the header*/ -#header { - margin-left: -3px; - width: 100%; - height: auto; +#sitetools { + text-align:left; + margin: 0 10px 0 0; + padding: 0px 0 1px 0; + position: absolute; + top:0; + right:0; + border-right: 1px solid white; + border-left: 1px solid #d2d3d7; + line-height: 1; } -/* 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; + position:absolute; + top:0; + left:0; + padding: 0; + background-color: transparent; + border: 1px solid transparent; + border-top: 0; } -#serverselect { - float: right; +#logo a { display: block; - padding-top: 1px; - margin-right: 6px; - margin-left: auto; - text-align: right; - top: 0; - right: 0; + height:71px; + padding: 8px 5px 0 5px; } -#serverselect:lang(de) { - width: 15em; -} -#serverselect:lang(en) { - width: 13em; +#logo img { + margin-top: 5px; } -#serverselect p { - color: #990000; - font-size: 0.8em; - font-weight: normal; +#logo:hover { + border: 1px solid #d2d3d7 ; + border-top: 0; + background-color: #eee; } -#serverselect p select { - font-size: 88%; -} +/* + * Links + */ -#serverselect p input { - font-size: 88%; -} -.centerlogo { - margin-left: 260px; - margin-right: auto; - width: 125px; - text-align: center; - vertical-align: bottom; -} -#cdlogo { +a:link { + color: #0035c7; + text-decoration: underline; } -#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; +a:visited { + color: #54638c; } -#navbar ul li { - display: inline; - margin: 0; - white-space: nowrap; -} -#navbar a { - color: #FFFFFF; + +a:hover { 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; + color: #00207a; } -#navbar a:hover { - background: #0000CC; + +a:active { + color:#c2c3c7; } -#navbar .hidecss, .hidecss { - display: none; + +a img { + border:0; } -/* the rest of page out of two nested boxes around */ +/* + * Leftcol (Should be renamed secondnav) + */ -#outer { - background-color: #FFFFFF; - width: auto; - /* border:solid white 2px; */ +#second-nav { + width: 16em; + float:right; + padding:0 0 0 1em; + margin: 1em 0 10px 1em; + border-left:1px solid #d3d6df; + font-size: 0.786em; + line-height: 1.5; } -#inner { - margin: -2px; - margin-top: 0; - width: 100%; - background: #FFFFFF; - /* overflow: auto; */ +#second-nav ul { + padding:0; + margin:0; + list-style:none; } -#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; +#second-nav ul ul { + margin-left: 1em; } -#leftcol a:hover { - background-color: #DDEEFF; - /* background-color: #FFFFFF; */ + +#second-nav li { + font-weight: normal; + margin-top:0.5em; } -#leftcol ul { - margin: 2px; - padding: 0; - list-style-type: none; + +#second-nav p { + line-height: 1; 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; + +#second-nav h2 { + margin:0; } -#leftcol ul li { - padding: 0.2em 0; + + +/* + * Typography + */ + +p { + margin: 0 0 1em 0; } -#leftcol ul ul { - font-size: 0.9em; - margin: 0; + +h1 +, h2 +, h3 +, h4 { + font-weight: 600; + margin-bottom: 0.5em; + margin-top: 1em; } -#leftcol ul li a { - line-height: 1.2em; - padding-right: 0.5em; - /* padding: 0.2em 0 0.3em 0em; */ + +h1 { + line-height: 1em; } -#leftcol ul ul li a { + +h4 { + font-size: 1em; 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; + font-style: italic; } -#leftcol p a { - display: block; - margin: 0; + +h3 { + font-size: 1em; } -#leftcol p img { - margin-left: 1em; + +h2 { + font-size: 1.143em; } -#maincol { - background: #FFFFFF; - margin-left: 12em; - margin-right: 0.5em; - margin-bottom: 1em; +ol,ul { + padding-left: 2em; + margin-left: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; +hr { + border: none; + background-color: #bbb; + height: 1px; } -#lefthalfcol { - float: left; - margin-left: 0em; - width: 49%; +.hidecss { + display: none; } -#lefthalfcol dl { - margin-top: 0em; +pre { + overflow: auto; } -#righthalfcol { - margin-left: 50%; - width: 50%; +dd { + margin-left: 2em; + margin-bottom: 1em; } -#righthalfcol dl { - margin-right: 0.2em; +.toc { + font-size: 0.8em; + list-style:none; + margin: 1em 0 1em 0; + background-image: url('Pics/greydot.png'); + background-position: bottom left; + background-repeat: repeat-x; + line-height:1.5; + padding: 0; + max-width: 67%; } -#footer { - clear: both; - width: 100%; - padding-top: 3px; - bottom: 0; - text-align: center; - margin: 1em 0 0 0; - border-top: 1px solid #BFC3DC; +.toc li { + background-image: url('Pics/greydot.png'); + background-position: top left; + background-repeat: repeat-x; + padding: 0.25em 0 0.25em 0; + } + +.toc a { + display:block; } -#fineprint { - margin-top: 0.2em; - padding-top: 3px; - text-align: center; - font-size: 0.85em; +.toc a:hover { + display:block; + background-color: #f0f0f4; } -.bordertop { border-top: 1px solid #BFC3DC; } +/* + * Sitemap + */ -dl.gloss dt { - font-weight: bold; +.card { + clear:both; + margin:2em 0 2em 0; + background-position: 0 -50px; + background-repeat: repeat-x; + padding:8px 0 8px 0; } -#footer ul { - display: inline; - list-style-type: none; +.card ul { + margin:0.5em 0 1em 0; } -#footer ul li { - display: inline; +.card ul li { + list-style:none; } -#footer ul li a, table.y2k td { - white-space: nowrap; +.card h2 { + margin:0; } -#footer p { - margin: 0px; +.lefthalf { + float:left; } -#main { - background: #bbddff; - padding: 1em 0; /* have some padding to get rid of collapsed margins */ +.righthalf { + margin-left:50%; } -/* classes for cards */ - -.cardleft { - margin: 0 0 1em; - float: left; - width: 49%; +.lefthalf ul { + margin-top:0; } -.cardright { - margin-left: 50% - /*margin: 0 1% 2em 50%; */ + +/* + * Footer + */ + +#footer { + font-size: 0.786em; + border: 1px solid #dfdfe0; + border-bottom: 0; + padding:1em; + background-color: #f2f3f6; + margin: 0 0 0 0; } -.card { - clear: left; - margin: 0 0 1em; + +#footer hr { + border-top: 1px solid #d2d3d7; + border-bottom: 1px solid white; + height: 0; } -.cardleft h2, .cardright h2, .card h2 { - font-size: 120%; - background: #000000; - color: #FFD400; +#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 { + font-size: 1em; } -.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%; + font-size: 11px; + overflow: hidden; + line-height: 1.6; 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; -} - -.psmalltrademark { - color: green; -} -table.ridgetable, table.reltable { - border-width: 4px; - border-color: gray; - margin: 0 1em 1em 1em; - 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; - border-style: ridge; - padding: 0.1em; -} -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; +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: 10px 0 0 0; + list-style: none; } -/* partners */ -.partnertype { - background-color: #DD0000; - padding: 0.2em 0 0.2em 1em; - color: #FFFFFF; +ul#footermap-cole { + width: 18.9%; + margin-right:0; +} +#footermap-wrap { + padding:1em; + border-top: 1px solid white; } -div.partnerlogo { - display: table-cell; - vertical-align: middle; - text-align: center; - width: 30%; + +#footermap a { + margin: 0; } -div.partnerdesc { - display: table-cell; - font-size: 85%; + +#footermap ul{ + list-style: none; + padding:0; } -div.cdflash { - background-color: #E09E86; - width: 80%; - margin: auto; - text-align: center; + +#footermap li { + text-indent:0; + background-color: transparent; + font-weight:bold; + margin-top: 0.5em; } -.cdrsync { - color: #6B1300; + +#footermap li ul { + margin: 0; + padding: 0: } -/* debian installer */ -.dierror { - background-color: #FF6060; +#footermap li li { + margin:0; + text-indent:0; + padding:0; + font-weight:normal; + line-height: 1.5; + border:0; + background-image:none; + background-color:transparent; } -.dibad { - background-color: #F7FF60; + +#sitetools form { + margin:0; + padding:0; } -.digood { - background-color: #7AFF71; + +#sitetools input { + margin: 0 0 0 0.25em; + padding-left: 4px; + font-size: 0.786em; + padding-right: 4px; } -/* useful classes */ +#sitetools select { + font-size: 0.786em; + margin-left: 0.5em; +} -th.eventheader { - background-color: #BBDDFF; +#sitetools form p { + display: inline; + line-height: 1; + margin:0; + padding:0; + font-size: 0.786em; } -.center { - text-align: center; + +.sitetool a { + margin: 0.5em 0 0.5em 1em; + padding: 0 0 0 0; + float: left; } -.right { - text-align: right; + +.sitetool { + margin:0; + padding: 2px 5px 2px 5px; + border-left: 1px solid white; + border-right: 1px solid #d2d3d7; + display:block; + float:left; } -ul.circlelist { - list-style-type: circle; + +#serverselect input +, #serverselect option +, #serverselect select { + font-size: 11px; } -.centerdiv table { - margin-left: auto; - margin-right: auto; + +#serverselect ul { + display: inline; + margin-left: 2em; } -ul.discless { - list-style-type: none; + +#serverselect li { + list-style: none; + display: inline; + padding:0 1em 0 1em; + margin:0; } -.top, img.ico { - vertical-align: top; + +#serverselect form p { + margin:0; + padding:0; + line-height: 1; } -img.ico { + + + +.lcol50 { float: left; - margin: 0 0.2em 0 0; + width: 49%; + font-size:0.8em; + margin:0 0 0 0; + padding:0 0.5em 0 0; } -img.rightico { - float: right; - vertical-align: top; - margin: 0 0 0 0.2em; + +.lcol50 h2 { + margin-top:0; } -img.cve { - vertical-align: -25px; + +.rcol50 { + margin:0 0 0 51%; + padding:0; + font-size:0.8em; } -.y2kok, .yes { - color: #00BB00; + +/* + * Extras + */ + +.clear { + clear:both } -.y2kok2 { - color: #00BBBB; + +#clear { + clear:both; + border:0; + height:1px; + display:block; + } + +.quicklist:before { + content: "Quick Links: "; + font-weight: bold; } -.bluehead { - color: #0000FF !important; + +.quicklist { + list-style: none; + font-size: 0.8em; + margin:0; + padding:0; + text-indent:0; } -span.halfsize { - font-size: 80%; + +.quicklist li { + display:inline; } -span.ddpbooktitle, span.merchtitle { - font-size: larger; + +.item p{ + margin: 0; } -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 */ +.item h2 +, .item p +, .item ul{ + margin-right: 10px } -/* language dependent stuff */ -/* quotes */ -html[lang="de"] q:before { - content: "\00BB"; +.col50 { + width:50%; + float: left; } -html[lang="de"] q:after { - content: "\00AB"; + +.lastcol { + margin: auto; + width: 50%; + float:left; } -html[lang="de"] q q:before { - content: "\203A"; + +.lastcol h2 +, .lastcol p +, .lastcol ul { + margin-left: 10px; + margin-right:0; } -html[lang="de"] q q:after { - content: "\2039"; + +.line { + clear: both; + display: block; + margin: 0 0 2em 0; + padding: 0; + width: auto; + overflow: hidden; } -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"; } +.cardleft { + width:50%; + float: left; +} -#leftcol:lang(ja) ul ul { - font-size: 0.95em; +.cardright { + margin: auto; + width: 50%; + float:left; +} + +.cardleft div +, .cardleft h2 { + margin-right: 0.5em; } -html[lang|="zh"] strong { - /* color: #FFFFFF; */ - background-color: yellow; + +.cardright div +, .cardight h2 { + margin-left: 0.5em; } -.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; +ul.votemenu { + font-size: 0.8em; + list-style:none; + margin: 1em 0 1em 0; + background-image: url('Pics/greydot.png'); + background-position: bottom left; + background-repeat: repeat-x; + line-height:1.5; + padding: 0; + max-width: 67%; +} + +.votemenu li { + background-image: url('Pics/greydot.png'); + background-position: top left; + background-repeat: repeat-x; + padding: 0.25em 0 0.25em 0; + } + +.votemenu a { + display:block; } -#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 */ +.votemenu a:hover { + display:block; + background-color: #f0f0f4; } diff --git a/static/debpkg.css b/static/debpkg.css new file mode 100644 index 0000000..c3aa031 --- /dev/null +++ b/static/debpkg.css @@ -0,0 +1,267 @@ +/* + * packages.debian.org stylesheet proposal + * + * Kalle Soderman, 2009 debpkg.css + * + * Copyleft : This work is free, you can copy, spread, and modify it under + * the terms of the Free Art License http://artlibre.org/licence/lal/en/ + * + * + * Font size table + * --------------- + * Browser default 16px + * + * 14px 87.5% body + * 24px 1.714em + * 18px 1.286em + * 16px 1.143em + * 12px 0.857em + * 11px 0.786em + * 8px 0.57em + */ + +@import url("debian.css"); + +#header { + background-image:url('./Pics/gradient.png'); +} + +#footer { + margin-left: 0; + margin-right: 0; +} + +#pnavbar { + font-size: 0.786em; + 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 1em; + margin: 1em 0 10px 1em; + border-left:1px solid #d3d6df; + font-size: 0.786em; + line-height: 1.5; +} + +#pmoreinfo ul { + padding:0; + margin:0; + list-style:none; +} + +#pmoreinfo ul ul { + margin-left: 1em; +} + +#pmoreinfo li { + font-weight: normal; + margin-top:0.5em; +} + +#pmoreinfo p { + line-height: 1; + font-weight: bold; +} + +#pmoreinfo h2 { + margin:0; +} + + +#packagesearch #breadcrumbs { + margin-bottom: 0; +} + +#hpacketsearch form { + margin:0; padding:0; +} + +#hpacketsearch { + background:#f7f8fc; + border-bottom: 1px solid #e2e3e7; + display:block; + padding:0; + + font-size: 0.786em; +} + +#psearchtoomanyhits { + padding:10px; + border: 1px solid #cccca3; + margin:0; + margin-top:10px; + background-color:#ffffcb; +} + +#psearchres { + margin: 0 0 2em 0; +} + +#psearchres h2{ + margin:0; + padding:0; +} + +#psearchres h3{ + margin:0; + padding:0; +} + +#psearchres ul li{ + margin:0 0 0.5em 0; + padding:0; +} + +#pothers { + margin-top:0.25em; + float: right; +} + +#psource { + margin-top:0.25em; +} + +/* + * Package sidebar + */ +#ptablist { + +} + +/* + * Package dependencies + */ + +#pdeplegend { + margin-bottom:2em; + font-weight:bold; + padding: 0 0.5em 0 0; + border:1px solid #d3d6df; +} + +#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 { + margin-top:0.5em; +} + +#pdeps ul.uldep, #pdeps ul.uladep { + list-style-type: disc; + list-style-image: url(Pics/dep.png); +} + +.uldep dt { + +} + +#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 { + margin-bottom:1em; + text-align: left; +} + +#pdownload table { + text-align:left; +} + +#pdeplegend td li { + padding-left:0; +} + +#pdeplegend td,#pdeplegend tr,#pdeplegend table,#pdeplegend ul,#pdeplegend li,#pdeplegend tbody { + margin:0; + paddding:0; +} + +.pkgreport #pdeplegend td li { + margin:0.25em 0 0 2em; +} + +#ptags { + font-size: 0.786em; + padding: 1em; + margin-right: 22em; +} + +.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; +} + + diff --git a/static/packages-site.css b/static/packages-site.css index dc09e55..54e9ea6 100644 --- a/static/packages-site.css +++ b/static/packages-site.css @@ -1,4 +1,18 @@ .sarge-volatile, .sarge-backports, .etch-m68k, .etch-backports, -.lenny-volatile, .lenny-backports .squeeze-backports { +.lenny-volatile, .lenny-backports, .lenny-backports-sloppy, +.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..9d5d3ea 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' @@ -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/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/head.tmpl b/templates/html/head.tmpl index f8d520b..656a792 100644 --- a/templates/html/head.tmpl +++ b/templates/html/head.tmpl @@ -9,29 +9,43 @@ [% 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 +71,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..6daeaf8 100644 --- a/templates/html/homepage.tmpl +++ b/templates/html/homepage.tmpl @@ -4,8 +4,7 @@ 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-backports', 'sid' ] version_numbers = { sarge => '3.1', etch => '4.0', lenny => '5.0' } @@ -118,4 +117,4 @@ Distribution: -[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2009' %] +[% PROCESS 'html/foot.tmpl' page_name=packages_homepage copyright.years = '1997 - 2010' %]