PEAR_PackageFileManager: Error: Invalid tag order
| From: | Torsten Roehr | Date: | Sat, 16 Sep 2006 13:11:38 +0000 |
| Subject: | PEAR_PackageFileManager: Error: Invalid tag order | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-25147@lists.php.net to get a copy of this message | ||
Hi,
I have upgraded to PEAR_PackageFileManager 1.6.0b4 and now get the following
error:
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
My script looks like this:
<?php
require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
// set values
$channel = 'pear.php.net';
$package = 'HTTP_Session';
$licence = 'PHP Licence';
$summary = 'Object-oriented interface to the session_* family
functions';
$description = 'Object-oriented interface to the session_* family
functions.
It provides extra features such as database storage for
session data using the DB, MDB and MDB2 package. It introduces new methods
like isNew(), useCookies(), setExpire(), setIdle(),
isExpired(), isIdled() and others.';
$baseinstalldir = 'HTTP';
$version = '0.5.3';
$packagedirectory = 'c:/wwwroot/pear_dev/HTTP_Session';
$state = 'beta';
$filelistgenerator = 'file'; // generate from cvs or file
$notes = '- implemented request #8717:
HTTP_Session::replicate()';
$packagexml =& new PEAR_PackageFileManager2();
$packagexml->setOptions(array('baseinstalldir' => $baseinstalldir,
'packagedirectory' => $packagedirectory,
'filelistgenerator' => $filelistgenerator
)
);
$packagexml->setPackage($package);
$packagexml->setChannel($channel);
$packagexml->setSummary($summary);
$packagexml->setDescription($description);
$packagexml->setAPIVersion($version);
$packagexml->setReleaseVersion($version);
$packagexml->setReleaseStability($state);
$packagexml->setAPIStability($state);
$packagexml->setNotes($notes);
$packagexml->setPackageType('php'); // this is a PEAR-style php script
package
$packagexml->addRelease(); // set up a release section
$packagexml->setPhpDep('4.2.0');
$packagexml->setPearinstallerDep('1.4.0');
$packagexml->addPackageDepWithChannel('optional', 'DB',
'pear.php.net',
'1.7.6');
$packagexml->addPackageDepWithChannel('optional', 'MDB',
'pear.php.net',
'1.1.4');
$packagexml->addPackageDepWithChannel('optional', 'MDB2',
'pear.php.net',
'2.0.1');
$packagexml->addMaintainer('lead', 'lexxx', 'Alexander
Radivanovich',
'info@wwwlab.net');
$packagexml->setLicense($licence, 'http://www.php.net/license');
$packagexml->generateContents(); // create the <contents> tag
$pkg =& $packagexml->exportCompatiblePackageFile1(); // get a
PEAR_PackageFile object
// write to file
if (isset($_GET['make']) || (isset($_SERVER['argv'][1]) &&
$_SERVER['argv'][1] == 'make')) {
$pkg->writePackageFile();
$e = $packagexml->writePackageFile();
// output on screen
} else {
$pkg->debugPackageFile();
$e = $packagexml->debugPackageFile();
}
if (PEAR::isError($e)) {
echo $e->getMessage();
die();
}
?>
Would appreciate any hints. Thanks.
Regards, Torsten