Newsgroups: php.internals,php.pecl.dev Path: news.php.net Xref: news.php.net php.internals:36446 php.pecl.dev:5282 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 15730 invoked from network); 24 Mar 2008 18:38:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Mar 2008 18:38:54 -0000 Authentication-Results: pb1.pair.com smtp.mail=steph@zend.com; spf=permerror; sender-id=softfail Authentication-Results: pb1.pair.com header.from=steph@zend.com; sender-id=softfail Received-SPF: error (pb1.pair.com: domain zend.com from 64.97.136.161 cause and error) X-PHP-List-Original-Sender: steph@zend.com X-Host-Fingerprint: 64.97.136.161 smtpout0161.sc1.he.tucows.com Solaris 8 (1) Received: from [64.97.136.161] ([64.97.136.161:3010] helo=n064.sc1.he.tucows.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1A/E2-03028-C35F7E74 for ; Mon, 24 Mar 2008 13:38:53 -0500 Received: from sc1-out03.emaildefenseservice.com (64.97.139.2) by n064.sc1.he.tucows.com (7.2.069.1) id 4769770500F6FB4F; Mon, 24 Mar 2008 18:05:00 +0000 X-SpamScore: 50 X-Spamcatcher-Summary: 50,0,0,17b937bf9a681a30,03b5634cdd4bfaa1,steph@zend.com,-,RULES_HIT:2:355:379:539:540:541:542:543:567:599:601:945:966:967:968:973:979:980:988:989:1155:1156:1260:1277:1311:1313:1314:1345:1437:1487:1515:1516:1518:1535:1587:1593:1594:1605:1730:1747:1766:1792:2073:2075:2078:2110:2194:2196:2198:2199:2200:2201:2379:2393:2525:2553:2561:2567:2682:2685:2693:2736:2828:2829:2857:2859:2892:2895:2900:2933:2937:2939:2942:2945:2947:2951:2954:3022:3027:3622:3636:3653:3743: 3865:3866:3867:3868:3869:3870:3871:3872:3873:3874:3934:3936:3938:3941:3944:4050:4120:4250:4362:4383:4385:4395:4886:5007:6119:6261:7653:7679:7875:7903,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:,MSBL:none,DNSBL:none X-Spamcatcher-Explanation: Received: from foxbox (62-31-252-198.cable.ubr07.shef.blueyonder.co.uk [62.31.252.198]) (Authenticated sender: steph.fox) by sc1-out03.emaildefenseservice.com (Postfix) with ESMTP; Mon, 24 Mar 2008 18:04:58 +0000 (UTC) Message-ID: <01cf01c88dd9$b04e99e0$c6fc1f3e@foxbox> Reply-To: "Steph Fox" To: "Pierre Joye" Cc: , "internals" References: <00dc01c88c90$c34c5cc0$c6fc1f3e@foxbox> <003701c88db8$915a4410$c6fc1f3e@foxbox> <017901c88dd1$39eb43a0$c6fc1f3e@foxbox> Date: Mon, 24 Mar 2008 18:05:45 -0000 Organization: Zend Technologies MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Subject: Re: [PHP-DEV] Re: [PECL-DEV] About that PECL versioning thing From: steph@zend.com ("Steph Fox") Hi Pierre, > Yes, it is what we call the common sense. However it would be even > better to document this common sense so packager (linux distros), new > developers and users will know it. Yes, that's the plan. But, one thing at a time... >> OK, here's a plan. How about we allow 'core' as a version tag (for use >> in >> MINFO and RC stuff only - package.xml obviously won't use it, and PECL >> package releases shouldn't either). So you'd have a version string like >> '1.5.0-core' in phpinfo() and in the .dll for core extensions, and in >> both >> cases the PHP version information is also available. A $Revision or $Id >> string in MINFO would also be useful in core extensions, purely from the >> bug-tracking PoV. >> This way you can easily see 1) the package release version, 2) whether >> or >> not it ships with PHP (and which version), and 3) when the code was last >> updated. We also avoid Johannes' problem of needing PECL release >> packages in >> a PHP release at a time when this isn't an option. > > It may do it. $Revision will still be there (as almost every extension > provides it) but it is not very useful (see previous mails). I know, but it gives a *bit* of a clue in what would otherwise be a void. > As a summay, we have the following cases: > > 1. a PECL package is now in core and will be maintained only there. > The PECL homepage has to say it This doesn't make a lot of sense to me - if they're symlinked, changes made in php-src ext/whatever are really going into PECL CVS. There's no reason there couldn't be a PECL release of a symlinked core package, either (in fact pecl/hash should probably have one following Solar Designer's patch). Or do you mean non-symlinked packages? If so, are there any PECL packages currently in core that are in this situation? > 2. a PECL package is now in core and will still be maintained in PECL. > For each PHP releases, a PECL release could be done as well so the > versions can be matched This would be the ideal scenario all round, but enforcing it may be problematic! > 3. a PECL package is now in core and will still be maintained in PECL. > Core and PECL has two completely different roadmaps, I have no idea > how to actually solve this case :) Isn't that what CVS branches are for? >> We also avoid Johannes' problem of needing PECL release packages in >> a PHP release at a time when this isn't an option. > > About merging a PECL release in a PHP release at packaging time > (packaging PHP release), if it is possible to detect whether we are > building an extension inside php-src or using phpize (via pecl or > manually) then it would be possible to add the "-core" postfix via a > simple #ifdef (I'll love to do it for zip). Cool :) For the RC stuff I just checked whether the path to the extension src included 'pecl' or not. >> > Well, if a package has not been touched, it won't be built and the old >> > dll will be kept no? >> >> No. We have new PHP versions every now and again... > > I obviously meant to do not build it again for a given PHP version. It doesn't seem to care about mtime anyway, so I was wrong too: http://cvs.php.net/viewvc.cgi/pecl/fribidi/ http://pecl4win.php.net/ext.php/php_fribidi.dll >> >> These aren't necessarily >> >> stable, but that's a whole separate issue... we need a way to >> clearly >> >> mark >> >> orphaned packages, both for pear/pyrus and for pecl.php.net. >> > >> > PEAR already has a nice system for that, I think we can use it as it >> > is now. It has been proven to work very well since years. >> >> Feel free to adapt it to PECL :) > > That's what I partially did earlier (x.y.z+1 , x.y+1.z, x+1.y.z). I'll > add the relevant part to the RFC and merge the points we already > agreed on. Thanks! >> > It is a non issue as the versions available in the dllinfo is not that >> > useful. But to apply a patch to a set of random branches is not really >> > a good idea even if it works for many extensions. >> >> I'm not 'applying a patch to a set of random branches'.... tsk! > > For example HEAD can be a random branch as well. It was not badly > meant but only a possible source of errors/confusions. No... it won't be, because in all cases where there is symlinking, all affected branches of the same extension will have the same version number - based on the most recent PECL release and tagged with -core. I'm only looking at 5_2, 5_3 and HEAD here, no more than that. >> > Yes, that's a real problem in PECL. One cause was to move dead >> > extensions from php-src to pecl/ instead of a orphaned repository. It >> > also affects only CVS users as long as these packages do not have any >> > pecl.php.net entry (without releases for example). What would be the >> > best way to deal with dead or orphaned extensions? A separate >> > extensions for dead extensions and add a file "REAME.ORPHANED" for the >> > orphaned extension? >> >> I think just ORPHANED, like we already have CREDITS and EXPERIMENTAL. >> (Elizabeth will disagree - has already - but I really don't see a better >> way >> of approaching this.) > > ORPHANED may do it as well. Should I start adding these now, where it's very obvious? And should there be some note inside the ORPHANED file to say what the extension needs? To go back to fribidi again (because it's a simple extension that hasn't been touched in 4 years and I know Tal's not likely to come back to it), there's a single compiler warning due to snprintf() changes in PHP and no tests at all. Nothing wrong with the extension itself, it works fine - but it _is_ orphaned. >> > That brings me to the next problem (we can discuss it in a separate >> > RFC :), but for the record: >> > - dead extension: useless extension like php4 dom or axis (not in pecl >> > anymore) >> > - orphaned extension: could still be useful but no active maintainer >> > (for example event) >> >> The problem there is that it's not always possible to know the >> difference. >> How do we know if an extension is 'dead', what are the criteria for >> that? > > There is many obvious cases: > - a given extension is hosted somewhere else > - the service used or targeted by the extension does not exist anymore > - the extension is superseded by core features (php4 dom for example) > > It has to be discussed on a case by case basis anyway but for the vast > majority, it is rather obvious. > >> And should they be removed? (My instinct says 'yes' but thousands may >> disagree with me.) Also, who gets to make that decision? > > Having the code still readable somewhere is a good thing. We can > simply move them in pecldeadext repository. What a horrible name :) How about pecl_graveyard? - Steph > > Cheers, > -- > Pierre > http://blog.thepimp.net | http://www.libgd.org > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >