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

Contents of /trunk/wml/developer.wml

Parent Directory Parent Directory | Revision Log Revision Log


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