1 [% PROCESS 'config/archive_layout.tmpl' %]
2 [% PROCESS 'config/mirrors.tmpl' %]
3 [%- known_vcs = [ [ 'cvs', 'CVS', 'cvs' ],
4 [ 'svn', 'Subversion', 'subversion' ],
5 [ 'bzr', 'bzr', 'bzr' ],
6 [ 'darcs', 'Darcs', 'darcs' ],
7 [ 'arch', 'arch', 'tla' ],
8 [ 'git', 'Git', 'git-core' ],
9 [ 'hg', 'Hg', 'mercurial' ], ];
10 vcs_link = page.get_newest("vcs-browser");
12 [%- suite_name = suite;
13 SET suite_name = suite_name _ ' (' _ suite_aliases.$suite _ ')' IF suite_aliases.$suite;
14 nav_arr = [ { prefix=>g('Distribution:'), title=>g('Overview over this suite'), url=>make_url('/','','source',''), name=>suite_name }, ];
15 nav_arr.push( { title =>g('Source packages'), url=>make_url('/'), name=>g('Source') } ) IF is_source;
16 nav_arr.push( { prefix=>g('Section:'), title=>g('All packages in this section'), url=>make_url("$subsection/"), name=>subsection } );
17 nav_arr.push( { prefix=>g('Package:'), name=>pkg } ); -%]
19 SET desclang = po_lang IF desc.$po_lang.long;
20 SET desclang = ddtp_lang IF desc.$ddtp_lang.long %]
21 [%- PROCESS 'html/head.tmpl'
22 title_tag = is_source ? g('Details of source package %s in %s', pkg, suite)
23 : g('Details of package %s in %s', pkg, suite)
24 description = desc.$desclang.short
25 keywords = "$suite, $archive, $section, $subsection, $version"
26 print_search_field = 'packages'
27 search_field_values = {
28 searchon => is_source ? 'sourcenames' : 'names',
33 [% PROCESS 'html/util.inc' %]
34 [% FOREACH s IN suites %]
35 [% '<div id="pothers">' IF loop.first %]
37 [% PROCESS menuitem name=s url='' %]
39 [% PROCESS menuitem name=s url=make_url(pkg,'','suite',s) %]
41 [%- '</div>' IF loop.last -%]
46 [% PROCESS menuitem prefix=g('Source:') title=g('Source package building this package') url=make_url(src.pkg,'','source','source') name=src.pkg %]
50 [%- PROCESS 'html/messages.tmpl' -%]
53 <h1>[% g('Virtual Package: %s', pkg) %]
55 <h1>[% g('Source Package: %s (%s)', pkg, version) %]
57 <h1>[% g('Package: %s (%s)', pkg, versions.short) %]
59 [%- PROCESS marker text=archive IF archive && archive != main_archive %]
60 [%- PROCESS marker text=section IF section && section != main_section %]
61 [%- PROCESS marker text=g('essential') IF page.get_newest('essential') == 'yes' %]</h1>
63 [% UNLESS is_virtual %]
65 <h2>[% g('Links for %s', pkg) %]</h2>
66 <h3>[% g('%s Resources:', organisation) %]</h3>
68 <li><a href="[% launchpad_url _ (is_source ? pkg : src.pkg) _ '/+bugs' %]">[% g('Bug Reports') %]</a></li>
70 [% IF files && (!archive or archive == main_archive or archive == 'security') %]
71 <li><a href="[% changelogs_url _ files.changelog.path %]">[% g('%s Changelog', organisation) %]</a></li>
72 <li><a href="[% changelogs_url _ files.copyright.path %]">[% g('Copyright File') %]</a></li>
76 <li><a href="[% vcs_link %]" class="pvcslink">[% g('Debian Source Repository') %]</a>
77 [%- FOREACH vcs IN known_vcs;
78 vcs_id = vcs.0; vcs_name = vcs.1; vcs_pkg = vcs.2;
79 vcs_info = page.get_newest("vcs-$vcs_id");
80 SET vcs_info = page.get_newest("x-vcs-$vcs_id") UNLESS vcs_info;
82 (<a href="[% vcs_info %]" class="pvcslink">[% vcs_name %]</a>)
90 <p>[% g('Download Source Package <a href="%s">%s</a>:', src.url, src.pkg) %]
91 [% FOREACH src.downloads %]
92 [% '<ul>' IF loop.first %]
93 <li><a href="[% server _ path %]">[[% name %]]</a></li>
94 [% '</ul>' IF loop.last %]
96 [% IF src.downloads.size == 0 %]
101 [%- BLOCK handle_maintainer;
103 IF (matches = mail.match('^(.*)@lists\.debian\.org$'));
104 mailarchiveurl = 'http://lists.debian.org/' _ uri_escape(matches.0) _ '/';
105 ELSIF (matches = mail.match('^(.*)@lists\.alioth\.debian\.org$'));
106 mailarchiveurl = 'http://lists.alioth.debian.org/pipermail/' _ uri_escape(matches.0) _ '/';
107 ELSIF (matches = mail.match('^(.*)@lists\.ubuntu\.com$'));
108 mailarchiveurl = 'http://lists.ubuntu.com/archives/' _ uri_escape(matches.0) _ '/';
111 <li>[% name | html %]
113 <li><a href="mailto:[% mail | html %]">[% name | html %]</a>
115 [%- IF mailarchiveurl %] (<a href="[% mailarchiveurl %]" title="[% g('Archive of the Maintainer Mailinglist') %]">[% g('Mail Archive') %]</a>)[% END %]
119 [%- IF maintainers.size -%]
120 [% IF maintainers.size == 1 -%]
121 <h3>[% g('Maintainer:') %]</h3>
123 <h3>[% g('Maintainers:') %]</h3>
125 [%- FOREACH m IN maintainers;
126 '<ul>' IF loop.first;
127 PROCESS handle_maintainer name=m.name mail=m.mail;
128 '</ul>' IF loop.last;
130 <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.',
131 "https://bugs.launchpad.net/ubuntu/+source/$src.pkg/+filebug",
132 "https://answers.launchpad.net/ubuntu/+source/$src.pkg/+addquestion") %]</p>
135 [%- IF original_maintainers.size -%]
136 [% IF original_maintainers.size == 1 -%]
137 <h3>[% g('Original Maintainer (usually from Debian):') %]</h3>
139 <h3>[% g('Original Maintainers (usually from Debian):') %]</h3>
141 [%- FOREACH m IN original_maintainers;
142 '<ul>' IF loop.first;
143 PROCESS handle_maintainer name=m.name mail=m.mail hide_mail=1;
144 '</ul>' IF loop.last;
146 <p>[% g('It should generally not be necessary for users to contact the original maintainer.') %]</p>
149 [% url = page.get_newest('url');
150 SET url = page.get_newest('homepage') IF page.get_newest('homepage');
152 <h3>[% g('External Resources:') %]</h3>
154 <li><a href="[% url | html %]">[% g('Homepage') %]</a> [[% extract_host(url) | html %]]</li>
158 [% FOREACH sim IN similar %]
160 <h3>[% g('Similar packages:') %]</h3>
163 <li><a href="/[% sim %]">[% sim %]</a></li>
164 [% '</ul>' IF loop.last %]
167 </div> <!-- end pmoreinfo -->
170 [% IF suite == "experimental" || subsection == "debian-installer" %]
171 <div class="pconstantnag">
172 [% IF suite == "experimental" %]
173 [% changelog_link = 'changelog';
174 changelog_link = "$changelogs_url$files.changelog.path" %]
175 <h2>[% g('Experimental package') %]</h2>
176 <p>[% g('Warning: This package is from the <strong>experimental</strong> distribution. That means it is likely unstable or buggy, and it may even cause data loss. Please be sure to consult the <a href="%s">changelog</a> and other possible documentation before using it.',
177 changelog_link) %]</p>
179 [% IF subsection == "debian-installer" %]
180 <h2>[% g('debian-installer udeb package') %]</h2>
181 <p>[% g('Warning: This package is intended for the use in building <a href="http://www.debian.org/devel/debian-installer">debian-installer</a> images only. Do not install it on a normal %s system.',
182 organisation ) %]</p>
192 [% UNLESS is_virtual %]
193 <div id="pdesc" [% "lang=\"$desclang\"" IF desclang != po_lang %]>
194 [% IF desc.$desclang.short %]
195 <h2>[% desc.$desclang.short %]</h2>
196 <p>[% desc.$desclang.long %]
200 <p>[% g('This is a <em>virtual package</em>. See the <a href="%s">Debian policy</a> for a <a href="%sch-binary.html#s-virtual_pkg">definition of virtual packages</a>.',
201 policy_url, policy_url) %]</p>
203 </div> <!-- end pdesc -->
205 [% FOREACH tag IN tags %]
208 <a href="[% tags_url %]edit.html?pkg=[% uri_escape(pkg) %]">[% g('Tags') %]</a>:
210 [% facet = tag.0; lfacet = "$facet-$po_lang";
211 facet_name = debtags_voc.$lfacet;
212 SET facet_name = debtags_voc.$facet UNLESS facet_name;
213 tag_id = "$tag.0::$tag.1"; ltag = "$tag_id-$po_lang";
214 tag_name = debtags_voc.$ltag;
215 SET tag_name = debtags_voc.$tag_id UNLESS tag_name;
217 [% facet_name _ ': ' UNLESS old_facet && facet == old_facet %]
219 <a href="/about/debtags#[% string2id(tag_id) %]">[% tag_name | html %]</a>[% ', ' UNLESS loop.last %]
221 [% tag_id %][% ', ' UNLESS loop.last %]
223 [% old_facet = facet %]
226 </div> <!-- end ptags -->
230 [% FOREACH p IN providers %]
231 [% IF loop.first %]<div id="pdeps"><h2>[% g('Packages providing %s', pkg) %]</h2><dl>[% END %]
232 <dt>[% IF p.available %]<a href="[% make_url(p.name,'','source','') %]">[% p.name %]</a>[% ELSE; p.name; END %]</dt>
233 [% PROCESS desc_i18n_dd trans_desc=p.trans_desc desc=p.desc %]
234 [% '</dl></div>' IF loop.last %]
236 </div> <!-- pdesctab -->
239 [% FOREACH b IN binaries %]
240 [% IF loop.first %]<div id="pbinaries">[% g('The following binary packages are built from this source package:') %]<dl>[% END %]
241 <dt>[% IF b.available %]<a href="[% make_url(b.name,'','source','') %]">[% b.name %]</a>[% ELSE; b.name; END %]</dt>
242 [% PROCESS desc_i18n_dd trans_desc=b.trans_desc desc=b.desc %]
243 [% '</dl></div>' IF loop.last %]
246 [% FOREACH relations %]
249 <h2>[% g('Other Packages Related to %s', pkg) %]</h2>
251 <table id="pdeplegend" class="visual" summary="[% g('legend') %]"><tr>
253 <td><ul class="uladep"><li>[% g('build-depends') %]</li></ul></td>
254 <td><ul class="ulidep"><li>[% g('build-depends-indep') %]</li></ul></td>
256 <td><ul class="uldep"><li>[% g('depends') %]</li></ul></td>
257 <td><ul class="ulrec"><li>[% g('recommends') %]</li></ul></td>
258 <td><ul class="ulsug"><li>[% g('suggests') %]</li></ul></td>
263 <ul class="ul[% id %]">
265 [% '<li>' UNLESS is_old_pkgs %]
266 [% FOREACH alternatives %]
267 [% '<dl>' IF loop.first %]
268 <dt>[% IF loop.first %]<span class="nonvisual">[% id %]:</span>[% ELSE %][% g('or ') %][% END %]
269 [% IF suite %]<a href="[% make_url(name,'','suite',suite,'source','') %]">[% name %]</a>[% ELSE %][% name %][% END %]
270 [% ' (' _ version _ ')' IF version %]
271 [% ' [' _ arch_str _ ']' IF arch_str %]</dt>
272 [%- IF !is_old_pkgs -%]
273 [% PROCESS desc_i18n_dd no_end_tag=1 trans_desc=trans_desc desc=desc -%]
274 [%- IF providers.pkgs.size > 0 -%]
275 [% IF providers.also;
276 '<br>' _ g('also a virtual package provided by');
278 g('virtual package provided by');
281 <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>
282 [% IF providers.pkgs.size > 10 %]
283 <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>
288 [% '</dl>' IF loop.last %]
294 </div> <!-- end pdeps -->
298 [% FOREACH d IN downloads %]
301 <h2>[% g('Download %s', pkg) %]</h2>
303 <table summary="[% g('The download table links to the download of the package and a file overview. In addition it gives information about the package size and the installed size.') %]">
304 <caption class="hidecss">[% g('Download for all available architectures') %]</caption>
305 <tr><th>[% g('Architecture') %]</th>
306 [% '<th>'_ g('Version') _'</th>' IF versions.multiple %]
307 <th>[% g('Package Size') %]</th>
308 <th>[% g('Installed Size') %]</th>
309 <th>[% g('Files') %]</th>
314 [% download_url = pkg _ '/download'
315 filelist_url = pkg _ '/filelist' %]
316 <th><a href="[% make_url(download_url,'','arch',d.arch) %]">[% d.arch %]</a>
317 [%- SET a = d.archive; IF mirrors.$a.unofficial_port %] <strong>[% g('(unofficial port)') %]</strong>[% END %]</th>
318 [% vnorm = d.version.replace( '\+b\d+$', '' ); vlatest = version.replace( '\+b\d+$', '' );
319 vup = vnorm.replace( '-[^-]+$', '' ); vuplatest = vlatest.replace( '-[^-]+$', '' );
321 version_class = 'vcurrent';
322 ELSIF vup == vuplatest;
323 version_class = 'volder';
325 version_class = 'vold';
327 [% "<td class='$version_class'>$d.version</td>" IF versions.multiple %]
328 <td class="size">[% g('%s kB', num.format_number(d.pkgsize,1)) %]</td><td class="size">[% g('%s kB', d.instsize) %]</td>
330 [% IF d.contents_avail %]
331 [<a href="[% make_url(filelist_url,'','arch',d.arch) %]">[% g('list of files') %]</a>]
333 [% g('no current information') %]
341 </div> <!-- end pdownload -->
345 [% FOREACH srcfiles %]
348 <h2>Download [% pkg %]</h2>
350 <table summary="[% g('Download information for the files of this source package') %]">
351 <tr><th>[% g('File') %]</th><th>[% g('Size (in kB)') %]</th><th>[% g('MD5 checksum') %]</th></tr>
355 <td><a href="[% server _ path %]">[% filename %]</a></td>
356 <td>[% g('%s kB', num.format_number(size,1)) %]</td>
357 <td class="md5sum">[% md5sum %]</td>
363 [% FOREACH vcs IN known_vcs;
364 vcs_id = vcs.0; vcs_name = vcs.1; vcs_pkg = vcs.2;
365 vcs_info = page.get_newest("vcs-$vcs_id");
366 SET vcs_info = page.get_newest("x-vcs-$vcs_id") UNLESS vcs_info;
369 IF vcs_info || vcs_link; %]
372 <dt>[% g('Debian Package Source Repository (<acronym title="Version Control System">VCS</acronym>: <a href="%s">%s</a>)',
373 make_url(vcs_pkg,'','source',''), vcs_name ) %]</dt>
374 <dd><a href="[% vcs_info %]" class="pvcslink">[% vcs_info %]</a></dd>
377 <dt>[% g('Debian Package Source Repository (Browsable)') %]</dt>
378 <dd><a href="[% vcs_link %]" class="pvcslink">[% vcs_link %]</a></dd>
383 </div> <!-- end pdownload -->
387 [%# <script type="text/javascript">init_tab_list("ptablist")</script> %]
389 [%- PROCESS 'html/foot.tmpl' page_name=pkg -%]