diff options
-rw-r--r-- | autobuild/history.php | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/autobuild/history.php b/autobuild/history.php index c74b0b9..4f8b91c 100644 --- a/autobuild/history.php +++ b/autobuild/history.php @@ -11,14 +11,24 @@ if (!$package_id) { echo "<h1>History of package \"$package\"</h1>\n"; $result = $db->query("SELECT date(datetime(Start, 'unixepoch')) as run, ResultValues.Name FROM Runs, Results, ResultValues WHERE Runs.Id = Results.Run AND Results.Result = ResultValues.Id AND Results.Package = '$package_id' ORDER BY Start DESC"); while ($entry = $result->fetchArray(SQLITE3_ASSOC)) { - $run = $entry['run']; - $build_result = $entry['Name']; - echo "<a href='results.php?run=$run' >$run</a> "; - if ($link = glob("cauldron/*/core/$run/$package-*.src.rpm/")) { - echo "<a href='$link[0]'>$build_result</a><br/>\n"; - } else { - echo "$build_result<br/>\n"; - } + $run = $entry['run']; + $build_result = $entry['Name']; + echo "<a href='results.php?run=$run' >$run</a> "; + $link_exists = false; + if ($link = glob("cauldron/*/core/$run/$package-*/")) { + # Handle the case when a package is a prefix of several packages + $p = preg_quote($package); + foreach ($link as $l) { + if (preg_match("/$p-[^-]*-[^-]*$/", $l)) { + echo "<a href='$link[0]'>$build_result</a><br/>\n"; + $link_exists = true; + break; + } + } + } + if (!$link_exists) { + echo "$build_result<br/>\n"; + } } ?> |