Re: sources for PEAR_PackageFileManager
| From: | Greg Beaver | Date: | Wed, 23 Jul 2003 04:33:54 +0000 |
| Subject: | Re: sources for PEAR_PackageFileManager | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-18566@lists.php.net to get a copy of this message | ||
Hi Mirco,
Saw your brand new package.xml in pear.cvs, looking good baby :). Let me know if there is anything else that doesn't work, it's really fun to have a package that is so small I can find and fix any bug in it within 30 seconds - 5 minutes :).
Greg
Mirco 'meebey' Bauer wrote:
forget what I said about my current results, I was checking the wrong output... I guess I am too long testing different things with it... When I got a clear head I will post the real results... On Wed, 2003-07-23 at 00:02, Greg Beaver wrote:Hi, I just ran your script, unmodified (except for paths) on the HEAD of CVS, and it generated the output as expected. The only difference I can imagine in our configuration is that I have PEAR 1.2b2, what is your pear list output? Can you make sure that you are accessing the newly modified package.xml and not another copy? I would recommend modifying your script so that instead of spitting out a new package.xml, it overwrites the old one, and use debugPackageXml() to check that output is valid. Then, you can switch to writePackageXml() afterwards. I use windows, so a simple modification allows me to view, modify, and generate: if (isset($_GET['make'])) { $e = $test->writePackageFile(); } else { $e = $test->debugPackageFile(); } if (PEAR::isError($e)) { echo $e->getMessage(); } if (!isset($_GET['make'])) { echo '<a href="' . $_SERVER['PHP_SELF'] . '?make=1">Make this file</a>'; } Greg Mirco 'meebey' Bauer wrote:ok DOCTYPE stays, license tag stayed in package scope, license tag stayed in current release, license tag stayed in all changelog releases. and yep, that anoying newline after <notes> is gone, and also the thing that removed my first newline in <notes>. thats good :)) I tried to change license to PHP and rerun the script, it didn't chany any license tag to PHP. Then I removed the license tag in package scope and from the current release, and he didn't add he license... and now I get some notices: meebey@meebey-mobile:~/data/projects/SmartIRC/cvs-php/pear/Net_SmartIRC-0_5_X$ php createpackage.php PHP Notice: Undefined index: release_deps in /usr/local/share/pear/PEAR/PackageFileManager.php on line 801 PHP Notice: Undefined index: release_deps in /usr/local/share/pear/PEAR/PackageFileManager.php on line 740 here my createpackagexml.php script: <?php $version = '0.5.5'; $license = 'PHP'; $notes = &$changelog; $changelog = " v0.5.5: ------- fixes: - fixed a bug in _rawreceive() messages were parsed wrong which caused problems with kick reasons. (thx to sniper for reporting this). - fixed bug in message() CTCP ACTION messages had missing \\001 at the end. - fixed a bug in quit(), which caused quit messages not to be sent to the server. - fixed reconnect() bug, it sent the channel join requests right after connect(), and tried to join a channel without a name. - fixes in ChannelSync code When a user joins a channel after SmartIRC, no WHO info is updated in the user object. Fixed wrong update of channel mode when rpl_channelmodeis received. Fixed bug in _mode() method, which caused wrong handling of mode changes. Topic updates are now tracked (thanks to sniper). Fixed bug which caused fatal errors with ChannelSync enabled (closes sf.net bug #705269). Fixed bug in _event_mode(), unhandled modes were stored wrong. Fixed bug in _event_rpl_namreply(), which caused that the first char of the first nick of a namreply got cut (closes sf.net bug #747832). - fixed bug in _checktimer() Which caused problems when a timehandler is unregistered. - fixed _gettye() It wasn't recognizing SMARTIRC_TYPE_ACTION. - removed if(!\$obj) check for newly created objects (closes PHP bug #24622), required for PHP 4.1.2 compatibility. changes: - removed all irc commands from SmartIRC.php they have now their own file (SmartIRC/irccommands.php). - Net_SmartIRC_messagehandler class now extends Net_SmartIRC_irccommands. - removed the 1. parameter (&\$irc) of all message handlers, not needed anymore. - renamed class Net_SmartIRC_user to Net_SmartIRC_channeluser, added class Net_SmartIRC_ircuser. - added prefix _event to all message handlers (needed because of class restructuring). - tweaked filling of the ircdata objects. - log() now checks the passed debug level bitwise. - \$data->message will be null instead of random garbage, if the IRC message has no colon (the message part), - All methods that depend on ChannelSync mode, checks if it's enabled. - Optimized the usage of time() for \$this->_lastrx. - updated the URL of a SmartIRC based bot (atbs). - _loggedin is now set to false when the socket is dead, required for proper working reconnect(). - on a reconnect(), the logfile won't be overwritten anymore. - updated phpdoc tags. - all access to the channel array now uses strtolower() for the key. - fixed typo in function name setChannelSynching(), now it's called setChannelSyncing() with a BC wrapper. - removed all SMARTIRC_ prefixes for debug output. - changed isJoined(\$channel) to isJoined(\$channel, \$nickname) for checking if the specified user is joined. - removed \"destructors\", because they don't free the memory. new: - added isOpped() isVoiced() isBanned(). - added debug output and debug level for the messageparser. - reconnect() uses now the channel key if one exists. - added channel key syncing in _mode(). - when an actionhandler message regex has a leading '/' then the regex is used as it is, this allows complex perl regex's. - added message type SMARTIRC_TYPE_CTCP_REQUEST and SMARTIRC_CTCTP_REPLY for more advanced CTCP. - added new log destinations SMARTIRC_NONE and SMARTIRC_BROWSEROUT (for firendly browserouput). When the script is called from a browser, the BROWSEROUT will automatic be used (closed sf.net bug #708155). - added error handling for socket_select() in _rawreceive(). - added getMessage() to Net_SmartIRC_Error class. - added debug level for ChannelSync code (SMARTIRC_DEBUG_CHANNELSYNCING). - added filename and linenumber to debug output. - added key property to channel class. - added to all IRC commands optional \$priority parameter with default value SMARTIRC_MEDIUM. - added isError() for more advanced errorhandling, needed for encapsulation. - added _isValidType() method, which checks for valid SMARTIRC_TYPE_* types. "; require_once('PEAR/PackageFileManager.php'); $packagexml = &new PEAR_PackageFileManager; $e = $packagexml->setOptions( array('baseinstalldir' => 'Net','version' => $version, 'packagedirectory' => '.', 'license' => $license, 'state' => 'stable', 'filelistgenerator' => 'cvs', 'notes' => $notes, 'changelognotes' => $changelog, 'ignore' => array('package.xml'), 'outputdirectory' => 'new', 'dir_roles' => array('docs' => 'doc', 'examples' => 'doc'), 'exceptions' => array('CHANGELOG' => 'doc', 'CREDITS' => 'doc', 'FEATURES' => 'doc', 'LICENSE' => 'doc', 'README' => 'doc') )); if (PEAR::isError($e)) { echo $e->getMessage(); die(); } $e = $packagexml->writePackageFile(); if (PEAR::isError($e)) { echo $e->getMessage(); die(); } ?> On Tue, 2003-07-22 at 21:13, Greg Beaver wrote:Hi, Just released 0.3, addresses the license problem and a few other subtle issues in the PEAR_Common. It now adds a DOCTYPE, and strips some newlines in the changelog release notes that the PEAR_Common xml parser adds. let me know if it works for you now :) Greg