summaryrefslogtreecommitdiff
path: root/status.php
blob: 2b4e8a95cfb15c39ae262ed5eb79997e7dcb19a2 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php

function parse($name) {
  $inhalt = explode("-",$name);
  $arch = array_pop($inhalt);
  $pkgrel = array_pop($inhalt);
  $pkgver = array_pop($inhalt);
  $pkgname = implode("-",$inhalt);
  return array(
    "filename" => $name,
    "pkgname" => $pkgname,
    "pkgver" => $pkgver,
    "pkgrel" => $pkgrel,
    "arch" => $arch
  );
};

$f = fopen("packages", "r");
while (!feof($f))
  $soll[] = trim(fgets($f));
fclose($f);

$f = popen("find ~archlinuxewe/os -type f -name '*.pkg.tar.zst.sig' -printf '%f\n'", "r");
while (!feof($f))
  $ist[] = substr(trim(fgets($f)),0,-16);
pclose($f);

$ist = array_map('parse', $ist);
$soll = array_map('parse', $soll);

$pkgs = array();

foreach($ist as $i) {
  $pkgs[$i["pkgname"]][$i["arch"]]["ist"] = $i;
}
foreach($soll as $i) {
  $pkgs[$i["pkgname"]][$i["arch"]]["soll"] = $i;
}

?>
<!DOCTYPE html>
<html><body><table>
<?php

foreach ($pkgs as $pkgname => $pkg) {
  print "<tr><td colspan=3>" . $pkgname . "</td></tr>\n";
  foreach ($pkg as $arch => $apkg) {
    print "<tr><td>" . $arch . "</td><td>";
    if ($apkg["ist"]["filename"] == $apkg["soll"]["filename"])
      $farbe = "#008000";
    else
      $farbe = "#c00000";
    print "<font color=\"" . $farbe . "\">";
    print $apkg["ist"]["filename"];
    print "</font></td><td><font color=\"" . $farbe . "\">";
    print $apkg["soll"]["filename"];
    print "</font></td></tr>\n";
  }
}

?>
</table></body></html>