rev |
line source |
gokhlayeh@186
|
1 <?php
|
gokhlayeh@371
|
2 $version_in_url=$_GET["version"];
|
gokhlayeh@371
|
3 if (file_exists("conf-$version_in_url.php")) {
|
gokhlayeh@371
|
4 include("conf-$version_in_url.php");
|
gokhlayeh@186
|
5 }
|
gokhlayeh@235
|
6 else {
|
gokhlayeh@235
|
7 if (file_exists("conf.php")) {
|
gokhlayeh@235
|
8 include("conf.php");
|
gokhlayeh@235
|
9 }
|
gokhlayeh@235
|
10 }
|
gokhlayeh@267
|
11
|
gokhlayeh@267
|
12 function include_and_link($file)
|
gokhlayeh@267
|
13 {
|
gokhlayeh@267
|
14 global $log_dir, $version;
|
gokhlayeh@267
|
15 if (($fp = fopen($file,"r")) === false) return;
|
gokhlayeh@267
|
16 while (($pkg = fgets($fp)) !== false) {
|
gokhlayeh@267
|
17 $pkg = chop($pkg);
|
gokhlayeh@267
|
18 if (file_exists("$log_dir/$pkg.html"))
|
pascal@376
|
19 echo "<a href=\"log.php?version=$version&package=$pkg\" target=\"_blank\">$pkg</a>\n";
|
gokhlayeh@267
|
20 else echo "$pkg\n";
|
gokhlayeh@267
|
21 }
|
gokhlayeh@267
|
22 fclose($fp);
|
gokhlayeh@267
|
23 }
|
gokhlayeh@267
|
24
|
gokhlayeh@267
|
25 function list_last_cooked($dir, $suffix)
|
gokhlayeh@267
|
26 {
|
gokhlayeh@267
|
27 global $version;
|
gokhlayeh@267
|
28 $path=basename($dir);
|
gokhlayeh@267
|
29 system("cd $dir && ls -1t *.$suffix | head -20 | \
|
gokhlayeh@267
|
30 while read file; do echo -n \$(stat -c '%y' $dir/\$file | \
|
pascal@376
|
31 cut -d. -f1); echo ' <a href=\"download.php?version=$version&package=$path/'\$file'\">'\$file'</a>'; done");
|
gokhlayeh@267
|
32 }
|
gokhlayeh@267
|
33
|
gokhlayeh@186
|
34 ?>
|
gokhlayeh@186
|
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
gokhlayeh@186
|
36 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
gokhlayeh@186
|
37 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
gokhlayeh@186
|
38 <head>
|
gokhlayeh@186
|
39 <title>SliTaz Build Bot</title>
|
gokhlayeh@186
|
40 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
gokhlayeh@186
|
41 <meta name="description" content="Tazbb web interface" />
|
pascal@363
|
42 <?php
|
pascal@363
|
43 if (isset($_GET["refresh"]))
|
pascal@363
|
44 echo " <meta http-equiv=\"refresh\" content=\""
|
pascal@377
|
45 .$_GET["refresh"]."\" />\n";
|
pascal@363
|
46 ?> <meta name="robots" content="index nofollow" />
|
gokhlayeh@235
|
47 <link rel="shortcut icon" href="web/favicon.ico" />
|
gokhlayeh@235
|
48 <link rel="stylesheet" type="text/css" href="web/slitaz.css" />
|
gokhlayeh@186
|
49 </head>
|
gokhlayeh@235
|
50 <body>
|
gokhlayeh@186
|
51
|
gokhlayeh@186
|
52 <!-- Header -->
|
gokhlayeh@186
|
53 <div id="header">
|
gokhlayeh@235
|
54 <!-- Access -->
|
gokhlayeh@235
|
55 <div id="access">
|
gokhlayeh@235
|
56 <?php
|
gokhlayeh@235
|
57 $versions_list = fopen('repositories.list', 'r');
|
gokhlayeh@235
|
58 if($versions_list)
|
gokhlayeh@235
|
59 {
|
gokhlayeh@235
|
60 $otherversion = '';
|
gokhlayeh@235
|
61 while(!feof($versions_list))
|
gokhlayeh@235
|
62 {
|
gokhlayeh@235
|
63 $otherversion = fgets($versions_list);
|
gokhlayeh@235
|
64 echo "<a href=\"?version=$otherversion\">$otherversion</a>";
|
gokhlayeh@235
|
65 }
|
gokhlayeh@235
|
66 fclose($versions_list);
|
gokhlayeh@235
|
67 }
|
gokhlayeh@235
|
68 ?>
|
gokhlayeh@235
|
69 </div>
|
gokhlayeh@186
|
70 <a href="http://bb.slitaz.org/"><img id="logo"
|
gokhlayeh@235
|
71 src="web/logo.png"
|
gokhlayeh@235
|
72 title="bb.slitaz.org" alt="bb.slitaz.org" /></a>
|
gokhlayeh@235
|
73 <p id="titre">#!/Build/Bot/<?php echo $version; ?></p>
|
gokhlayeh@186
|
74 </div>
|
gokhlayeh@186
|
75
|
gokhlayeh@186
|
76 <!-- Content -->
|
gokhlayeh@235
|
77 <div id="content-full">
|
gokhlayeh@186
|
78
|
gokhlayeh@235
|
79 <!-- Block begin -->
|
gokhlayeh@235
|
80 <div class="block">
|
gokhlayeh@235
|
81 <!-- Nav block begin -->
|
gokhlayeh@235
|
82 <div id="block_nav">
|
gokhlayeh@235
|
83 <h3><img src="pics/website/development.png" alt="" />Developers</h3>
|
gokhlayeh@235
|
84 <ul>
|
gokhlayeh@235
|
85 <li><a href="http://www.slitaz.org/en/devel/">Website/devel</a></li>
|
gokhlayeh@235
|
86 <li><a href="http://labs.slitaz.org/">Laboratories</a></li>
|
gokhlayeh@235
|
87 <li><a href="http://hg.slitaz.org/">Mercurial Repos</a></li>
|
gokhlayeh@235
|
88 <li><a href="http://people.slitaz.org/">People Stuff</a></li>
|
gokhlayeh@235
|
89 <li><a href="http://scn.slitaz.org/">Community Network</a></li>
|
gokhlayeh@235
|
90 </ul>
|
gokhlayeh@235
|
91 <!-- Nav block end -->
|
gokhlayeh@235
|
92 </div>
|
gokhlayeh@235
|
93 <!-- Top block begin -->
|
gokhlayeh@235
|
94 <div id="block_top">
|
gokhlayeh@235
|
95 <h1>Build Bot</h1>
|
gokhlayeh@235
|
96 <p>
|
gokhlayeh@334
|
97 Tazwok is a <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a>
|
pankso@348
|
98 Build Bot, it automatically cooks and tests packages. SliTaz
|
pankso@348
|
99 <a href="http://pkgs.slitaz.org/">packages</a> are cooked on
|
pankso@348
|
100 <a href="http://tank.slitaz.org">Tank</a>, the project main
|
pankso@348
|
101 server. This web interface gives the current status of the
|
pankso@348
|
102 build bot and the last report about any packages modified by
|
pankso@348
|
103 contributors in the Mercurial repositories, aka
|
gokhlayeh@235
|
104 <a href="http://hg.slitaz.org/">Hg repos</a>.
|
gokhlayeh@235
|
105 </p>
|
pankso@348
|
106 <p>
|
pankso@348
|
107 Note: Flavors/Iso build logs are named "iso-?flavor",
|
pankso@348
|
108 Temporary toolchain logs are named "tmp-toolchain-?package"
|
pankso@348
|
109 and check-incoming log is named "incoming".
|
pankso@348
|
110 </p>
|
gokhlayeh@235
|
111 <!-- Top block end -->
|
gokhlayeh@235
|
112 </div>
|
gokhlayeh@235
|
113 <!-- Block end -->
|
gokhlayeh@235
|
114 </div>
|
gokhlayeh@235
|
115
|
pascal@369
|
116 <a name="Cooklog"></a>
|
gokhlayeh@235
|
117 <h2>Cooklog</h2>
|
gokhlayeh@186
|
118
|
gokhlayeh@186
|
119 <p>
|
pascal@376
|
120 </p>
|
pascal@376
|
121 <div>
|
gokhlayeh@235
|
122 <form action="log.php" method="get">
|
gokhlayeh@235
|
123 <input type="hidden" name="version" value="<?php
|
gokhlayeh@235
|
124 echo "$version";
|
gokhlayeh@235
|
125 ?>
|
gokhlayeh@235
|
126 " />
|
pascal@370
|
127 Show pkg log:
|
pankso@341
|
128 <input type="text" name="package" style="width: 320px;" />
|
gokhlayeh@235
|
129 <!-- <input type="submit" value="Show" /> -->
|
pankso@348
|
130 </form>
|
pascal@376
|
131 </div>
|
gokhlayeh@186
|
132
|
pascal@369
|
133 <a name="Summary"></a>
|
gokhlayeh@247
|
134 <h2>Summary</h2>
|
pascal@372
|
135 <?php if (strpos($_SERVER["SERVER_NAME"],"slitaz.org") !== FALSE) { ?>
|
pankso@378
|
136 <a href="http://tank.slitaz.org/">
|
pankso@378
|
137 <img src="http://tank.slitaz.org/pics/rrd/cpu-day.png"
|
pankso@378
|
138 title="cpu daily" alt="cpu daily" />
|
pascal@375
|
139 </a>
|
pascal@372
|
140 <?php } ?>
|
pankso@378
|
141
|
pankso@378
|
142 <div class="infobox">
|
gokhlayeh@186
|
143 <?php
|
pankso@342
|
144 // Check curent status (update in real time) and display summary.
|
pascal@349
|
145 $status = "Chroot is not mounted";
|
pankso@342
|
146 if (file_exists($lockfile)) {
|
pascal@350
|
147 $status = "Chroot is mounted";
|
pankso@342
|
148 }
|
pascal@349
|
149 if (file_exists("$log_dir/step")) {
|
pascal@369
|
150 $duration = time() - filemtime("$log_dir/step");
|
pascal@369
|
151 if ($duration < 60)
|
pascal@369
|
152 $duration .= "s";
|
pascal@369
|
153 else if ($duration < 3600)
|
pascal@369
|
154 $duration = floor($duration / 60). " min";
|
pascal@369
|
155 else $duration = sprintf("%dH%02d",floor($duration / 3600),
|
pascal@369
|
156 ($duration / 60) % 60);
|
pascal@370
|
157 $status .= ". ".file_get_contents("$log_dir/step")." ($duration ago)";
|
pascal@349
|
158 if (file_exists("$log_dir/package")) {
|
pascal@349
|
159 $pkg = file_get_contents("$log_dir/package");
|
pascal@351
|
160 $pkg = chop($pkg);
|
pascal@349
|
161 if (file_exists("$log_dir/$pkg.html"))
|
pascal@376
|
162 $status .= " <a href=\"log.php?version=$version&package=$pkg\" target=\"_blank\">$pkg</a>";
|
pascal@351
|
163 else $status .= " $pkg";
|
pascal@349
|
164 }
|
pankso@342
|
165 }
|
pankso@378
|
166 echo date(DATE_RFC822).": $status\n";
|
gokhlayeh@371
|
167 // Set $version_in_url.
|
gokhlayeh@371
|
168 if ("$version_in_url") {
|
gokhlayeh@371
|
169 $version_in_url="?version=$version_in_url";
|
gokhlayeh@371
|
170 }
|
pascal@372
|
171 else if (strpos($_SERVER["REQUEST_URI"],"?") !== FALSE)
|
pascal@372
|
172 $version_in_url="?";
|
gokhlayeh@186
|
173 ?>
|
pankso@378
|
174 </div>
|
pankso@378
|
175
|
pascal@379
|
176 <table width="100%">
|
pascal@379
|
177 <tr>
|
pascal@379
|
178 <td>
|
pankso@378
|
179 <ul>
|
pascal@370
|
180 <li><a href="http://hg.slitaz.org/wok<?php
|
pascal@370
|
181 if ($version != "cooking") echo "-$version";
|
pascal@375
|
182 echo "\" target=\"_blank\">Packages in the wok</a>: ";
|
pankso@342
|
183 system("cd $wok && ls -1 | wc -l"); ?></li>
|
pankso@342
|
184 <li>Packages in the main repository: <?php
|
pankso@344
|
185 system("cd $packages && ls -1t *.tazpkg | wc -l"); ?></li>
|
gokhlayeh@371
|
186 <li><?php
|
gokhlayeh@371
|
187 echo "<a href=\"$version_in_url#cooked\">Packages in the incoming repository</a>: ";
|
pankso@344
|
188 system("cd $incoming && ls -1t *.tazpkg | wc -l"); ?></li>
|
gokhlayeh@371
|
189 <li><?php
|
gokhlayeh@371
|
190 echo "<a href=\"$version_in_url#Commit\">Commited packages</a>: ";
|
pascal@347
|
191 system("wc -l < $db_dir/commit"); ?></li>
|
pascal@379
|
192 </ul>
|
pascal@379
|
193 </td>
|
pascal@379
|
194 <td>
|
pascal@379
|
195 <ul>
|
gokhlayeh@371
|
196 <li><?php
|
gokhlayeh@371
|
197 echo "<a href=\"$version_in_url#Cooklist\">Packages to cook</a>: ";
|
pascal@347
|
198 system("wc -l < $db_dir/cooklist"); ?></li>
|
gokhlayeh@371
|
199 <li><?php
|
gokhlayeh@371
|
200 echo "<a href=\"$version_in_url#Broken\">Broken packages</a>: ";
|
pascal@347
|
201 system("wc -l < $db_dir/broken"); ?></li>
|
gokhlayeh@371
|
202 <li><?php
|
gokhlayeh@371
|
203 echo "<a href=\"$version_in_url#Blocked\">Blocked packages</a>: ";
|
pascal@347
|
204 system("wc -l < $db_dir/blocked"); ?></li>
|
gokhlayeh@265
|
205 </ul>
|
pascal@379
|
206 </td>
|
pascal@379
|
207 </tr>
|
pascal@379
|
208 </table>
|
gokhlayeh@186
|
209
|
pascal@363
|
210 <?php
|
pascal@363
|
211 if (!isset($_GET["summary"])) {
|
pascal@363
|
212 ?>
|
pascal@369
|
213 <a name="Commit"></a>
|
gokhlayeh@186
|
214 <h3>Commit</h3>
|
gokhlayeh@186
|
215 <pre class="package">
|
gokhlayeh@186
|
216 <?php
|
gokhlayeh@186
|
217 include("$db_dir/commit");
|
gokhlayeh@186
|
218 ?>
|
gokhlayeh@186
|
219 </pre>
|
gokhlayeh@186
|
220
|
pascal@369
|
221 <a name="Cooklist"></a>
|
gokhlayeh@186
|
222 <h3>Cooklist</h3>
|
gokhlayeh@186
|
223 <pre class="package">
|
gokhlayeh@186
|
224 <?php
|
gokhlayeh@186
|
225 include("$db_dir/cooklist");
|
gokhlayeh@186
|
226 ?>
|
gokhlayeh@186
|
227 </pre>
|
gokhlayeh@186
|
228
|
pascal@369
|
229 <a name="Broken"></a>
|
gokhlayeh@186
|
230 <h3>Broken</h3>
|
gokhlayeh@186
|
231 <pre class="package">
|
gokhlayeh@186
|
232 <?php
|
gokhlayeh@267
|
233 include_and_link("$db_dir/broken");
|
gokhlayeh@186
|
234 ?>
|
gokhlayeh@186
|
235 </pre>
|
gokhlayeh@186
|
236
|
pascal@369
|
237 <a name="Blocked"></a>
|
gokhlayeh@186
|
238 <h3>Blocked</h3>
|
gokhlayeh@186
|
239 <pre class="package">
|
gokhlayeh@186
|
240 <?php
|
gokhlayeh@267
|
241 include_and_link("$db_dir/blocked");
|
gokhlayeh@186
|
242 ?>
|
gokhlayeh@186
|
243 </pre>
|
gokhlayeh@186
|
244
|
pascal@369
|
245 <a name="cooked"></a>
|
gokhlayeh@186
|
246 <h3>Last cooked packages</h3>
|
gokhlayeh@186
|
247 <pre class="package">
|
gokhlayeh@186
|
248 <?php
|
gokhlayeh@267
|
249 list_last_cooked($incoming, "tazpkg");
|
gokhlayeh@267
|
250 ?>
|
gokhlayeh@186
|
251 </pre>
|
gokhlayeh@186
|
252
|
pascal@369
|
253 <a name="removed"></a>
|
gokhlayeh@186
|
254 <h3>Last removed packages</h3>
|
gokhlayeh@186
|
255 <pre class="package">
|
gokhlayeh@186
|
256 <?php
|
gokhlayeh@186
|
257 include("$db_dir/removed");
|
gokhlayeh@186
|
258 ?>
|
gokhlayeh@186
|
259 </pre>
|
gokhlayeh@186
|
260
|
pascal@369
|
261 <a name="flavors"></a>
|
gokhlayeh@186
|
262 <h3>Last cooked flavors</h3>
|
gokhlayeh@186
|
263 <pre class="package">
|
gokhlayeh@186
|
264 <?php
|
gokhlayeh@267
|
265 list_last_cooked($packages, "flavor");
|
gokhlayeh@267
|
266 ?>
|
gokhlayeh@186
|
267 </pre>
|
gokhlayeh@186
|
268
|
pascal@363
|
269 <?php
|
pascal@363
|
270 } // isset summary
|
pascal@363
|
271 ?>
|
gokhlayeh@235
|
272 <!-- End of content -->
|
gokhlayeh@186
|
273 </div>
|
gokhlayeh@186
|
274
|
gokhlayeh@235
|
275 <!-- Footer -->
|
gokhlayeh@235
|
276 <div id="footer">
|
gokhlayeh@235
|
277 <div class="right_box">
|
gokhlayeh@235
|
278 <h4>SliTaz Network</h4>
|
gokhlayeh@235
|
279 <ul>
|
gokhlayeh@235
|
280 <li><a href="http://www.slitaz.org/">Main Website</a></li>
|
gokhlayeh@235
|
281 <li><a href="http://doc.slitaz.org/">Documentation</a></li>
|
gokhlayeh@235
|
282 <li><a href="http://forum.slitaz.org/">Support Forum</a></li>
|
gokhlayeh@235
|
283 <li><a href="http://scn.slitaz.org/">Community Network</a></li>
|
gokhlayeh@235
|
284 <li><a href="http://labs.slitaz.org/">Laboratories</a></li>
|
gokhlayeh@235
|
285 <li><a href="http://twitter.com/slitaz">SliTaz on Twitter</a></li>
|
pankso@344
|
286 <li><a href="http://www.facebook.com/slitaz">SliTaz on Facebook</a></li>
|
gokhlayeh@235
|
287 </ul>
|
gokhlayeh@235
|
288 </div>
|
gokhlayeh@235
|
289 <h4>SliTaz Website</h4>
|
gokhlayeh@235
|
290 <ul>
|
gokhlayeh@235
|
291 <li><a href="#header">Top of the page</a></li>
|
gokhlayeh@235
|
292 <li>Copyright © <span class="year"></span>
|
gokhlayeh@235
|
293 <a href="http://www.slitaz.org/">SliTaz</a></li>
|
gokhlayeh@235
|
294 <li><a href="http://www.slitaz.org/en/about/">About the project</a></li>
|
gokhlayeh@235
|
295 <li><a href="http://www.slitaz.org/netmap.php">Network Map</a></li>
|
gokhlayeh@235
|
296 <li>Page modified the <?php echo (date( "d M Y", getlastmod())); ?></li>
|
gokhlayeh@235
|
297 <li><a href="http://validator.w3.org/check?uri=referer"><img
|
gokhlayeh@235
|
298 src="pics/website/xhtml10.png" alt="Valid XHTML 1.0"
|
gokhlayeh@235
|
299 title="Code validé XHTML 1.0"
|
gokhlayeh@235
|
300 style="width: 80px; height: 15px; vertical-align: middle;" /></a></li>
|
gokhlayeh@235
|
301 </ul>
|
gokhlayeh@186
|
302 </div>
|
gokhlayeh@186
|
303
|
gokhlayeh@186
|
304 </body>
|
gokhlayeh@186
|
305 </html>
|