Pear channels, uri, package_filemanager, etc. I cannot make my package

From: Date: Sun, 26 Nov 2006 13:20:41 +0000
Subject: Pear channels, uri, package_filemanager, etc. I cannot make my package
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-45013@lists.php.net to get a copy of this message
Hi, I'd like to use package_filemanager to generate a package.xml file with version 2 format. Whatever I try, I always get a result like this one : PEAR_PackageFileManager2 Error: Package validation failed: Error: Invalid tag order in <package>, found <summary> expected one of "channel, uri" Error: package.xml <package> tag has no version attribute, or version is not 2.0 or other variants. I don't have a channel setup for my packages yet and I don't know what to put in uri since it is not documented apparently. Here is the code I use to generate my package, it's taken directly package_filemanager2 comments: <code> require_once('PEAR/PackageFileManager2.php'); PEAR::setErrorHandling(PEAR_ERROR_DIE); $packagexml = new PEAR_PackageFileManager2; $e = $packagexml->setOptions( array('baseinstalldir' => 'Mamasam', 'packagedirectory' => dirname(__FILE__).'/..', 'filelistgenerator' => 'file', // generate from cvs, use file for directory 'ignore' => array('.svn/', 'tests/'), // ignore TODO, all files in tests/ 'dir_roles' => array('tests' => 'test'), )); // same for the license $packagexml->setPackage('Mamasam_ACL'); $packagexml->setSummary('Rights and permissions management package'); $packagexml->setDescription('Rights and permissions management package.'); $packagexml->setAPIVersion('1.0.0'); $packagexml->setReleaseVersion('0.9.0'); $packagexml->setReleaseStability('beta'); $packagexml->setAPIStability('stable'); $packagexml->setNotes("Initial release"); $packagexml->setPackageType('php'); // this is a PEAR-style php script package $packagexml->setPhpDep('5.1.0'); $packagexml->setPearinstallerDep('1.4.3'); $packagexml->addMaintainer('lead', 'mansion', 'Bertrand Mansion', 'golgote@mamasam.com'); $packagexml->setLicense('New BSD License', 'http://opensource.org/licenses/bsd-license.php'); $packagexml->generateContents(); // create the <contents> tag // replace @PHP-BIN@ in this file with the path to php executable! pretty neat $packagexml->addGlobalReplacement('package-info', '@package_version@', 'version'); $pkg = &$packagexml->exportCompatiblePackageFile1(); // get a PEAR_PackageFile object // note use of {@link debugPackageFile()} - this is VERY important if (isset($_GET['make']) || (isset($_SERVER['argv']) && @$_SERVER['argv'][1] == 'make')) {
    $pkg->writePackageFile();
    $packagexml->writePackageFile();
} else {
    $pkg->debugPackageFile();
    $packagexml->debugPackageFile();
} </code> Can somebody help me ? Should I write the package2.xml file by hand ? Or is there a tutorial somewhere on how to do this and maybe also how to setup a server with channels. TIA, -- Bertrand Mansion Mamasam Work : http://www.mamasam.com Blog : http://golgote.freeflux.net

« previous php.pear.dev (#45013) next »