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

Contents of /trunk/wml/developer.wml

Parent Directory Parent Directory | Revision Log Revision Log


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