[Dh-make-php-commits] r250 - trunk
steinm at alioth.debian.org
steinm at alioth.debian.org
Mon May 14 13:38:12 UTC 2007
Author: steinm
Date: 2007-05-14 13:38:12 +0000 (Mon, 14 May 2007)
New Revision: 250
Added:
trunk/phppkginfo
Log:
- simple php script to extract some information from the package.xml
file
Added: trunk/phppkginfo
===================================================================
--- trunk/phppkginfo (rev 0)
+++ trunk/phppkginfo 2007-05-14 13:38:12 UTC (rev 250)
@@ -0,0 +1,85 @@
+#!/usr/bin/php -f
+<?php
+
+include("PEAR/PackageFile.php");
+
+function usage() {
+ echo "Usage: ".$_SERVER["argv"][0]." dir <command>\n";
+ echo " dir - Directory containing package.xml file\n";
+ echo "\ncommands:\n";
+ echo " version - Return version of package\n";
+ echo " maintainers - Return comma separated list of maintainers\n";
+}
+
+if($_SERVER["argc"] < 3) {
+ usage();
+ exit;
+}
+
+$config = new PEAR_Config();
+$pkg = new PEAR_PackageFile($config);
+$pf = $pkg->fromAnyFile($_SERVER["argv"][1], PEAR_VALIDATE_NORMAL);
+//echo get_class($pf);
+//print_r($pf);
+//exit;
+
+//print_r($pf->_packageInfo);
+if(get_class($pf) == "PEAR_PackageFile_v1") {
+ switch($_SERVER["argv"][2]) {
+ case "version":
+ case "summary":
+ case "description":
+ case "packagerversion":
+ case "package":
+ case "release_license":
+ echo $pf->_packageInfo[$_SERVER["argv"][2]];
+ break;
+ case "license":
+ echo $pf->_packageInfo["release_license"];
+ break;
+ case "maintainers":
+ $tmp = array();
+ foreach($pf->_packageInfo["maintainers"] as $maintainer)
+ $tmp[] = $maintainer["name"];
+ echo implode(", ", $tmp);
+ break;
+ case "all":
+ print_r($pf->_packageInfo);
+ break;
+ default:
+ }
+} elseif(get_class($pf) == "PEAR_PackageFile_v2") {
+ switch($_SERVER["argv"][2]) {
+ case "version":
+ echo $pf->_packageInfo[$_SERVER["argv"][2]]["release"];
+ break;
+ case "packagerversion":
+ echo $pf->_packageInfo["attribs"][$_SERVER["argv"][2]];
+ break;
+ case "summary":
+ case "description":
+ case "release_license":
+ echo $pf->_packageInfo[$_SERVER["argv"][2]];
+ break;
+ case "package":
+ echo $pf->_packageInfo["name"];
+ break;
+ case "license":
+ echo $pf->_packageInfo["license"]["_content"];
+ break;
+ case "maintainers":
+ $tmp = array();
+ foreach($pf->_packageInfo["lead"] as $maintainer)
+ $tmp[] = $maintainer["name"];
+ foreach($pf->_packageInfo["developer"] as $maintainer)
+ $tmp[] = $maintainer["name"];
+ echo implode(", ", $tmp);
+ break;
+ case "all":
+ print_r($pf->_packageInfo);
+ break;
+ default:
+ }
+}
+
+?>
Property changes on: trunk/phppkginfo
___________________________________________________________________
Name: svn:executable
+ *
More information about the Dh-make-php-commits
mailing list