From a52812be79ab79dac4190988c6e837ddf436ffc9 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 16 May 2014 10:24:22 +0200 Subject: checkpkgist: new tool, to check upstream new version, using packagist --- checkpkgist.php | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 checkpkgist.php (limited to 'checkpkgist.php') diff --git a/checkpkgist.php b/checkpkgist.php new file mode 100755 index 0000000..0a0c961 --- /dev/null +++ b/checkpkgist.php @@ -0,0 +1,98 @@ +#!/usr/bin/php +cache = new Cache_Lite( + array( + 'memoryCaching' => true, + 'cacheDir' => $dir, + 'automaticSerialization' => true + ) + ); + } + + function getPackage($name) { + $url = self::URL.'packages/'.$name.'.json'; + $rep = $this->cache->get(__METHOD__, $url); + if (!$rep) { + $rep = @file_get_contents($url); + $this->cache->save($rep, __METHOD__, $url); + } + return ($rep ? json_decode($rep, true) : false); + } +} + +if (in_array('-h', $_SERVER['argv']) || in_array('--help', $_SERVER['argv'])) { + echo << $rpm) { + $rpmver = exec("rpm -q --qf '%{VERSION}' $rpm", $out, $ret); + if ($ret) { + if ($quiet) { + continue; + } + $rpmver = "n/a"; + } + $pkgs = $client->getPackage($name); + if ($pkgs) { + foreach ($pkgs['package']['versions'] as $pkver => $pkg) { + if (strpos($pkver, 'dev') !== false) { + continue; + } + if (version_compare($pkver, $rpmver, 'gt')) { + if ($pkg['source']['type']=='git') { + printf(" %-40s %15s %15s\n", $rpm, $rpmver, $pkver); + if ($verb) { + printf("\tURL: %s\n\tHash: %s\n", + ($pkg['source']['url']?:'unkown'), + ($pkg['source']['reference']?:'unkown')); + } + } + break; + } + else if (version_compare($pkver, $rpmver, 'eq') && $verb) { + printf(" %-40s %15s %15s\n", $rpm, $rpmver, $pkver); + break; + } + } + } else { + printf(" %-40s %15s %15s\n", $rpm, $rpmver, 'Not found !'); + } +} \ No newline at end of file -- cgit