/[qa]/trunk/wml/developer.wml
ViewVC logotype

Contents of /trunk/wml/developer.wml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 636 - (show annotations) (download)
Fri Sep 19 15:03:01 2003 UTC (9 years, 8 months ago) by igenibel
File size: 25601 byte(s)
Bug Fix:
- fix the "dash" link for F&P column
1 #use wml::templ::template title="Debian Developer's Packages Overview" author="Igor Genibel"
2
3 # +-------------------------------------------------------------------------+
4 # | Copyright (C) 2002 Igor Genibel |
5 # | |
6 # | This program is free software; you can redistribute it and/or |
7 # | modify it under the terms of the GNU General Public License |
8 # | as published by the Free Software Foundation; either version 2 |
9 # | of the License, or (at your option) any later version. |
10 # | |
11 # | This program is distributed in the hope that it will be useful, |
12 # | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 # | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 # | GNU General Public License for more details. |
15 # +-------------------------------------------------------------------------+
16 # | This code is currently maintained and debugged by Igor Genibel, any |
17 # | questions or comments regarding this code should be directed to: |
18 # | - igor@genibel.org |
19 # +-------------------------------------------------------------------------+
20 # | - Igor Genibel - http://genibel.org/ |
21 # | $Id$
22 # +-------------------------------------------------------------------------+
23
24 <style type="text/css">
25 a.dash:link,a.dash:visited,a.dash:active {
26 text-decoration: none;
27 }
28 </style>
29
30 <?
31
32 $branch = array ("main",
33 "contrib",
34 "non-free",
35 "non-US/main",
36 "non-US/contrib",
37 "non-US/non-free" );
38
39 setlocale(LC_ALL, 'fr_FR');
40
41 $prefix="/org/qa.debian.org/data/ddpo/results";
42 #$prefix="/home/igenibel/qa.debian.org/data/ddpo/results";
43
44 function bug_display($bug_number, $base_url)
45 {
46 $bug_link="";
47 preg_match("/(\d+)\((\d+)\)/", $bug_number, $result);
48 if (strcmp($result[1], $result[2]) == 0)
49 {
50 $bug_link = "<a class=\"a\" href=\"$base_url\">$result[1]</a>";
51 }else{
52 $bug_link = "<a class=\"a\" href=\"${base_url}&amp;repeatmerged=no\">$result[1]</a>&nbsp;<a class=\"a\" href=\"${base_url}&amp;repeatmerged=yes\">($result[2])</a>";
53 }
54 return $bug_link;
55 }
56
57 function printBackLink() {
58 ?>
59 <p><a href="developer.php">Back to main page</a></p>
60 <?
61 }
62
63 function print_header_entries_top($keys, $name)
64 {
65 ?>
66 <h1 align="center">Packages overview for <?print $name?></h1>
67
68 <p><strong>General information:</strong></p>
69 <?
70 if ($keys == "NOID") {
71 ?>
72 <p><font size="+1" color="red">GPG key id not found!</font>
73 <font size="-2">(key id was not found neither in the Debian keyring
74 nor on a public keyserver)</font></p>
75 <?
76 }else{
77 foreach (explode(",", $keys) as $key) {
78 ?>
79 <small>GPG key id: <a href="developer.php?gpg_key=<?print $key?>"><?print $key?></a></small><br>
80 <?
81 }
82 }
83 }
84
85 function print_header_entries_body($login, $key, $name)
86 {
87 global $prefix;
88 $lintian = preg_replace("/[\s-\"í'å]/", "_", $name);
89 $fp = fopen("$prefix/../../ftp/Maintainers", "r");
90 $ok = 0;
91 while(!feof($fp)) {
92 $line = fgets($fp, "10240");
93 if (preg_match("/$login/", $line)) {
94 $ok = 1;
95 if (preg_match("/$login \(/", $line)) {
96 $buildd=urlencode("$login ($name) ");
97 }else{
98 $buildd=urlencode("$name <$login> ");
99 }
100 }
101 if ($ok == 1 ) {
102 break;
103 }
104 }
105 fclose($fp);
106 ?>
107 <small>
108 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?which=maint&amp;data=<? print $login ?>&amp;archive=no&amp;raw=yes&amp;bug-rev=yes&amp;pend-exc=fixed&amp;pend-exc=done">Non-fixed bugs, most recent first</a><br>
109 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?maint=<?print $login?>">All bugs related to &lt;<?print $login?>&gt;</a><br>
110 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?which=maint&amp;data=<?print rawurlencode($login)?>&amp;archive=no&amp;pend-exc=done&amp;sev-inc=critical&amp;sev-inc=grave&amp;sev-inc=serious">RC Bugs related to &lt;<?print $login?>&gt;</a><br>
111 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=<?print $login?>">All bugs submitted by &lt;<?print $login?>&gt;</a><br>
112 <a href="http://lintian.debian.org/reports/m<?print $lintian?>.html">Lintian report</a><br>
113 <a href="http://buildd.debian.org/bymaint.php?maint=<?print "$buildd"?>">Buildd report</a><br>
114 <a href="http://www.debian.gr.jp/~kitame/maint.cgi?num=srcs&amp;limit=0&amp;showpkgs=on&amp;maint=<?print "$login"?>">Bug statistics</a><br>
115 </small>
116
117 <hr>
118 <small>
119 <b>Packages in <font color="blue">blue</font> are packages that are co-maintained by developer (reference to Uploaders: field)</b><br>
120 <b>Packages version in <font color="red">red</font> are NMUed</b><br>
121 <b>Packages where testing version in <font color="#ff00ff">magenta</font> are those where the unstable version differs from the version in testing</b><br><br>
122 <b><u>The real number of bugs is displayed in each bugs column. Within parenthesis the total (including merged bugs) is displayed only if there is merged bugs</u></b>
123 </small>
124 <?
125 }
126
127 #
128 # print info for not found developer
129 #
130
131 function print_notfound($login)
132 {
133 print "<h2>No information available for $login</h2>";
134 }
135
136
137 #
138 # print the form because no login provided
139 #
140
141 function print_form()
142 {
143 ?>
144
145 <h1>Debian Developer's Packages Overview</h1>
146
147 <p>Use the following search forms to determine the Debian developer whose
148 packages overview you wish to see:</p>
149
150 <p>Search based on the <tt>Maintainer</tt> field in packages:
151 <form method="GET" action="developer.php">
152 <input size="30" maxsize="40" type="text" limit="16" name="login" value="">
153 <input type="submit" value="Find">
154 </form>
155 <small>
156 If a single username is provided, @debian.org is automatically appended.
157 <br>
158 If you start with an uppercase letter or type two words, it is assumed that
159 you want to do a (partial) match on the maintainer name.
160 </small>
161
162 <p>Search based on a GPG key ID:
163 <form method="GET" action="developer.php">
164 <input size="8" maxsize="8" type="text" limit="8" name="gpg_key" value="">
165 <input type="submit" value="Find">
166 </form>
167
168 <p>Search based on a source package name:
169 <form method="GET" action="developer.php">
170 <input size="20" maxsize="30" type="text" limit="20" name="package" value="">
171 <input type="submit" value="Go">
172 </form>
173
174 <?
175 }
176
177
178 function print_query_all()
179 {
180 ?>
181
182 <p>Do you want to see the complete, sorted list of developers?
183 <strong>(>200kb!)</strong>
184 <form method="POST" action="developer.php">
185 <input type="hidden" name="all" value="1">
186 <input type="submit" value="Show the list">
187 </form>
188
189 <?
190 }
191
192 function print_all()
193 {
194 global $prefix;
195 $fp = fopen("$prefix/extract", "r");
196 ?>
197
198 <hr>
199
200 <h2>Sorted developer list</h2>
201
202 <table width="100%" border="1">
203 <tr align="center">
204 <td width="60%">
205 <b>Name and email</b>
206 </td>
207 <td>
208 <b>main</b>
209 </td>
210 <td>
211 <b>non-US</b>
212 </td>
213 <td>
214 <b>Other <font size="-3" color="blue"><br>all contrib &amp;<br>non-free<br>packages</font></b>
215 </td>
216 <td>
217 <b>Total</b>
218 </td>
219 </tr>
220
221 <?
222 while(!feof($fp)) {
223 $line = fgets($fp, "10240");
224 if($line != "") {
225 $count = 0;
226 $line = preg_replace("/, /", ",", $line);
227 preg_match("/;(.+?);(.+?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*)$/", $line, $info_array);
228 print '<tr align="center">';
229 print '<td width="15%">';
230 print "<b><a href=\"$index_page?login=$info_array[1]\">$info_array[3] &lt;$info_array[1]&gt;</a></b>";
231 print '</td>';
232 $main = 0;
233 $nonUS = 0;
234 $other = 0;
235 if($info_array[4] != "") {
236 $main += count(explode(" ", $info_array[4]));
237 $count += count(explode(" ", $info_array[4]));
238 }
239 if($info_array[5] != "") {
240 $other += count(explode(" ", $info_array[5]));
241 $count += count(explode(" ", $info_array[5]));
242 }
243 if($info_array[6] != "") {
244 $nonUS += count(explode(" ", $info_array[6]));
245 $count += count(explode(" ", $info_array[6]));
246 }
247 if($info_array[7] != "") {
248 $other += count(explode(" ", $info_array[7]));
249 $count += count(explode(" ", $info_array[7]));
250 }
251 if($info_array[8] != "") {
252 $other += count(explode(" ", $info_array[8]));
253 $count += count(explode(" ", $info_array[8]));
254 }
255 if($info_array[9] != "") {
256 $other += count(explode(" ", $info_array[9]));
257 $count += count(explode(" ", $info_array[9]));
258 }
259
260 ?>
261 <td><? print $main?></td>
262 <td><? print $nonUS?></td>
263 <td><? print $other?></td>
264 <td><b><? print $count?></b></td>
265 </tr>
266 <?
267 }
268 }
269 print '</table>';
270 }
271
272 function get_rep($package_name)
273 {
274 if(preg_match("/^lib/", $package_name)) {
275 return substr($package_name, 0, 4);
276 }else{
277 return substr($package_name, 0, 1);
278 }
279 }
280
281 # Check whether there is a debcheck entry for that package
282 function debcheckavailable($branch, $package_name) {
283 $package = ereg_replace ("\.", "_", $package_name);
284 if (ereg ("[^a-zA-Z0-9+_-]", $package) ||
285 ($branch != "oldstable" && $branch != "stable" && $branch != "testing" && $branch != "unstable")) {
286 return 0;
287 }
288 $BASEDIR='/org/qa.debian.org/data/debcheck/result/';
289 return file_exists($BASEDIR.'/'.$branch.'/packages/'.$package);
290 }
291
292 #
293 # This function print a package table information for specific branch
294 # given in argument
295 #
296 function print_package_entries($branch, $packages)
297 {
298
299 $packages = preg_replace ("/, /", ",", $packages);
300 $pack_array = split(" ", $packages);
301
302 ?>
303
304 <h3>Packages in <em><?print $branch?></em> (<?print count($pack_array)?>)</h3>
305
306 <table width="100%" border="1" cellpadding="3" cellspacing="1">
307 <tr align="center">
308 <th rowspan="2"><small><font color="green">Source&nbsp;Name</font></small></th>
309 <th rowspan="1" colspan="5"><small><font color="green">Bugs(see above)</font></small></th>
310 <th rowspan="1" colspan="5"><small><font color="green">Version</font></small></th>
311 <th rowspan="1" colspan="2"><small><font color="green">Security</font></small></th>
312 <th rowspan="2"><small><font color="green">Binary<br> Package Page</font></small></th>
313 <th rowspan="2"><small><font color="green">Buildd</font></small></th>
314 <th rowspan="2"><small><font color="green">Excuses</font></small></th>
315 <th rowspan="1" colspan="3"><small><font color="green">Broken dependencies</font></small></th>
316 <th rowspan="2"><small><font color="green">Section</font></small></th>
317 <th rowspan="2"><small><font color="green">Priority</font></small></th>
318 <th rowspan="2"><small><font color="green">Pool</font></small></th>
319 <th rowspan="1" colspan="3"><small><font color="green"><a href="http://www.debian.org/devel/testing">Uninstallable</a></font></small></th>
320 </tr>
321 <tr align="center">
322 <th><small><u><font color="green"><span title="All opened bugs">All</span></font></u></small></th>
323 <th><small><u><font color="green"><span title="Release Critical bugs">RC</span></font></u></small></th>
324 <th><small><u><font color="green"><span title="Important &amp; Normal bugs">I&amp;N</span></font></u></small></th>
325 <th><small><u><font color="green"><span title="Minor &amp; Wishlist bugs">M&amp;W</span></font></u></small></th>
326 <th><small><u><font color="green"><span title="Fixed &amp; Pending bugs">F&amp;P</span></font></u></small></th>
327 <th><small><font color="green">Stable</font></small></th>
328 <th><small><font color="green">Testing</font></small></th>
329 <th><small><font color="green">Unstable</font></small></th>
330 <th><small><u><font color="green"><span title="Stable Proposed updates">Prop. Up.</span></font></u></small></th>
331 <th><small><font color="green">Exp.</font></small></th>
332 <th><small><font color="green">Stable</font></small></th>
333 <th><small><font color="green">Testing</font></small></th>
334 <th><small><font color="green">Stable</font></small></th>
335 <th><small><font color="green">Testing</font></small></th>
336 <th><small><font color="green">Unstable</font></small></th>
337 <th><small><font color="green">Stable</font></small></th>
338 <th><small><font color="green">Testing</font></small></th>
339 <th><small><font color="green">Unstable</font></small></th>
340 </tr>
341 <?
342 foreach ($pack_array as $package)
343 {
344 global $prefix;
345 # print "<<< $package >>>";
346 # $upstream = $package[1];
347 preg_match("/(.+)\((.+)\)/", $package, $result);
348 $list = split (",", $result[2]);
349 $package_name = $result[1];
350 if(preg_match("/#/", $package)) {
351 $uploader = 1;
352 $package = preg_replace("/#/", "", $package);
353 }
354 if(preg_match("/%/", $package)) {
355 $all = 1;
356 $package = preg_replace("/%/", "", $package);
357 }
358 preg_match("/(.+?)\[(.+)\]\{(.+)\}\{(.+)\}\{(.+)\}\|(.*)\|:(.*):/", $package, $results);
359 $package = $package_name;
360 $version = $results[2];
361 $versions = explode (",", $version);
362 $version_stable = $versions[0];
363 $version_testing = $versions[1];
364 $version_unstable = $versions[2];
365 $version_prop = $versions[3];
366 $version_experimental = $versions[4];
367 $security_stable = $versions[5];
368 $security_testing = $versions[6];
369 $uninstalable_stable = preg_replace("/,/", "&nbsp;", $results[3]);
370 $uninstalable_testing = preg_replace("/,/", "&nbsp;", $results[4]);
371 $uninstalable_unstable = preg_replace("/,/", "&nbsp;", $results[5]);
372 $priority = $results[6];
373 $section = $results[7];
374
375 $fp = fopen("$prefix/bugs.txt", "r");
376 $bug_list = explode(" ", "0(0) 0(0) 0(0) 0(0)");
377 $temp = preg_replace("/\+/", "_", $package);
378 while(!feof($fp)) {
379 $line = fgets($fp, "512");
380 $line = preg_replace("/\+/", "_", $line);
381 if(preg_match("/^$temp\s+(\d+\(\d+\)\s\d+\(\d+\)\s\d+\(\d+\)\s\d+\(\d+\))/", $line, $results)) {
382 $bug_list = explode(" ", $results[1]);
383 break;
384 }
385 }
386 fclose($fp);
387
388 if(strcmp($version_stable, "-") == 0 || !debcheckavailable('stable', $package)) {
389 $stable_dep = "<small>-</small>";
390 }else{
391 $stable_dep = '<small><a href="http://qa.debian.org/debcheck.php?dist=stable&amp;package=' . rawurlencode($package) .'">Stable</a></small>';
392 }
393
394 if(strcmp($version_testing, "-")== 0 || !debcheckavailable('testing', $package)) {
395 $testing_dep = "<small>-</small>";
396 }else{
397 $testing_dep = '<small><a href="http://qa.debian.org/debcheck.php?dist=testing&amp;package=' . rawurlencode($package) .'">Testing</a></small>';
398 }
399
400 $buildd = "http://buildd.debian.org/build.php?pkg=".$package;
401 if(preg_match("/non-US/", $branch)) {
402 $pool = "http://non-us.debian.org/debian-non-US/pool/". $branch . "/" .get_rep($package) . "/" . $package . "/";
403 }else{
404 $pool = "http://ftp.debian.org/debian/pool/". $branch . "/" .get_rep($package) . "/" . $package . "/";
405 }
406
407 if(strcmp($version_unstable, "-")== 0 || !debcheckavailable('unstable', $package)) {
408 $sid_dep = "<small>-</small>";
409 }else{
410 $sid_dep = '<small><a href="http://qa.debian.org/debcheck.php?dist=unstable&amp;package=' . rawurlencode($package) . '">Unstable</a></small>';
411 }
412 $char = substr($package, 0, 1);
413 if(file_exists("$prefix/excuses/$char/$package")) {
414 $excuse = "<a href=\"developer.php?excuse=$package\">Excuses</a>";
415 }else{
416 $excuse = "-";
417 }
418 if(strcmp($version_prop, "-")) {
419 $version_prop = '<font color="#2222AA"><b>' . $version_prop . '</b></font>';
420 }
421 $prop = '<td rowspan="1" colspan="1"><small>' . $version_prop . '</small></td>';
422 if(strcmp($version_experimental, "-")) {
423 $version_experimental = '<font color="2222AA"><b>' . $version_experimental . '</b></font>';
424 }
425 $experimental = '<td rowspan="1" colspan="1"><small>' . $version_experimental . '</small></td>';
426
427
428 if((strcmp ($version_stable, $version_testing) == 0) &&
429 (strcmp ($version_stable, "/") != 0)) {
430 if((strcmp ($version_unstable, $version_testing) == 0)) {
431 $version_print = '<td rowspan="1" colspan="3"><small>' . $version_stable . '</small></td>' .$prop .$experimental;
432 }else{
433 $version_print = '<td rowspan="1" colspan="2"><small><font color="#ff00ff">' . $version_stable . '</font></small></td><td rowspan="1" colspan="1"><small>' . $version_unstable . '</small></td>' . $prop .$experimental;
434 }
435 $ver = explode("-", $version_unstable);
436 if((preg_match("/(.+\..+?)$/", $ver[count($ver) - 1], $toto)) && (count($ver) != 1))
437 {
438 $version_print = preg_replace("/$version_unstable/", "<font color=\"red\">$version_unstable</font>", $version_print);
439 }
440 }else if(strcmp ($version_testing, $version_unstable) == 0) {
441 if(strcmp($version_stable, "/") != 0) {
442 $version_stable = '<font color="#00AADD">'.$version_stable.'</font>';
443 }
444 $version_print = '<td><small>'.$version_stable.'</small></td><td rowspan="1" colspan="2"><small>' . $version_testing .'</small></td>' .$prop . $experimental;
445 $ver = explode("-", $version_unstable);
446 if((preg_match("/(.+\..+?)$/", $ver[count($ver) - 1], $toto)) && (count($ver) != 1))
447 {
448 $version_print = preg_replace("/$version_unstable/", "<font color=\"red\">$version_unstable</font>", $version_print);
449 }
450 }else {
451 if(strcmp($version_stable, "/") != 0) {
452 $version_stable = '<small><font color="#00AADD">'.$version_stable.'</font></small>';
453 }else{
454 $version_stable = '<small>'.$version_stable.'</small>';
455 }
456 $version_print = '<td>' . $version_stable . '</td><td><small><font color="#ff00ff">'.$version_testing . '</font></small></td><td><small>'.$version_unstable.'</small></td>' . $prop .$experimental;
457 $ver = explode("-", $version_unstable);
458 if((preg_match("/(.+\..+?)$/", $ver[count($ver) - 1], $toto)) && (count($ver) != 1))
459 {
460 $version_print = preg_replace("/$version_unstable/", "<font color=\"red\">$version_unstable</font>", $version_print);
461 }
462 }
463
464 if ($background == 1) {
465 print '<tr align="center">';
466 $background=0;
467 }else{
468 print '<tr align="center" bgcolor="#dcdcdc">';
469 $background=1;
470 }
471 ?>
472 <td width="15%">
473 <small>
474 <?
475 if ($uploader == 1) {
476 print '<font color="blue">';
477 }
478 print "<b>$package</b><a href=\"http://packages.qa.debian.org/".get_rep($package)."/$package.html\">[pts]</a>";
479 if ($uploader == 1) {
480 print '</font>';
481 $uploader = 0;
482 }
483 ?>
484 </small>
485 </td>
486 <td>
487 <small>
488 <?
489 $bugs = "http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=". rawurlencode($package)."&amp;archive=no&amp;pend-exc=pending-fixed&amp;pend-exc=fixed&amp;pend-exc=done";
490 $nobugs = "http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=". rawurlencode($package)."&amp;archive=no";
491 $bugs_all = "http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=". rawurlencode($package);
492 $bug_count = $bug_list[0] + $bug_list[1] + $bug_list[2] + $bug_list[3];
493 $real_bug_count = 0;
494 for ($i = 0; $i <= count($bug_list); $i++) {
495 preg_match("/\d+\((\d+)\)/", $bug_list[$i], $count_array);
496 $real_bug_count += $count_array[1];
497 }
498 if($bug_count == 0) { ?>
499 <a class="dash" href="<?print $bugs_all?>">-</a>
500 <? }else{
501 print bug_display("$bug_count($real_bug_count)", $bugs_all);
502 } ?>
503 </small>
504 </td>
505 <td>
506 <small>
507 <?
508 if(!strcmp($bug_list[0], "0(0)")) { ?>
509 <a class="dash" href="<? print $nobugs; ?>&amp;sev-inc=critical&amp;sev-inc=grave&amp;sev-inc=serious">-</a>
510 <? }else{ print bug_display($bug_list[0], "$bugs" . "&amp;sev-inc=critical&amp;sev-inc=grave&amp;sev-inc=serious"); } ?>
511 </small>
512 </td>
513 <td>
514 <small>
515 <?
516 if(!strcmp($bug_list[1], "0(0)")) { ?>
517 <a class="dash" href="<? print $nobugs; ?>&amp;sev-inc=important&amp;sev-inc=normal">-</a>
518 <? }else{ print bug_display($bug_list[1], "$bugs" . "&amp;sev-inc=important&amp;sev-inc=normal"); } ?>
519 </small>
520 </td>
521 <td>
522 <small>
523 <?
524 if(!strcmp($bug_list[2], "0(0)")) { ?>
525 <a class="dash" href="<? print $nobugs; ?>&amp;sev-inc=minor&amp;sev-inc=wishlist">-</a>
526 <? }else{ print bug_display($bug_list[2], "$bugs" . "&amp;sev-inc=minor&amp;sev-inc=wishlist"); } ?>
527 </small>
528 </td>
529 <td>
530 <small>
531 <?
532 if(!strcmp($bug_list[3], "0(0)")) { ?>
533 <a class="dash" href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=<? print rawurlencode($package); ?>&amp;archive=no&amp;pend-inc=pending-fixed&amp;pend-inc=fixed">-</a>
534 <? }else{ print bug_display($bug_list[3], "http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=". rawurlencode($package)."&amp;archive=no&amp;pend-inc=pending-fixed&amp;pend-inc=fixed"); } ?>
535 </small>
536 </td>
537 <?
538
539 print $version_print;
540 if(strcmp($security_stable,"-")) {
541 $security_stable = "<font color=\"red\">$security_stable</font>";
542 }
543 if(strcmp($security_testing,"-")) {
544 $security_testing = "<font color=\"red\">$security_stable</font>";
545 }
546 print '<td><small>'.$security_stable.'</small></td><td><small>'.$security_testing.'</small></td>';
547 ?>
548 <td width="15%">
549 <small>
550 <?
551 for ($i = 1; $i <= count($list); $i++) {
552 $url = rawurlencode("${list[$i -1]}");
553 print '<a title="';
554 print "${list[$i -1]}";
555 print '" href="http://packages.debian.org/';
556 print $url;
557 print '">';
558 print $i;
559 print "</a>";
560 if(($i % 3 ) == 0) {
561 print " ";
562 }else{
563 print "&nbsp;";
564 }
565 }
566 ?>
567 </small>
568 </td>
569 <td>
570 <small>
571 <?
572 if($all == 1 || preg_match("/non-free/", $branch) || (strcmp($version_unstable, "-") == 0)) {
573 print "-";
574 $all = 0;
575 }else{
576 print "<a href=\"$buildd\">Buildd</a>";
577 }
578 ?>
579 </small>
580 </td>
581 <td>
582 <small>
583 <?
584 print $excuse;
585 ?>
586 </small>
587 </td>
588 <td>
589 <?print $stable_dep?>
590 </td>
591 <td>
592 <?print $testing_dep?>
593 </td>
594 <td>
595 <?print $sid_dep?>
596 </td>
597 <td>
598 <?
599 print "<small>$section</small>";
600 ?>
601 </td>
602 <td>
603 <?
604 print "<small>$priority</small>";
605 ?>
606 </td>
607 <td>
608 <small>
609 <a href="<?print $pool?>">Pool</a>
610 </small>
611 </td>
612 <td>
613 <?
614 print "<small>$uninstalable_stable</small>";
615 ?>
616 </td>
617 <td>
618 <?
619 print "<small>$uninstalable_testing</small>";
620 ?>
621 </td>
622 <td>
623 <?
624 print "<small>$uninstalable_unstable</small>";
625 ?>
626 </td>
627 </tr>
628 <?
629 }
630 ?>
631 </table>
632 <?
633 }
634
635 if($excuse != "") {
636 $char = substr($excuse, 0, 1);
637 $excuse = preg_replace("/ /", "+", $excuse);
638 if(file_exists("$prefix/excuses/$char/$excuse")) {
639 $fp = fopen("$prefix/excuses/$char/$excuse","r");
640 print fread ($fp, filesize ("$prefix/excuses/$char/$excuse"));
641 fclose($fp);
642 }else{
643 print "<h2>No excuse for $excuse</h2>";
644 }
645 }else if($gpg_key != "") {
646 $contents = file("$prefix/extract");
647
648 $printed = 0;
649 $match = 0;
650
651 $gpg_key = preg_replace ("/0x/i", "", $gpg_key);
652 foreach ($contents as $line) {
653 if(preg_match("/;(.+?);(.*$gpg_key.*);(.+?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*)/i", $line, $pack_array)) {
654 $match += 1;
655 if($printed == 0) {
656 print_header_entries_top($pack_array[2], $pack_array[3]);
657 $printed = 1;
658 }else{
659 print "<hr>";
660 }
661
662 print_header_entries_body($pack_array[1], $pack_array[2], $pack_array[3]);
663 $count = 4;
664 foreach ($branch as $value) {
665 if($pack_array[$count] != "") {
666 print_package_entries($value, $pack_array[$count]);
667 }
668 $count += 1;
669 }
670 }
671 }
672 if($match == 0) {
673 print_notfound($gpg_key);
674 }
675
676 printBackLink();
677 }else if($login != "") {
678 $fp = fopen("$prefix/extract", "r");
679 $contents = fread($fp, filesize ("$prefix/extract"));
680
681 if (preg_match("/\S \S/", $login) || preg_match("/^[A-Z][^@]+$/", $login)) {
682 if (preg_match("/;(.*?);(.*?);(.*$login.*);(.*?);(.*?);(.*?);(.*?);(.*?);(.*)/", $contents, $pack_array)) {
683 print_header_entries_top($pack_array[2], $pack_array[3]);
684 print_header_entries_body($pack_array[1], $pack_array[2], $pack_array[3]);
685 $count = 4;
686 foreach ($branch as $value) {
687 if($pack_array[$count] != "") {
688 print_package_entries($value, $pack_array[$count]);
689 }
690 $count += 1;
691 }
692 } else {
693 print_notfound($login);
694 }
695 } else {
696 if (! preg_match("/@/", $login)) {
697 $login .= "@debian.org";
698 }
699 if (preg_match("/;$login;(.*?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*)/i", $contents, $pack_array)) {
700 print_header_entries_top($pack_array[1], $pack_array[2]);
701 print_header_entries_body($login, $pack_array[1], $pack_array[2]);
702 $count = 3;
703 foreach ($branch as $value) {
704 if($pack_array[$count] != "") {
705 print_package_entries($value, $pack_array[$count]);
706 }
707 $count += 1;
708 }
709 } else {
710 print_notfound($login);
711 }
712 }
713 fclose($fp);
714 printBackLink();
715 }else if ($package != "") {
716 $fp = fopen("$prefix/extract", "r");
717 $found = 0;
718 if(preg_match("/\+\+/", $package)) {
719 $package_short = preg_replace("/\+/", "", $package);
720 $regexp="/[ ;]$package_short..\(/";
721 }elseif(preg_match("/\+/", $package)){
722 $package_short = preg_replace("/\+/", "", $package);
723 $regexp="/[ ;]$package_short.\(/";
724 }else{
725 $regexp="/[ ;]$package\(/";
726 }
727 while(!feof($fp)) {
728 $line = fgets($fp, "32768");
729 if(preg_match("$regexp", $line, $results)) {
730 $found = 1;
731 preg_match("/;(.+?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*?);(.*)/i", $line, $pack_array);
732 print_header_entries_top($pack_array[2], $pack_array[3]);
733 print_header_entries_body($pack_array[1], $pack_array[2], $pack_array[3]);
734 $count = 4;
735 foreach ($branch as $value) {
736 if($pack_array[$count] != "") {
737 print_package_entries($value, $pack_array[$count]);
738 }
739 $count += 1;
740 }
741 }
742 }
743 if($found == 0) {
744 print_notfound($package);
745 }
746 fclose($fp);
747 printBackLink();
748 }else{
749 print_form();
750 if($all) {
751 print_all();
752 }else{
753 print_query_all();
754 }
755 }
756
757 $fp = fopen("$prefix/extract.date", "r");
758 $general = fgets($fp, "512");
759 fclose($fp);
760 $fp = fopen("$prefix/bugs.date", "r");
761 $bugs = fgets($fp, "512");
762 fclose($fp);
763 ?>
764
765 <hr>
766
767 <p><small>
768 Last updated:<br>
769 General information: <? print $general; ?><br>
770 Bug information: <? print $bugs; ?><br>
771 General information is updated once a day.<br>
772 Bug information is updated every 15 minutes.
773 </small></p>

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.5