summaryrefslogtreecommitdiffstats
path: root/check.php
diff options
context:
space:
mode:
Diffstat (limited to 'check.php')
-rwxr-xr-xcheck.php58
1 files changed, 53 insertions, 5 deletions
diff --git a/check.php b/check.php
index 4abe3529..5a1e1ae6 100755
--- a/check.php
+++ b/check.php
@@ -35,17 +35,18 @@ if ($cli) {
<?php
}
$repos = [
+ 'enterprise/10' => 'Enterprise Linux 10',
'enterprise/9' => 'Enterprise Linux 9',
'enterprise/8' => 'Enterprise Linux 8',
- 'enterprise/7' => 'Enterprise Linux 7',
'fedora/41' => 'Fedora 41',
'fedora/40' => 'Fedora 40',
'fedora/39' => 'Fedora 39',
];
$subs = [
+ 'modular',
'remi',
+ 'safe',
'test',
- 'php56',
];
$archs = [
'i386',
@@ -102,9 +103,9 @@ $mirrors = [
'https://remi.mivzakim.net/', // 2025-01-13
'http://repo1.ash.innoscale.net/remi/', // 2025-01-13
'https://bd.mirror.vanehost.com/Remi/', // 2025-01-17
+ 'http://mirrors.ukfast.co.uk/sites/remi/', // 2025-01-28 / 2025-01-30
];
$testing = [
- 'http://mirrors.ukfast.co.uk/sites/remi/', // 2025-01-28
'http://remi.conetix.com.au/', // 2025-01-22
'https://mirror.usi.edu/pub/remi/', // 2024-04-03 / 2025-01-29
];
@@ -169,6 +170,31 @@ function getRepoTime($uri) {
}
return ERR_CONTENT;
}
+
+function delta($ref, $loc) {
+ $d = ($ref > $loc ? $ref - $loc : $loc - $ref);
+ if ($d >= 60) {
+ $d /= 60;
+ if ($d >= 60) {
+ $d /= 60;
+ if ($d >= 24) {
+ $d /= 24;
+ $unit = 'day';
+ } else {
+ $unit = 'hour';
+ }
+ } else {
+ $unit = 'minute';
+ }
+ } else {
+ $unit = 'second';
+ }
+ if ($d > 1) {
+ $unit .= 's';
+ }
+ return sprintf("%s :%3d %s ago", date('r', $loc), $d, $unit);
+}
+
if (isset($_GET['mirror']) && isset($repos[$_GET['mirror']])) {
$path = $_GET['mirror'];
} else {
@@ -184,6 +210,18 @@ if (isset($_GET['arch']) && in_array($_GET['arch'], $archs)) {
} else {
$arch = 'x86_64';
}
+if (isset($_SERVER['argv'][1]) && isset($repos[$_SERVER['argv'][1]])) {
+ $path = $_SERVER['argv'][1];
+ array_shift($_SERVER['argv']);
+}
+if (isset($_SERVER['argv'][1]) && in_array($_SERVER['argv'][1], $subs)) {
+ $repo = $_SERVER['argv'][1];
+ array_shift($_SERVER['argv']);
+}
+if (isset($_SERVER['argv'][1]) && in_array($_SERVER['argv'][1], $archs)) {
+ $arch = $_SERVER['argv'][1];
+ array_shift($_SERVER['argv']);
+}
$name = $repos[$path];
$full = "$path/$repo/$arch";
@@ -223,6 +261,16 @@ if ($ref) {
$tocheck[] = $mirror;
}
}
+ foreach ($mirrors as $testing) {
+ if (preg_match('|'.$_SERVER['argv'][1].'|', $mirror)) {
+ $tocheck[] = $mirror;
+ }
+ }
+ foreach ($mirrors as $disabled) {
+ if (preg_match('|'.$_SERVER['argv'][1].'|', $mirror)) {
+ $tocheck[] = $mirror;
+ }
+ }
if (empty($tocheck)) {
$tocheck[] = $_SERVER['argv'][1];
}
@@ -230,7 +278,7 @@ if ($ref) {
} else {
$tocheck = array_merge($mirrors, $testing);
}
- printf(($cli ? "Check %d mirror(s) of %s (%s)\n" : "<h3>%s - %s</h3>\n"), count($tocheck), $name, date('r', $ref));
+ printf(($cli ? "Check %d mirror(s) of %s (%s, %s)\n" : "<h3>%s - %s</h3>\n"), count($tocheck), $name, $full, date('r', $ref));
foreach ($tocheck as $mirror) {
if ($cli) {
$pid = pcntl_fork();
@@ -249,7 +297,7 @@ if ($ref) {
printf("%50.50s : Ok\n", $mirror);
exit(0);
} else if ($loc) {
- printf("%50.50s : %s\n", $mirror, date('r', $loc));
+ printf("%50.50s : %s\n", $mirror, delta($ref, $loc));
exit(1);
} else {
printf("%50.50s : N/A\n", $mirror);