/** returns the package name of the given array/string */ function pkg_name($array) { $input = is_array($array) ? key($array) : $array; preg_match('/^(.+)-\\d+(?:\\.\\d+)+$/S', $input, $m); $lowered = $m[1]; foreach (get_pecl_packages() as $pkg) { if (strcasecmp($pkg, $lowered) === 0) { return $pkg; } } }
/** update PECL sources */ function update_pecl_sources() { `cvs -q -d :pserver:cvsread@cvs.php.net:/repository co -P pecl > /dev/null`; foreach (get_pecl_packages() as $pkg) { $releases = get_pecl_releases($pkg); foreach ($releases as $ver) { echo "fetching PECL package: {$pkg}-{$ver}... "; grab_pecl_release($pkg, $ver); } } }
} else { $vers = get_pecl_releases($pkg); } if ($vers) { foreach ($vers as $ver) { if (!isset($releases[$pkg])) { $releases[$pkg] = array(); } if (!in_array($ver, $releases[$pkg])) { $releases[$pkg][] = $ver; } } } } } else { foreach (get_pecl_packages() as $pkg) { fwrite(STDERR, "Fetching releases for: {$pkg}\n"); if ($peclReleases = get_pecl_releases($pkg)) { foreach ($peclReleases as $ver) { if (!isset($releases[$pkg])) { $releases[$pkg] = array(); } $releases[$pkg][] = $ver; } } } } foreach ($releases as $pkg => $versions) { foreach ($versions as $ver) { $pkgName = $pkg . '-' . $ver; fwrite(STDERR, "Grabbing PECL Release: " . $pkgName . "\n");