It seems that most people still don't really get the idea behind
PECL, and how moving extensions there is a good idea.
Let me spell it out for you:
- PECL provides a way to keep your extensions self contained and
allows you to keep your own release cycle. - In addition, the packaging systems allows you to mark the package
with explicit, versioned, dependencies. - It is very easy to our users to install and upgrade these
"pickled" extensions.
---> PECL is a great solution for self-contained extensions
How does it help with the core?
-
As we move extensions from php-src/ext to pecl/, they can take
advantage of the PECL infrastructure.This allows people to build their own PHP and pick and choose the
particular version(s) of extensions that they want to use.
They might not want to use the very latest stable version if they
have a policy for avoiding bugs; conversely, they might want to
be using the latest version of the extension because it fixes
some bugs.
What is the resistance to moving stuff from the core?
-
PECL is still seen as Siberia. Some developers "fear" that
putting extensions in PECL will result in them having lower
quality because PECL extensions are somehow harder to test.
This is a totally bogus argument. Getting extensions from
PECL is just as hard or easy as getting anything else from CVS,
it is just an additional module to check out. There is nothing
hard about that, unless you are lazy.The new win32 build system doesn't give a damn about whether
your extension is in PECL or in the core; it will still compile
it and run any tests in the test suite; the unix build should
be able to do this too (currently it is a little painful for
regular, non-golden extensions, but that shouldn't be hard to fix). -
Some developers simply cannot see that there are two "problems"
with having our "golden" extensions in PECL:- Development
- Packaging
They see them as a combined issue, and get confused about how
to handle things.Using appropriate means on the CVS server, we can make the golden
pecl extensions appear under ext/ at the time you check out the
sources. Those sources will be HEAD, or whatever other branch
you requested. Development continues as it always has done in
the past.At Packaging time, when the Release Master (lets call him
Peter Piper) rolls the tarball, he will pick the latest stable
versions of those golden pecl extensions.
Typically, these will be the same versions as can be found on
the current branch, as golden extensions are kept in sync with
the core; but he may decide to use an older stable version of
the package if he decides the latest version isn't up to scratch.
The "pear bundle" tool makes it simple for Peter Piper to
"pick a pecl".This approach gives us more flexibility with our releases, without
overly complicating the common case.Furthermore, it allows the end user to build their extensions
as shared modules and then upgrade them to a more recent version
in between major releases of the core.
I'm tired of hearing FUD about PECL; lets stop resisting it and
start embracing it.
--Wez.
"King" of PECL
(whatever that means)
Hi King Wez ;)
Amen.
pierre
It seems that most people still don't really get the idea behind
PECL, and how moving extensions there is a good idea.
Who is currently doing the move within the cvs repository?
Uwe
MMK GmbH, Universitaetsstr. 11, 58097 Hagen
Uwe.Steinmann@mmk-hagen.de
Tel: +2331 840446 Fax: +2331 843920
It seems that most people still don't really get the idea behind
PECL, and how moving extensions there is a good idea.Who is currently doing the move within the cvs repository?
Jani and I did a few...
Derick
Wez,
I'm planning to roll Beta 3 within a few days (after we fix a couple of
important bugs such as the return bug).
The only way I know how to roll a release is to tag the main tree and use
makedist. If there's something else which needs to be done to get the right
Pecl extensions into the distributions please make sure makedist is
fixed.
I personally do feel Pecl is Siberia because it's not clear to me
how the final PHP package will be created.
I also don't see most end users starting to build their own shared
extensions from pecl. I'm not saying every extension has to be in the
release tar ball but all important ones should be there.
Additionally (not to do with Pecl) I'd like to see libXML2 bundled with the
PHP tar ball. I know some ppl object so I suggest having two tarballs. I'd
definitely download the one with the bundled version just to make sure I'm
using the recommended version.
Andi