[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