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

Contents of /trunk/wml/developer.wml

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5