</Directory>
<VirtualHost *>
- ServerAdmin webmaster@debian.org
+ ServerAdmin frank@lichtenheld.de
DocumentRoot %TOPDIR%/www/
ServerName %SITE%
ErrorLog /var/log/apache2/%SITE%-error.log
CustomLog /var/log/apache2/%SITE%-access.log combined
- Alias /cgi-bin/ %TOPDIR%/cgi-bin/
+ ScriptAlias /cgi-bin/ %TOPDIR%/cgi-bin/
PerlModule ModPerl::Registry
PerlTaintCheck On
PerlSwitches -T
<Location /cgi-bin/>
SetHandler perl-script
- # mod-perl etch
PerlInitHandler Apache2::Reload
- # mod-perl sarge
- #PerlInitHandler Apache::Reload
PerlHandler ModPerl::Registry
Options +ExecCGI
PerlSendHeader On
RewriteRule ^/changelogs/ - [L]
RewriteRule ^/Pics/ - [L]
RewriteRule ^/about/ - [L]
+ RewriteRule ^/ubuntu/ - [L]
RewriteRule ^/[^/]+\.css - [L]
RewriteRule ^/[^/]+\.js - [L]
RewriteRule ^/favicon.ico$ - [L]
# RewriteRule ^/$ http://www.debian.org/distrib/packages
RewriteRule ^/$ /index.html [L]
RewriteRule ^/([^/+]*)([+])([^/]*)$ "/$1%%{%}2B$3" [N]
- RewriteRule ^/changelog:(.+)$ http://%SITE%/changelogs/${changelog-url:$1} [R,L,NE]
- RewriteRule ^/src:([^/]+)$ http://%SITE%/search?searchon=sourcenames&keywords=$1 [R,L,NE]
- RewriteRule ^/file:(.+)$ http://%SITE%/search?searchon=contents&keywords=$1 [R,L,NE]
+ RewriteRule ^/changelog:(.+)$ /changelogs/${changelog-url:$1} [R,L,NE]
+ RewriteRule ^/src:([^/]+)$ /search?searchon=sourcenames&keywords=$1 [R,L,NE]
+ RewriteRule ^/file:(.+)$ /search?searchon=contents&keywords=$1 [R,L,NE]
RewriteCond %{REQUEST_URI} !^/search$ [OR]
RewriteCond %{QUERY_STRING} ^$
- RewriteRule ^/([^/]+)$ http://%SITE%/search?keywords=$1 [R,L,NE]
+ RewriteRule ^/([^/]+)$ /search?keywords=$1 [R,L,NE]
RewriteCond %{QUERY_STRING} =""
RewriteCond %TOPDIR%/www%{REQUEST_FILENAME} -f [OR]
# RewriteRule . /index.html
</VirtualHost>
+
+<VirtualHost *>
+ ServerAdmin frank@lichtenheld.de
+ DocumentRoot %TOPDIR%/www/
+ ServerName packages.ubuntu.net
+ ServerAlias packages.ubuntulinux.org
+ ErrorLog /var/log/apache2/%SITE%-error.log
+ CustomLog /var/log/apache2/%SITE%-access.log combined
+
+ ScriptAlias /cgi-bin %TOPDIR%/cgi-bin/
+
+ RedirectMatch permanent (.*) http://%SITE%$1
+</VirtualHost>
+
$d{version} = $versions->{$a} if $multiple_versions;
$d{archive} = $archives->{$a};
if ( ($suite ne "experimental")
- && ($subsection ne 'debian-installer')) {
+ && ($subsection ne 'debian-installer')
+ && ($suite !~ /-(backports|updates)$/)
+ && ($suite !~ /dapper/)) {
$d{contents_avail} = 1;
}
push @downloads, \%d;
if ($info{sourcedownload}) {
$contents->{src}{url} = make_url($source,'',{source=>'source'});
$contents->{src}{pkg} = $source;
+ $contents->{src}{version} = $source_version;
my @downloads;
my $files = $page->get_src( 'files' );
if ($info{maintainers}) {
my $uploaders = $page->get_src( 'uploaders' );
+ my $orig_uploaders = $page->get_src( 'orig_uploaders' );
if ($uploaders && @$uploaders) {
my @maintainers = map { { name => $_->[0], mail => $_->[1] } } @$uploaders;
$contents->{maintainers} = \@maintainers;
}
+ if ($orig_uploaders && @$orig_uploaders) {
+ my @orig_maintainers = map { { name => $_->[0], mail => $_->[1] } } @$orig_uploaders;
+ $contents->{original_maintainers} = \@orig_maintainers;
+ }
}
-
}
sub providers {
po_lang = 'en'
ddtp_lang = 'en'
- organisation = 'Debian'
- project_homepage = 'http://www.debian.org/'
- packages_homepage = 'http://packages.debian.net/'
+ organisation = 'Ubuntu'
+ project_homepage = 'http://www.ubuntu.com/'
+ packages_homepage = 'http://packages.ubuntu.com/'
searchformurl = packages_homepage
search_url = '/search'
tags_url = 'http://debtags.alioth.debian.org/'
bugs_url = 'http://bugs.debian.org/'
+ launchpad_url = 'https://launchpad.net/distros/ubuntu/+source/'
pts_url = 'http://packages.qa.debian.org/'
ddpo_url = 'http://qa.debian.org/developer.php?login='
src_bugs_url = bugs_url _ 'src:'
- mirror_url = 'http://ftp.debian.org/'
- security_mirror = 'security.debian.org'
- security_mirror_url = security_mirror _ '/debian-security'
- security_suite_suffix = '/updates'
- changelogs_url = 'http://packages.debian.org/changelogs/'
+ mirror_url = 'http://archive.ubuntu.com/'
+ security_mirror = 'security.ubuntu.com'
+ security_mirror_url = security_mirror _ '/ubuntu'
+ security_suite_suffix = '-security'
+ changelogs_url = 'http://changelogs.ubuntu.com/changelogs/'
policy_url = 'http://www.debian.org/doc/debian-policy/'
- cn_help_url = project_homepage _ 'intro/cn'
- patch_tracking_url = 'http://patch-tracking.debian.net/package'
+# cn_help_url = project_homepage _ 'intro/cn'
++# patch_tracking_url = 'http://patch-tracking.debian.net/package'
logo = {
url => project_homepage,
src => '/Pics/openlogo-nd-25.png',
alt => organisation,
}
copyright = {
- url => 'http://www.spi-inc.org/',
- name => 'SPI Inc.',
- years => '1997 - ' _ timestamp.year,
+ url => 'http://www.canonical.com/',
+ name => 'Canonical Ltd.',
+ years => timestamp.year,
}
license = {
- url => project_homepage _ 'license'
+ url => project_homepage _ 'legal'
}
trademark = {
name => copyright.name,
- url => project_homepage _ 'trademark'
+ url => project_homepage _ 'aboutus/trademarkpolicy'
}
contact = {
- name => g('Debian Web Mailinglist'),
- mail => 'debian-www@lists.debian.org',
- url => project_homepage _ 'contact',
+ name => 'Frank Lichtenheld',
+ mail => 'frank@lichtenheld.de',
+ url => project_homepage _ 'support',
}
admin = {
- name => g('%s Webmaster', organisation),
- mail => 'webmaster@debian.org',
+ name => 'Frank Lichtenheld',
+ mail => 'frank@lichtenheld.de',
}
trademarknotes = g('%s is a <a href="%s">trademark</a> of %s', organisation, trademark.url, trademark.name)
# sponsor = {
-%]
[%-
# possible values for importance: high, normal, low
- sitewidemsg = { importance => "high",
- txt => g('Please note that this is an experimental version of <a href="http://%s/">%s</a>. Errors and obsolete information should be expected', 'packages.debian.org', 'packages.debian.org') }
+# sitewidemsg = { importance => "high",
+# txt => g('Please note that this is an experimental version of <a href="http://%s/">%s</a>. Errors and obsolete information should be expected', 'packages.ubuntu.com', 'packages.ubuntu.com') }
-%]
[%# @translators: . = decimal_point , = thousands_sep, see Number::Format %]
[%- USE num = Number.Format( decimal_point => g('.'),
main_section = 'main'
main_archive = 'us'
standard_priority = 'optional'
- suite_aliases = {
- sarge => 'oldstable',
- etch => 'stable',
- lenny => 'testing',
- sid => 'unstable',
- }
-
+
-
+ section_titles = {
+ main => g('packages that meet the Debian Free Software Guidelines'),
+ contrib => g('packages that meet the Debian Free Software Guidelines but need software not in Debian main'),
+ 'non-free' => g('packages that do not meet the Debian Free Software Guidelines'),
+ }
%]
[%
-# TODO: find a way to get the U.S. mirror list from a more authoritive
-# location automatically. might not be overly smart to automatize it
-# completely, since I hand pick sites that are up-to-date, fast, and
-# have HTTP on a reasonably short URL
-# -- Joy
-
-# hint:
-# grep-dctrl -F Site,Alias -e '(udel|bigfoot|kernel|crosslink|internap|cerias|lcs.mit|progeny)' Mirrors.masterlist | timestamps/archive_mirror_check.py
-
mirrors = {
us => {
- mirror_list => 'http://www.debian.org/mirror/list',
- north_america => [
-#only amd64,i386 "ftp.us.debian.org/debian",
- "http.us.debian.org/debian",
-#only amd64,i386 "ftp.debian.org/debian",
- "ftp.egr.msu.edu/debian",
- "mirrors.kernel.org/debian",
-#not amd64 "ftp-mirror.internap.com/pub/debian",
-#only amd64,i386 "ftp.cerias.purdue.edu/pub/os/debian",
- "debian.lcs.mit.edu/debian",
- "debian.oregonstate.edu/debian",
- ],
- europa => [
- "ftp.de.debian.org/debian",
- "ftp.at.debian.org/debian",
-#no amd64 "ftp.bg.debian.org/debian",
- "ftp.ch.debian.org/debian",
- "ftp.cz.debian.org/debian",
- "ftp.dk.debian.org/debian",
- "ftp.ee.debian.org/debian",
- "ftp.es.debian.org/debian",
- "ftp.fi.debian.org/debian",
- "ftp.fr.debian.org/debian",
- "ftp.hr.debian.org/debian",
- "ftp.hu.debian.org/debian",
- "ftp.ie.debian.org/debian",
- "ftp.is.debian.org/debian",
- "ftp.it.debian.org/debian",
- "ftp.nl.debian.org/debian",
- "ftp.no.debian.org/debian",
- "ftp.pl.debian.org/debian",
-#only amd64,i386 "ftp.ru.debian.org/debian",
- "ftp.se.debian.org/debian",
-#only some arches "ftp.si.debian.org/debian",
- "ftp.tr.debian.org/debian",
- "ftp.uk.debian.org/debian",
- ],
- south_america => [
- "ftp.br.debian.org/debian",
- "ftp.cl.debian.org/debian",
- ],
- australia => [
- "ftp.au.debian.org/debian",
- "ftp.wa.au.debian.org/debian",
- "ftp.nz.debian.org/debian",
- ],
- asia => [
- "ftp.jp.debian.org/debian",
- "ftp2.jp.debian.org/debian",
- "ftp.kr.debian.org/debian",
-#no amd64 "ftp.hk.debian.org/debian",
- "ftp.tw.debian.org/debian",
-#only amd64,i386 "linux.csie.nctu.edu.tw/debian",
- "debian.linux.org.tw/debian",
- "linux.cdpa.nsysu.edu.tw/debian",
- ],
- },
-
- volatile => {
- title => g('volatile packages that need major changes during the life of a stable release'),
- mirror_list => 'http://www.debian.org/devel/debian-volatile/volatile-mirrors',
- europa => [
- "volatile.debian.net/debian-volatile",
- "ftp2.de.debian.org/debian-volatile",
- "ftp.sk.debian.org/debian-volatile",
- ],
- north_america => [
- "debian.domainmail.org/debian-volatile",
- ],
- south_america => [
- "sft.if.usp.br/debian-volatile",
+ mirror_list => 'https://wiki.ubuntu.com/Mirrors',
+ north_america = [
+ "mirrors.kernel.org/ubuntu",
+ "ftp.cs.umn.edu/pub/ubuntu",
+ "lug.mtu.edu/ubuntu",
+ "mirror.clarkson.edu/pub/distributions/ubuntu",
+ "ubuntu.mirrors.tds.net/ubuntu",
+ "www.opensourcemirrors.org/ubuntu",
+ "ftp.ale.org/pub/mirrors/ubuntu",
+ "ubuntu.secs.oakland.edu",
+ "mirror.mcs.anl.gov/pub/ubuntu",
+ "mirrors.cat.pdx.edu/ubuntu",
+ "ubuntu.cs.utah.edu/ubuntu",
+ "ftp.ussg.iu.edu/linux/ubuntu",
+ "mirrors.xmission.com/ubuntu",
+ "ftp.osuosl.org/pub/ubuntu",
+ "mirrors.cs.wmich.edu/ubuntu",
+ "mirror.cpsc.ucalgary.ca/mirror/ubuntu.com",
+ "mirror.arcticnetwork.ca/pub/ubuntu/packages",
+ "gulus.USherbrooke.ca/pub/distro/ubuntu",
+ ],
+ europa = [
+ "fr.archive.ubuntu.com/ubuntu",
+ "ge.archive.ubuntu.com/ubuntu",
+ "nl.archive.ubuntu.com/ubuntu",
+ "no.archive.ubuntu.com/ubuntu",
+ "yu.archive.ubuntu.com/ubuntu",
+ "ubuntu.inode.at/ubuntu",
+ "ubuntu.uni-klu.ac.at/ubuntu",
+ "gd.tuwien.ac.at/opsys/linux/ubuntu/archive",
+ "ftp.belnet.be/pub/mirror/ubuntu.com",
+ "ubuntu.mirrors.skynet.be/pub/ubuntu.com",
+ "ubuntu.ipacct.com/ubuntu",
+ "ubuntu-hr.org/ubuntu",
+ "archive.ubuntu.cz/ubuntu",
+ "mirrors.dk.telia.net/ubuntu",
+ "mirrors.dotsrc.org/ubuntu",
+ "klid.dk/homeftp/ubuntu",
+ "ftp.estpak.ee/pub/ubuntu",
+ "www.nic.funet.fi/pub/mirrors/archive.ubuntu.com",
+ "mir1.ovh.net/ubuntu",
+ "ftp.u-picardie.fr/pub/ubuntu/ubuntu",
+ "ftp.oleane.net/pub/ubuntu",
+ "debian.charite.de/ubuntu",
+ "ftp.inf.tu-dresden.de/os/linux/dists/ubuntu",
+ "www.artfiles.org/ubuntu.com/archive",
+ "ftp.rz.tu-bs.de/pub/mirror/ubuntu-packages",
+ "ftp.join.uni-muenster.de/pub/mirrors/ftp.ubuntu.com/ubuntu",
+ "www.ftp.uni-erlangen.de/pub/mirrors/ubuntu",
+ "ftp.ntua.gr/pub/linux/ubuntu",
+ "ftp.kfki.hu/linux/ubuntu",
+ "ubuntu.odg.cc",
+ "ubuntu.lhi.is",
+ "ftp.esat.net/mirrors/archive.ubuntu.com",
+ "ftp.heanet.ie/pub/ubuntu",
+ "ftp.linux.it/ubuntu",
+ "na.mirror.garr.it/mirrors/ubuntu-archive",
+ "mirrors.linux.edu.lv/ftp.ubuntu.com",
+ "ftp.litnet.lt/pub/ubuntu",
+ "ubuntu.synssans.nl",
+ "ubuntulinux.mainseek.com/ubuntu",
+ "ubuntu.task.gda.pl/ubuntu",
+ "darkstar.ist.utl.pt/ubuntu/archive",
+ "ubuntu.dcc.fc.up.pt",
+ "ftp.iasi.roedu.net/mirrors/ubuntulinux.org/ubuntu",
+ "ftp.gui.uva.es/sites/ubuntu.com/ubuntu",
+ "ftp.acc.umu.se/mirror/ubuntu",
+ "mirror.switch.ch/ftp/mirror/ubuntu",
+ "www.mirrorservice.org/sites/archive.ubuntu.com/ubuntu",
+ "ubuntu.blueyonder.co.uk/archive",
+ "ubuntu.snet.uz/ubuntu",
+ ],
+ south_americas = [
+ "cl.archive.ubuntu.com/ubuntu",
+ "espelhos.edugraf.ufsc.br/ubuntu",
+ "ubuntu.interlegis.gov.br/archive",
+ "ubuntu.c3sl.ufpr.br/ubuntu",
+ "ftp.ucr.ac.cr/ubuntu",
+ "www.computacion.uni.edu.ni/iso/ubuntu",
+ ],
+ australia = [
+ "ftp.iinet.net.au/pub/ubuntu",
+ "mirror.optus.net/ubuntu",
+ "mirror.isp.net.au/ftp/pub/ubuntu",
+ "www.planetmirror.com/pub/ubuntu",
+ "ftp.filearena.net/pub/ubuntu",
+ "mirror.pacific.net.au/linux/ubuntu",
],
- asia => [
- "ftp2.jp.debian.org/debian-volatile",
+ asia = [
+ "archive.ubuntu.org.cn/ubuntu",
+ "debian.cn99.com/ubuntu",
+ "mirror.lupaworld.com/ubuntu",
+ "komo.vlsm.org/ubuntu",
+ "kambing.vlsm.org/ubuntu",
+ "ubuntu.mithril-linux.org/archives",
+ "ubuntu.csie.ntu.edu.tw/ubuntu",
+ "mirror.letsopen.com/os/ubuntu",
+ "ftp.kaist.ac.kr/pub/ubuntu",
+ "apt.ubuntu.org.tw/ubuntu",
+ "apt.nc.hcc.edu.tw/pub/ubuntu",
+ "mirror.in.th/ubuntu",
],
- australia => [
- "ftp.nz.debian.org/debian-volatile",
- ],
- },
-
- backports => {
- title => g('newer packages that have been adapted to stable releases of Debian'),
- mirror_list => 'http://www.backports.org/debian/README.mirrors.html',
- europa => [
- "www.backports.org/debian",
- "debian.sil.at/backports.org/",
- "backports.debian.or.at/backports.org",
- "mirror.realroute.net/backports.org",
- "backports.cisbg.com",
- "backports.linuxdediziert.de/backports.org",
- "debian.netcologne.de/debian-backports",
- "ftp.de.debian.org/backports.org",
- "mirror.buildd.net/backports.org",
- "ftp.estpak.ee/backports.org",
- "debian.acantho.net/backports.org",
- "backports.essentkabel.com/backports.org",
- "backports.sipo.nl",
- "ftp.tuke.sk",
- ],
- asia => [
- "backports.mithril-linux.org",
- ],
- australia => [
- "mirror.linux.org.au/backports.org",
- "mirror.pacific.net.au/linux/debian-backports",
- ],
- },
-
- debports => {
- title => g('ports of packages to architectures not yet available in Debian'),
- mirror_list => 'http://wiki.debian.org/DebianPorts/Mirrors',
- unofficial_port => {
- 'kfreebsd-amd64' => {
- url_name => 'kfreebsd-gnu',
- name => 'GNU/kFreeBSD',
- },
- 'kfreebsd-i386' => {
- url_name => 'kfreebsd-gnu',
- name => 'GNU/kFreeBSD',
- },
- },
- north_america => [
- "www.gtlib.gatech.edu/pub/gnuab/debian",
- "www.superunprivileged.org/debian",
- ],
- europa => [
- "ftp.debian-ports.org/debian",
- "ftp.de.debian.org/debian-ports",
- "ftp.ch.debian.org/debian-ports",
- "ftp.easynet.be/ftp/gnuab/debian",
+ africa = [
+ "za.archive.ubuntu.com/ubuntu",
],
},
}
-ports_url = 'http://www.debian.org/ports/'
-
continents = {
north_america => g('North America'),
south_america => g('South America'),
europa => g('Europe'),
africa => g('Africa'),
}
-
%]
-
[% ELSE %]
<h1>[% g('Package: %s (%s)', pkg, versions.short) %]
[% END %]
- [%- PROCESS marker text=archive IF archive && archive != main_archive %]
- [%- PROCESS marker text=section IF section && section != main_section %]
- [%- PROCESS marker text=g('essential') IF page.get_newest('essential') == 'yes' %]</h1>
+ [%- PROCESS marker text=archive title=mirrors.$archive.title IF archive && archive != main_archive %]
+ [%- PROCESS marker text=section title=section_titles.$section IF section && section != main_section %]
+ [%- PROCESS marker text=g('essential') title=g('package manager will refuse to remove this package by default') IF page.get_newest('essential') == 'yes' %]</h1>
[% UNLESS is_virtual %]
<div id="pmoreinfo">
<h2>[% g('Links for %s', pkg) %]</h2>
<h3>[% g('%s Resources:', organisation) %]</h3>
<ul>
-<li><a href="[% (is_source ? src_bugs_url : bugs_url) _ pkg %]">[% g('Bug Reports') %]</a></li>
-
-[% IF src.pkg -%]
-<li><a href="[% pts_url _ src.pkg %]">[% g('Developer Information (PTS)') %]</a></li>
-[% ELSIF is_source %]
-<li><a href="[% pts_url _ pkg %]">[% g('Developer Information (PTS)') %]</a></li>
-[%- END %]
+<li><a href="[% launchpad_url _ (is_source ? pkg : src.pkg) _ '/+bugs' %]">[% g('Bug Reports') %]</a></li>
[% IF files && (!archive or archive == main_archive or archive == 'security') %]
<li><a href="[% changelogs_url _ files.changelog.path %]">[% g('%s Changelog', organisation) %]</a></li>
SET vcs_info = page.get_newest("x-vcs-$vcs_id") UNLESS vcs_info;
IF vcs_info %]
(<a href="[% vcs_info %]" class="pvcslink">[% vcs_name %]</a>)
- [% END; END %]
+ [% END; END -%]
</li>
- [% END %]
+ [% END -%]
+
+ [% IF patch_tracking_url && src %]
+ [% FOREACH src.downloads %]
+ [% IF name.match('\.diff\.(gz|bz2|lzma)$') %]
+ <li><a href="[% "$patch_tracking_url/$src.pkg/$src.version" %]">[% g("%s Patch Tracking", organisation) %]</a></li>
+ [% END -%]
+ [% END -%]
+ [% ELSIF patch_tracking_url && is_source %]
+ [% FOREACH srcfiles %]
+ [% IF filename.match('\.diff\.(gz|bz2|lzma)$') %]
+ <li><a href="[% "$patch_tracking_url/$pkg/$version" %]">[% g("%s Patch Tracking", organisation) %]</a></li>
+ [% END -%]
+ [% END -%]
+ [% END -%]
</ul>
[% END %]
[% END %]
-[% IF maintainers.size == 1 -%]
- <h3>[% g('Maintainer:') %]</h3>
-[%- ELSE -%]
- <h3>[% g('Maintainers:') %]</h3>
-[%- END %]
-[%- FOREACH maintainers;
+[%- BLOCK handle_maintainer;
mailarchiveurl = '';
IF (matches = mail.match('^(.*)@lists\.debian\.org$'));
mailarchiveurl = 'http://lists.debian.org/' _ uri_escape(matches.0) _ '/';
ELSIF (matches = mail.match('^(.*)@lists\.ubuntu\.com$'));
mailarchiveurl = 'http://lists.ubuntu.com/archives/' _ uri_escape(matches.0) _ '/';
END -%]
- [%- '<ul>' IF loop.first -%]
+ [% IF hide_mail %]
+ <li>[% name | html %]
+ [% ELSE %]
<li><a href="mailto:[% mail | html %]">[% name | html %]</a>
- (<a href="[% ddpo_url %][% uri_escape(mail) %]" title="[% g("An overview over the maintainer's packages and uploads") %]">[% g('QA Page') %]</a>
- [%- IF mailarchiveurl %], <a href="[% mailarchiveurl %]" title="[% g('Archive of the Maintainer Mailinglist') %]">[% g('Mail Archive') %]</a>[% END %])
+ [% END %]
+ [%- IF mailarchiveurl %] (<a href="[% mailarchiveurl %]" title="[% g('Archive of the Maintainer Mailinglist') %]">[% g('Mail Archive') %]</a>)[% END %]
</li>
- [%- '</ul>' IF loop.last -%]
+[% END -%]
+
+[%- IF maintainers.size -%]
+[% IF maintainers.size == 1 -%]
+ <h3>[% g('Maintainer:') %]</h3>
+[%- ELSE -%]
+ <h3>[% g('Maintainers:') %]</h3>
+[%- END %]
+[%- FOREACH m IN maintainers;
+ '<ul>' IF loop.first;
+ PROCESS handle_maintainer name=m.name mail=m.mail;
+ '</ul>' IF loop.last;
+ END -%]
+<p>[% g('Please consider <a href="%s">filing a bug</a> or <a href="%s">asking a question</a> via Launchpad before contacting the maintainer directly.',
+ "https://bugs.launchpad.net/ubuntu/+source/$src.pkg/+filebug",
+ "https://answers.launchpad.net/ubuntu/+source/$src.pkg/+addquestion") %]</p>
+[%- END -%]
+
+[%- IF original_maintainers.size -%]
+[% IF original_maintainers.size == 1 -%]
+ <h3>[% g('Original Maintainer (usually from Debian):') %]</h3>
+[%- ELSE -%]
+ <h3>[% g('Original Maintainers (usually from Debian):') %]</h3>
+[%- END %]
+[%- FOREACH m IN original_maintainers;
+ '<ul>' IF loop.first;
+ PROCESS handle_maintainer name=m.name mail=m.mail hide_mail=1;
+ '</ul>' IF loop.last;
+ END -%]
+<p>[% g('It should generally not be necessary for users to contact the original maintainer.') %]</p>
[%- END -%]
[% url = page.get_newest('url');
[%- END %]
<ul class="ul[% id %]">
- [% FOREACH terms %]
- [% '<li>' UNLESS is_old_pkgs %]
- [% FOREACH alternatives %]
+ [% FOREACH t IN terms %]
+ [% '<li>' UNLESS t.is_old_pkgs %]
+ [% FOREACH a IN t.alternatives %]
[% '<dl>' IF loop.first %]
<dt>[% IF loop.first %]<span class="nonvisual">[% id %]:</span>[% ELSE %][% g('or ') %][% END %]
- [% IF suite %]<a href="[% make_url(name,'','suite',suite,'source','') %]">[% name %]</a>[% ELSE %][% name %][% END %]
- [% ' (' _ version _ ')' IF version %]
- [% ' [' _ arch_str _ ']' IF arch_str %]</dt>
- [%- IF !is_old_pkgs -%]
- [% PROCESS desc_i18n_dd no_end_tag=1 trans_desc=trans_desc desc=desc -%]
- [%- IF providers.pkgs.size > 0 -%]
- [% IF providers.also;
+ [% IF a.suite %]<a href="[% make_url(a.name,'','suite',a.suite,'source','') %]">[% a.name %]</a>[% ELSE %][% a.name %][% END %]
+ [% ' (' _ a.version _ ')' IF a.version %]
+ [% ' [' _ a.arch_str _ ']' IF a.arch_str %]</dt>
+ [%- IF !t.is_old_pkgs -%]
+ [% PROCESS desc_i18n_dd no_end_tag=1 trans_desc=a.trans_desc desc=a.desc -%]
+ [%- IF a.providers.pkgs && a.providers.pkgs.size > 0 -%]
+ [% IF a.providers.also;
'<br>' _ g('also a virtual package provided by');
ELSE;
g('virtual package provided by');
END; %]
- [% js_id = name %]
- <span id="js_[% js_id %]" class="p_js_elem"></span> <span id="html_[% js_id %]">[% FOREACH provider IN providers.pkgs.sort %]<a href="[% make_url(provider,'','suite',suite,'source','') %]">[% provider %]</a>[% ', ' UNLESS loop.last %][% END %]</span>
- [% IF providers.pkgs.size > 10 %]
- <script type="text/javascript">init_toggle_elem("[% js_id %]","[% g('show %u providing packages', providers.pkgs.size) %]", "[% g('hide %u providing packages', providers.pkgs.size) %]")</script>
+ [% js_id = a.name %]
+ <span id="js_[% js_id %]" class="p_js_elem"></span> <span id="html_[% js_id %]">[% FOREACH provider IN a.providers.pkgs.sort %]<a href="[% make_url(provider,'','suite',a.suite,'source','') %]">[% provider %]</a>[% ', ' UNLESS loop.last %][% END %]</span>
+ [% IF a.providers.pkgs.size > 10 %]
+ <script type="text/javascript">init_toggle_elem("[% js_id %]","[% g('show %u providing packages', a.providers.pkgs.size) %]", "[% g('hide %u providing packages', a.providers.pkgs.size) %]")</script>
[% END %]
[% END %]
</dd>