diff options
-rwxr-xr-x | checkrpmdate | 77 |
1 files changed, 45 insertions, 32 deletions
diff --git a/checkrpmdate b/checkrpmdate index f4bfa82..eded783 100755 --- a/checkrpmdate +++ b/checkrpmdate @@ -1,42 +1,55 @@ #!/usr/bin/php <?php -if (!isset($_SERVER['argv'][1])) { - die("usage checkrpmdate <specfile>\n"); -} -if (!file_exists($_SERVER['argv'][1])) { - die("File not found\n"); -} -$text = file_get_contents($_SERVER['argv'][1]); -$lines = explode("\n", $text); +function checkSpec($spec) { + printf("+ checking date in %s\n", $spec); + + $text = file_get_contents($spec); + $lines = explode("\n", $text); -$key = array_search("%changelog", $lines); -if (!$key) { - die("%changelog not found\n"); -} -$lines = array_slice($lines, $key); -$nbok = $nbko = 0; -foreach ($lines as $line) { - if (preg_match('/^\* (([[:alpha:]]{3}) ([[:alpha:]]{3}) *([[:digit:]]{1,2}) ([[:digit:]]{4}))/', $line, $reg)) { - $d0 = $reg[4].' '.$reg[3].' '.$reg[5]; - $t = strtotime($d0); - $d1 = date("D M d Y", $t); - $d2 = date("D M j Y", $t); - if ($d1 == $reg[1] || $d2 == $reg[1]) { - $nbok++; - } else { - echo $reg[1].": should be $d1\n"; + $key = array_search("%changelog", $lines); + if (!$key) { + die("%changelog not found\n"); + } + $lines = array_slice($lines, $key); + $nbok = $nbko = 0; + foreach ($lines as $line) { + if (preg_match('/^\* (([[:alpha:]]{3}) ([[:alpha:]]{3}) *([[:digit:]]{1,2}) ([[:digit:]]{4}))/', $line, $reg)) { + $d0 = $reg[4].' '.$reg[3].' '.$reg[5]; + $t = strtotime($d0); + $d1 = date("D M d Y", $t); + $d2 = date("D M j Y", $t); + if ($d1 == $reg[1] || $d2 == $reg[1]) { + $nbok++; + } else { + echo $reg[1].": should be $d1\n"; + $nbko++; + } + } else if (substr($line,0,1)=='*') { + echo "$line: should start with a date\n"; $nbko++; } - } else if (substr($line,0,1)=='*') { - echo "$line: should start with a date\n"; - $nbko++; + } + if (!$nbko) { + if ($nbok) { + echo "$nbok dates found are ok\n"; + } else { + echo "No date found\n"; + } } } -if (!$nbko) { - if ($nbok) { - echo "$nbok dates found are ok\n"; - } else { - echo "No date found\n"; +if (isset($_SERVER['argv'][1]) + && ($_SERVER['argv'][1]=='-h' || $_SERVER['argv'][1]=='--help')) { + die("usage checkrpmdate [ specfile ]\n"); + +} else if (isset($_SERVER['argv'][1])) { + if (file_exists($_SERVER['argv'][1])) { + checkSpec($_SERVER['argv'][1]); + } else { + die("File not found\n"); + } +} else { + foreach(glob("*.spec") as $file) { + checkSpec($file); } } |