summaryrefslogtreecommitdiffstats
path: root/autobuild/broken.php
blob: aab518551324b495e5127ca8612d7e5330b77f73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
header("Content-type: text/plain");

$srpm_dir = '/distrib/bootstrap/distrib/cauldron/SRPMS/core/release/';

$run = readlink("cauldron/x86_64/core/latest");
$packages = Array();
if ($handle = opendir($srpm_dir)) {
	while (false !== ($entry = readdir($handle))) {
		if (preg_match("/(.*)-([^-]*-[^-]*mga)[1-9].src.rpm/", $entry, $matches)) {
			$packages[$matches[1]] = $matches[2];
		}
	}
	closedir($handle);
}

$failure = Array();

$base_dir = "cauldron/x86_64/core/$run";

$status_name = "$base_dir/status.core.log";

$status_file = fopen($status_name, "r");
if ($status_file) {
	while (!feof($status_file)) {
		$line = fgets($status_file);
		if (preg_match("/^(.*): (.*)$/", $line, $matches)) {
			$rpm = $matches[1];
			$status = $matches[2];
			if ($status != "ok" && $status != "unknown" && $status != "not_on_this_arch"){
				preg_match("/(.*)-([^-]*-[^-]*mga)[1-9].src.rpm/", $rpm, $matches);
				$package = $matches[1];
				$version = $matches[2];
				if($packages[$package] && $packages[$package] == $version) {
					$failure[$rpm] = $status;
				}
			}
		}
	}
	fclose($status_file);

	ksort($failure);

	foreach ($failure as $rpm => $error) {
		echo "$rpm: $error\n";
	}
}
?>