Hi!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:
https://wiki.php.net/rfc/umaintained_extensions
The main goal of the RFC is to initiate the process that by the time of
7.1 release will result in no extensions in PHP core being unmaintained.
The process would be as follows:
- Issue a call for maintainers (specific details of how, where, etc.
are to be discussed, ideas welcome). - Wait for suitable time and hopefully find new maintainers for most or
all extensions. For some stable ones not much commitment is needed
beyond declaring you are willing to be responsible for them, should the
need arise, for others some bugfixing may be in order :) - If after suitable time we can not find anybody to care enough for the
extension to be responsible, move the extension from core to PECL.
Please note that the ideal result is 2, not 3, but the goal is still to
have no unmaintained extensions in core.
Please comment and discuss!
Thanks,
Stas Malyshev
smalyshev@gmail.com
Hi Stas
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Hi!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:
enchant:
I thought Pierre maintained enchant? Despite it haven't had much real
activity for years
gettext
WordPress can optionally use gettext for some of their po/mo files,
I'm not entirely sure how this is today[1], but it might be worth
taking into consideration if there are other users.
pdo_dblib
I have seen a few PRs here and there recently from two different guys,
perhaps one of them would be interested in maintaining this as there
this is the only way to connect to MSSQL from PHP (if you dislike
odbc) as of PHP7, with the removal of ext/mssql.
pdo_oci
I have heard that maybe Oracle was going to take over this one, but it
seems fairly inactive, maybe this thread can help reach out to them.
readline
If removed, I guess this won't affect sapi/cli?
pspell
Pspell should probably have been deprecated after enchant was added to
the core in 5.3 I think it was, we did remove aspell infavor but
pspell still remained for some reason and I think it should go too.
sysvmsg / sysvshm / sysvsem
We do indeed only have a category for semaphores. As a Windows guy, I
cannot really make use of them, so I will wait and hear some feedback
on this.
tokenizer
Like you mentioned, I think this should be kept in the core and
possibly maintained as a part of the parser. I do write some
development tools every now and then and make use of this amazing
extension and will only want it to be kept.
All in all, I think it is remarkable that we have 3 PDO extensions
here, perhaps it will be time to reivist the whole PDO saga, but that
is for another topic I guess
[1] https://github.com/WordPress/WordPress/search?l=php&q=gettext&utf8=✓
--
regards,
Kalle Sommer Nielsen
kalle@php.net
Am 15.08.2016 um 10:17 schrieb Kalle Sommer Nielsen:
tokenizer
Like you mentioned, I think this should be kept in the core and
possibly maintained as a part of the parser. I do write some
development tools every now and then and make use of this amazing
extension and will only want it to be kept.
I consider this part of the core. It's (mostly) auto-generated anyway, right?
2016-08-15 10:23 GMT+02:00 Sebastian Bergmann sebastian@php.net:
I consider this part of the core. It's (mostly) auto-generated anyway, right?
The token list is generated from the core using
ext/tokenizer/tokenizer_data_gen.sh, rest is just to expose the two
functions, so yes pretty much
--
regards,
Kalle Sommer Nielsen
kalle@php.net
Hi Stas
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Hi!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:enchant:
I thought Pierre maintained enchant? Despite it haven't had much real
activity for years
Well there are not much changes in the api.
And it works. So -1 here.
gettext
WordPress can optionally use gettext for some of their po/mo files,
I'm not entirely sure how this is today[1], but it might be worth
taking into consideration if there are other users.
Here as much as I do not like it. I have to oppose it. That is a major
breakage (no, pecl is not the same).
pdo_dblib
I have seen a few PRs here and there recently from two different guys,
perhaps one of them would be interested in maintaining this as there
this is the only way to connect to MSSQL from PHP (if you dislike
odbc) as of PHP7, with the removal of ext/mssql.pdo_oci
I have heard that maybe Oracle was going to take over this one, but it
seems fairly inactive, maybe this thread can help reach out to them.readline
If removed, I guess this won't affect sapi/cli?pspell
Pspell should probably have been deprecated after enchant was added to
the core in 5.3 I think it was, we did remove aspell infavor but
pspell still remained for some reason and I think it should go too.sysvmsg / sysvshm / sysvsem
We do indeed only have a category for semaphores. As a Windows guy, I
cannot really make use of them, so I will wait and hear some feedback
on this.tokenizer
Like you mentioned, I think this should be kept in the core and
possibly maintained as a part of the parser. I do write some
development tools every now and then and make use of this amazing
extension and will only want it to be kept.All in all, I think it is remarkable that we have 3 PDO extensions
here, perhaps it will be time to reivist the whole PDO saga, but that
is for another topic I guess[1] https://github.com/WordPress/WordPress/search?l=php&q=gettext&utf8=✓
--
regards,Kalle Sommer Nielsen
kalle@php.net
Hi!
enchant:
I thought Pierre maintained enchant? Despite it haven't had much real
activity for yearsWell there are not much changes in the api.
And it works. So -1 here.
Wait, -1 for what? Having a maintainer? How that makes sense? OK,
there's no changes in API, but tomorrow comes security issue - who's
going to take care of it? Would we just ship knowingly broken code then
and not even tell users?
gettext
WordPress can optionally use gettext for some of their po/mo files,
I'm not entirely sure how this is today[1], but it might be worth
taking into consideration if there are other users.Here as much as I do not like it. I have to oppose it. That is a major
breakage (no, pecl is not the same).
What is major breakage - having a maintainer for this extension? I'm
sorry, I don't understand it.
Stas Malyshev
smalyshev@gmail.com
Hi Stas,
Hi!
enchant:
I thought Pierre maintained enchant? Despite it haven't had much real
activity for yearsWell there are not much changes in the api.
And it works. So -1 here.
Wait, -1 for what? Having a maintainer? How that makes sense? OK,
there's no changes in API, but tomorrow comes security issue - who's
going to take care of it? Would we just ship knowingly broken code then
and not even tell users?gettext
WordPress can optionally use gettext for some of their po/mo files,
I'm not entirely sure how this is today[1], but it might be worth
taking into consideration if there are other users.Here as much as I do not like it. I have to oppose it. That is a major
breakage (no, pecl is not the same).What is major breakage - having a maintainer for this extension? I'm
sorry, I don't understand it.
Wrong position for a reply so it may have been confusing. -1 for moving
them to pecl. And enchant has a maintainer. Gettext is one of these exts
without an official maintainer but still maintained, no? It is used widely
as well.
--
Stas Malyshev
smalyshev@gmail.com
Hi!
Wrong position for a reply so it may have been confusing. -1 for moving
them to pecl. And enchant has a maintainer.
Excellent. So who is the maintainer? Let's add that info to EXTENSIONS.
Gettext is one of these exts
without an official maintainer but still maintained, no? It is used
widely as well.
If it is used widely, somebody would be able to come up as the
maintainer I assume? I am not a big believer in "maintained by nobody
really", because this causes things to fall between chairs. We have
enough things doing this anyway, but in this case we can go to
maintainer and bother him/her about it, and usually it gets things
moving. Otherwise we get bystander effect. [1]
[1] https://en.wikipedia.org/wiki/Bystander_effect
Stas Malyshev
smalyshev@gmail.com
Hi!
gettext
WordPress can optionally use gettext for some of their po/mo files,
I'm not entirely sure how this is today[1], but it might be worth
taking into consideration if there are other users.
Maybe then somebody from Wordpress would be interested in taking over
maintainership?
--
Stas Malyshev
smalyshev@gmail.com
pdo_dblib
I have seen a few PRs here and there recently from two different guys,
perhaps one of them would be interested in maintaining this as there
this is the only way to connect to MSSQL from PHP (if you dislike
odbc) as of PHP7, with the removal of ext/mssql.
As one of those two people, it would help to have an official maintainer
for this extension. The path for "something's broken" or "something should
be different" to "committed fix" has been pretty murky.
I'm interested in putting my name forward for this. It would help to know
more about what's expected. In particular, when PRs poke at broader design
questions with the extension, what's the maintainer's role? One example:
https://github.com/php/php-src/pull/2017
Thanks,
Adam
Hi Adam
2016-08-15 23:34 GMT+02:00 Adam Baratz adam.baratz@gmail.com:
As one of those two people, it would help to have an official maintainer for
this extension. The path for "something's broken" or "something should be
different" to "committed fix" has been pretty murky.
First of all, great job on the recent pdo_dblib activity, its great to
see someone is actively interested in keeping this alive.
I'm interested in putting my name forward for this. It would help to know
more about what's expected. In particular, when PRs poke at broader design
questions with the extension, what's the maintainer's role? One example:
https://github.com/php/php-src/pull/2017
As for expectations, I think its generally expected that the
maintainer oversees bugs, and future development of the extension. An
example could be that a security issue is present in the extension and
having someone that understands the code able to review, fix and work
on it is good, instead of (like Stas mentioned), having someone look
into the code without fully understanding it, and potentially breaking
something else (kinda like what happened to ext/exif).
As a maintainer, you are pretty much the one that oversees the
extension, making sure its in working condition (to continue being in
the core), having tests passes, bug reports and PRs. Ofcourse other
core developers may from time to time touch the extension to fix
something, and in that case make sure to double check that there is no
obvious regressions (we all do make mistakes!).
From seeing your past commitment to pdo_dblib, I'm a +1 keeping this
extension with you as a maintainer, and I'm sure Anatol (cced) who
seems to also be active in some of the PRs say yes to that too.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
Hi Stas
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Hi!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:
pdo_oci
I have heard that maybe Oracle was going to take over this one, but it
seems fairly inactive, maybe this thread can help reach out to them.
Yep.
I've added myself to EXTENSIONS as PDO_OCI maintainer; can you take it
out of the RFC?
Thank you!
Chris
Hi!
I've added myself to EXTENSIONS as PDO_OCI maintainer; can you take it
out of the RFC?
Done, and thank you!
--
Stas Malyshev
smalyshev@gmail.com
readline
If removed, I guess this won't affect sapi/cli?
It would. In 5.3 or so I moved the interactive shell to the readline
extension (php -a) in order to help distributors who like to have
extensions shared.
I think "actual" readline functionality isn't used often in PHP, i.e.
GitHub doesn't seem to have any relevant results except phpt files,
syntax highlight descriptors etc.
https://github.com/search?l=php&p=1&q=readline&type=Code&utf8=%E2%9C%93
If we remove the extension and move the shell part back into sapi/cli we
have to teach distributors to link against readline or libedit and users
won't have a way to "fix" this without recompiling complete PHP.
I'm open for a discussion (probably in a different thread) about this.
If needed I can do readline maintenance.
tokenizer
Like you mentioned, I think this should be kept in the core and
possibly maintained as a part of the parser. I do write some
development tools every now and then and make use of this amazing
extension and will only want it to be kept.
The script to produce this is by me, if needed I can step in as official
maintainer. A nice thing would be if we could get rid of the script and
somehow generate this as part of the parser (which might mean making it
part of the engine) ...
johannes
Hi Stas,
The list has been reduced since first opening the discussion, some
maintainers have come forward for some of those first mentioned.
There are still some outstanding extensions though, and I'd like it if we
could move forward with this RFC: either finding maintainers or moving them
out.
Could you possibly find some time to push forward with this please ?
Cheers
Joe
On Tue, Aug 23, 2016 at 4:44 PM, Johannes Schlüter johannes@schlueters.de
wrote:
readline
If removed, I guess this won't affect sapi/cli?It would. In 5.3 or so I moved the interactive shell to the readline
extension (php -a) in order to help distributors who like to have
extensions shared.I think "actual" readline functionality isn't used often in PHP, i.e.
GitHub doesn't seem to have any relevant results except phpt files,
syntax highlight descriptors etc.
https://github.com/search?l=php&p=1&q=readline&type=Code&utf8=%E2%9C%93If we remove the extension and move the shell part back into sapi/cli we
have to teach distributors to link against readline or libedit and users
won't have a way to "fix" this without recompiling complete PHP.I'm open for a discussion (probably in a different thread) about this.
If needed I can do readline maintenance.tokenizer
Like you mentioned, I think this should be kept in the core and
possibly maintained as a part of the parser. I do write some
development tools every now and then and make use of this amazing
extension and will only want it to be kept.The script to produce this is by me, if needed I can step in as official
maintainer. A nice thing would be if we could get rid of the script and
somehow generate this as part of the parser (which might mean making it
part of the engine) ...johannes
On Mon, Aug 15, 2016 at 7:53 AM, Stanislav Malyshev smalyshev@gmail.com
wrote:
Hi!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:https://wiki.php.net/rfc/umaintained_extensions
The main goal of the RFC is to initiate the process that by the time of
7.1 release will result in no extensions in PHP core being unmaintained.
The process would be as follows:
- Issue a call for maintainers (specific details of how, where, etc.
are to be discussed, ideas welcome).- Wait for suitable time and hopefully find new maintainers for most or
all extensions. For some stable ones not much commitment is needed
beyond declaring you are willing to be responsible for them, should the
need arise, for others some bugfixing may be in order :)- If after suitable time we can not find anybody to care enough for the
extension to be responsible, move the extension from core to PECL.Please note that the ideal result is 2, not 3, but the goal is still to
have no unmaintained extensions in core.Please comment and discuss!
Is the a list of extension maintainers somewhere?
As others have mentioned, tokenizer is effectively core-maintained, but if
you need an explicit maintainer, you can put me in.
I think the interbase extension is missing from this list, I don't think it
has an active maintainer.
Nikita
2016-08-15 12:41 GMT+02:00 Nikita Popov nikita.ppv@gmail.com:
Is the a list of extension maintainers somewhere?
Although not updated that often, in fact I think it haven't been truly
updated for years, there is php-src/EXTENSIONS. Although this
information could probably be better kept in the Wiki or similar and
be more up-to-date.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
I think the interbase extension is missing from this list, I don't think it
has an active maintainer.
Don't go there again!
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
2016-08-15 18:05 GMT+02:00 Lester Caine lester@lsces.co.uk:
Don't go there again!
If there is no active maintainer, it just creates a burden on us core
developers that have to maintain it to the best of our abilities if
any, but there have not been anyone to take over the charge of this
extension, so unless someone does now, I do not see a reason to keep
this in the core. I understand that there are users of this extension,
but we cannot guarantee it to be in any sort of stable working
condition if there isn't anyone around to work on it.
Alternatively we still have ext/pdo_firebird, which I assume will
continue to work with Interbase systems. If not then I'm sorry, but I
do not want another extension on our checklist if no one is willing to
work on it.
Same issue for ext/mssql, although in MSSQL's case we do have
ext/pdo_dblib (pdo_mssql), ext/odbc & ext/pdo_odbc as an alternative.
If there is someone who can actively work on it, then it can have PECL
releases and if there is a big demand for it, I do not see why it
cannot return to the core at a point in time it is well maintained
(either extension that is)
--
regards,
Kalle Sommer Nielsen
kalle@php.net
2016-08-15 18:05 GMT+02:00 Lester Caine lester@lsces.co.uk:
Don't go there again!
If there is no active maintainer, it just creates a burden on us core
developers that have to maintain it to the best of our abilities if
any, but there have not been anyone to take over the charge of this
extension, so unless someone does now, I do not see a reason to keep
this in the core. I understand that there are users of this extension,
but we cannot guarantee it to be in any sort of stable working
condition if there isn't anyone around to work on it.Alternatively we still have ext/pdo_firebird, which I assume will
continue to work with Interbase systems. If not then I'm sorry, but I
do not want another extension on our checklist if no one is willing to
work on it.
We will do what WE have to to maintain it, but none of us are up to
speed with current PHP 'style' of coding so we also need help which is
how we managed to get the PHP7 version updated. If you pull firebird
then I am definitely dropping PHP7 and sticking with a working PHP5
infrastructure! PDO is no substitute for the current interbase driver
and I use cross database transactions which only the generic driver can
handle anyway.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
2016-08-15 19:09 GMT+02:00 Lester Caine lester@lsces.co.uk:
We will do what WE have to to maintain it, but none of us are up to
speed with current PHP 'style' of coding so we also need help which is
how we managed to get the PHP7 version updated.
I do not understand that statement, the last time someone actively did
something to improve the extension was back in january 2015, which is
portability to PHP7 and the cross Firebird support that seems to be in
this extension. However I do not see any contribution or patches that
helps maintain it as you so speak of, and again, I do not want that
extra burden on mine or my co-contributor's shoulders having to
maintain an extension none of us uses or have more in-depth knowledge
about, that you must be able to understand.
If you pull firebird
then I am definitely dropping PHP7 and sticking with a working PHP5
infrastructure! PDO is no substitute for the current interbase driver
and I use cross database transactions which only the generic driver can
handle anyway.
I meant it can be used instead of ext/interbase, in case interbase gets removed.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
2016-08-15 19:09 GMT+02:00 Lester Caine lester@lsces.co.uk:
We will do what WE have to to maintain it, but none of us are up to
speed with current PHP 'style' of coding so we also need help which is
how we managed to get the PHP7 version updated.I do not understand that statement, the last time someone actively did
something to improve the extension was back in january 2015, which is
portability to PHP7 and the cross Firebird support that seems to be in
this extension. However I do not see any contribution or patches that
helps maintain it as you so speak of, and again, I do not want that
extra burden on mine or my co-contributor's shoulders having to
maintain an extension none of us uses or have more in-depth knowledge
about, that you must be able to understand.
internals@lists.php.net/msg82170.html" rel="nofollow" target="_blank">https://www.mail-archive.com/internals@lists.php.net/msg82170.html From
December last year. I was under the impression that it was this work
that was in the driver already after we had helped debug it!
https://github.com/php/php-src/commits/master/ext/interbase Jan 8
commits I think ... It will be a couple of hours before my local repo is
back in sync and I can verify
By the way ... sql.safe_mode switch was ONLY used to lock the database
selection to the one defined in the ini file. The create database block
was to prevent bypassing that lock by simply creating a new database -
because you could not then access that database. This IS a BC change but
only if ibase.default_db is not the only database setting visible. It
would have made more sense to simply move it back to the ibase ini block
and document the change.
If you pull firebird
then I am definitely dropping PHP7 and sticking with a working PHP5
infrastructure! PDO is no substitute for the current interbase driver
and I use cross database transactions which only the generic driver can
handle anyway.I meant it can be used instead of ext/interbase, in case interbase gets removed.
Since PDO is a poor substitute for any of the generic drivers it's about
time THAT was finally put to bed and a decent alternative provided.
Firebird/Interbase is not the only driver that needs it's generic
version to provide much of the heavy lifting that PDO can't handle.
Currently the interbase driver is running clean on all my compatibility
testing of PHP7 so what is the problem?
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
2016-08-16 0:07 GMT+02:00 Lester Caine lester@lsces.co.uk:
internals@lists.php.net/msg82170.html" rel="nofollow" target="_blank">https://www.mail-archive.com/internals@lists.php.net/msg82170.html From
December last year. I was under the impression that it was this work
that was in the driver already after we had helped debug it!
https://github.com/php/php-src/commits/master/ext/interbase Jan 8
commits I think ... It will be a couple of hours before my local repo is
back in sync and I can verify
Let's take a look at the last 70 commits made to ext/interbase, which
ranges from (January 3rd 2014 to now):
PHP internals changes not related to the extension, including merges
and other indirect changes: 61
Direct bug fixes and improvements: 9
Which is on a 2½ year commit log, that is a long time for an
extension, where we have 9 open bug reports, 3 of the assigned to
Mariuz, one even as old as 2009, that bug just had its 7th birthday in
Jan 2016.
My previous statement still stands, if there is no one to maintain
this in the core, it becomes a burden on everyone else, simply because
we are simply not able to maintain this code base anymore, that you
must be able to see yes?
By the way ... sql.safe_mode switch was ONLY used to lock the database
selection to the one defined in the ini file. The create database block
was to prevent bypassing that lock by simply creating a new database -
because you could not then access that database. This IS a BC change but
only if ibase.default_db is not the only database setting visible. It
would have made more sense to simply move it back to the ibase ini block
and document the change.
Yes I do realize it is a BC change, I authored the patch. But as you
may also have noticed then this patch is for master only, which is PHP
7.2, that is probably first gonna be coming out in 2017 or 2018. But
it is off topic, so let that be or raise your concern in another
topic.
Since PDO is a poor substitute for any of the generic drivers it's about
time THAT was finally put to bed and a decent alternative provided.
Firebird/Interbase is not the only driver that needs it's generic
version to provide much of the heavy lifting that PDO can't handle.
Currently the interbase driver is running clean on all my compatibility
testing of PHP7 so what is the problem?
The problem that we are trying to solve here is that there is no one
to maintain those ways we have right now to collect to
Interbase/Firebird, how are we magically gonna provide some decent
alternatives if there is no one to even work on what we have in the
first place? That does not even make sense.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
The problem that we are trying to solve here is that there is no one
to maintain those ways we have right now to collect to
Interbase/Firebird, how are we magically gonna provide some decent
alternatives if there is no one to even work on what we have in the
first place? That does not even make sense.
None of the listed bugs are a problem in normal use. Some WERE fixed in
previous code, but those fixes were not merged with the master code base
in pre git days :(
I accept that 95% of changes are due simply to generic tidies/style
changes that someone feels good about and it was one of those fixes that
broke a few database extensions back in PHP5.0/1 days. It took a few
versions to get interbase fixed then and I did sort of understand how
THAT code worked, but all the ZEND complexity now overlaying the code
makes picking up simple changes a LOT more difficult. MY attempt at the
PHP7 changes where simply a mess which is why I asked for some help
working out just how to rework the code. The primary interface to
firebird and interbase has not changed in 20 years so the bulk of the
actions ARE only broken by PHP changes! Although it may be an advantage
to finally split firebird and interbase now that FB3 is out, there is no
pressing reason to do that since all one is really doing IS passing
queries to the engine and getting results sets back!
I should probably actually test FB3, but in my production environments
there is no pressing need to use that. I'm not expecting any problems
with PHP, but if the driver needs compiling with a non interbase
compatible client library, THEN we need to fork firebird and if we have
to do what we did when Pierre dropped support from the driver in windows
builds and supply an unsupported third party build so be it ...
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
2016-08-16 1:27 GMT+02:00 Lester Caine lester@lsces.co.uk:
None of the listed bugs are a problem in normal use. Some WERE fixed in
previous code, but those fixes were not merged with the master code base
in pre git days :(
So you are saying that in your patch for the PHP7 support for
ext/interbase, had some bugs fixed that is currently not merged into
the master? I do not see any such open PRs or bug reports, or remember
any such recent threads on internals about it, but now that it is
being suggested we remove ext/interbase, it comes up?
I accept that 95% of changes are due simply to generic tidies/style
changes that someone feels good about and it was one of those fixes that
broke a few database extensions back in PHP5.0/1 days. It took a few
versions to get interbase fixed then and I did sort of understand how
THAT code worked, but all the ZEND complexity now overlaying the code
makes picking up simple changes a LOT more difficult. MY attempt at the
PHP7 changes where simply a mess which is why I asked for some help
working out just how to rework the code. The primary interface to
firebird and interbase has not changed in 20 years so the bulk of the
actions ARE only broken by PHP changes! Although it may be an advantage
to finally split firebird and interbase now that FB3 is out, there is no
pressing reason to do that since all one is really doing IS passing
queries to the engine and getting results sets back!
The Zend API is not that complex for extensions, it have not changed
too much. We have tons of extensions now at least, or had in the PHP7
development time that could be used as a base understanding of how
simple APIs are working. We also have an IRC channel that we use where
you can probably get some support too, or even StackOverflow's chat
might be of some help, heck even Twitter.
But I still fail to understand the point you are making, at first you
are talking about "WE" as being who? Us, the PHP Development Team? You
and your company? The Community?
The baseline is fairly simple, and I will try to say it as directly as
I can hopefully one last time; We cannot maintain an extension if
there is no one willing to step forward to work on it, someone who
understands its internals, have proper testing facilities and such, if
that is the case, which seems to have been for a semi long time for
Interbase, then it should NOT be in the core. If there is no one to
maintain it, and there are security issues in it, then it causes even
more problems for us, the PHP Development Team, if we continue to
redistribute the core PHP interpreter with an extension that can
potentially compromise a server, I'm not talking strictly about
Interbase, as I do not have the in-depth knowledge about it, but I'm
talking aboustract, whether its Interbase, BCMath or something third.
I should probably actually test FB3, but in my production environments
there is no pressing need to use that. I'm not expecting any problems
with PHP, but if the driver needs compiling with a non interbase
compatible client library, THEN we need to fork firebird and if we have
to do what we did when Pierre dropped support from the driver in windows
builds and supply an unsupported third party build so be it ...
If Pierre dropped support for a driver on Windows, there is probably a
good reason to do so. On the top of my mind, I can think of several
reasons why it could be a problem. Unsupported library, commercial
tools required, unsupported Windows version, ... the list goes on.
But a piece of advice, if you are so keen on keeping Interbase, and
the "WE" you are so often talking about, why do you not contribute to
the Core to see it keep its place? If its an internals support issue,
then we have some, although rough snippets on the wiki[1], the PHP.net
manual[2], The PHP Internals Book[3], Nikita also have some
interesting and in depth reads on his blog[4]. Although I do not know
how updated these are to PHP7, but it does give you some hints of
where to look for things and what to keep in mind, and in worst case,
then go to the source.
[1] https://wiki.php.net/internals
[2] http://php.net/internals2.ze1.zendapi
[3] http://www.phpinternalsbook.com/
[4] https://nikic.github.io/
--
regards,
Kalle Sommer Nielsen
kalle@php.net
2016-08-16 1:27 GMT+02:00 Lester Caine lester@lsces.co.uk:
None of the listed bugs are a problem in normal use. Some WERE fixed in
previous code, but those fixes were not merged with the master code base
in pre git days :(So you are saying that in your patch for the PHP7 support for
ext/interbase, had some bugs fixed that is currently not merged into
the master? I do not see any such open PRs or bug reports, or remember
any such recent threads on internals about it, but now that it is
being suggested we remove ext/interbase, it comes up?
There have been several 'attempts' to drop ext/interbase, all well
documented on this list. PHP developers may not think Firebird is very
popular, and probably from a PHP base it isn't but it IS used
extensively in large areas of the World. 40 years ago I could tell
clients what line of code to change while on the phone. 15 years ago
when I was looking to augment proprietary code with web based, and PHP
seemed the natural stepping stone so I started using PHP5 in parallel
with C/C++ based systems. These days I'm lucky is I can remember if a
job was in C or PHP let alone what module or function will fix a
problem. BUT I did sit down with a clean copy of the source code and my
hg based DVCS allowed me to produce a set of guide lines from the
postgres driver as to the mods needed to bring the interbase one up to
date. I spent the best part of a week back last December trying to make
progress, but that is when
https://gist.github.com/laruence/f3af903012902818d7da was pointed out as
an alternative approach and I rolled back and started again from that.
Xinchen Hui put some fixes in based on my testing and I believe that was
what was pushed back in January. My hg mirror has finally synced over
night and come up with a couple of clashes on the test files, but I
understand those differences since any GOOD Firebird developer will tell
you that creating a database on the fly is a security risk and Firebird
is essentially designed to work with an existing one rather than
creating dummy ones while testing! My tests always use an existing test
database.
But I still fail to understand the point you are making, at first you
are talking about "WE" as being who? Us, the PHP Development Team? You
and your company? The Community?
We ... the Firebird community ... are trying to provide the support, but
earning money is perhaps a more pressing use of time these days :( And
simply trying to get PHP5.2 systems to run on later PHP's is just
another hold up on any progress to new code!
I should probably actually test FB3, but in my production environments
there is no pressing need to use that. I'm not expecting any problems
with PHP, but if the driver needs compiling with a non interbase
compatible client library, THEN we need to fork firebird and if we have
to do what we did when Pierre dropped support from the driver in windows
builds and supply an unsupported third party build so be it ...If Pierre dropped support for a driver on Windows, there is probably a
good reason to do so. On the top of my mind, I can think of several
reasons why it could be a problem. Unsupported library, commercial
tools required, unsupported Windows version, ... the list goes on.
The only problem at that time was the M$ way of working. Pierre would
not use the firebird client library unless it was rebuilt with the same
tools as the php builds, but the whole point of a client library was to
match different systems. Even today the client library that
ext/interbase uses is compiled for the engine compile rules rather than
the PHP ones. Especially on Windows.
But a piece of advice, if you are so keen on keeping Interbase, and
the "WE" you are so often talking about, why do you not contribute to
the Core to see it keep its place?
TIME ... I still have some 30% of my clients on PHP5.2 - with Firebird
1.5 and yet every system that I've moved to PHP5.6 needs checking on
every update because it's still not uncommon for something to pop up and
cause problems.
TODAY I am working on a total overhaul of the form management system
used with bitweaver in order to keep my best client happy. Hence the
discussion on 'simple variable'. To be honest I don't care what way PHP
goes on handling variables as I think I now have a working setup, but it
WOULD be nice if all that effort was more readily usable by many PHP users.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
There have been several 'attempts' to drop ext/interbase, all well
documented on this list. PHP developers may not think Firebird is very
popular, and probably from a PHP base it isn't but it IS used
extensively in large areas of the World.
Please carefully read Kalle's motivation for dropping it. It has nothing
to do with how popular Firebird is, and everything to do with who is
responsible for fixing any serious bugs that crop up in the
ext/interbase code.
Note as well that dropping it doesn't mean taking away your ability to
use it - it will still be on PECL, and many Linux distros won't even
change their package name. It's mostly just labelling who is promising
to maintain it - as long as it's in core, the promise is "it will be
stable in stable versions of PHP, and security maintained in security
maintained versions of PHP".
If there is nobody actively maintaining it, that promise is basically a
lie, so moving it to PECL is just giving it the more honest label of "it
will be maintained as and when someone volunteers the time for a
particular issue".
I'm sure everyone agrees is that the ideal situation is not to drop
it, and instead to find someone willing to commit to maintain it. But
there's no point saying it's maintained if nobody is actually performing
that role.
Regards,
Rowan Collins
[IMSoP]
I'm sure everyone agrees is that the ideal situation is not to drop
it, and instead to find someone willing to commit to maintain it. But
there's no point saying it's maintained if nobody is actually performing
that role.
While my name is not against maintaining it, that is what I have been
doing since I first started using PHP. My problem is that despite having
programmed in C/C++ since long before USING PHP, I find it very
difficult to actually understand the C code that makes it up. I have no
problems with the test side and we have a stable test suite for testing
against outside of PHP but many of the 'changes' in the code base ARE
generic changes to some core process and trying to mirror them into an
unmaintained extension is the problem here. Only people who understand
WHY they are making a change which affects every extension really know
how to do that. Trying to work out the PHP7 changes without a deep
understanding if what was needed was why I could not handle it ... and
I'm sure other extension maintainers were in the same boat?
http://php7.lsces.org.uk/ibtest.php tests what we want to do, and
nothing there has changed since I first used it back in 2004 and the
next step is to test with FB3 and PHP7 but I've not had time to set up a
suitable target site as yet. Any firebird user knows the password to get
in ... 'masterke' for those who don't ...
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
Hi Lester,
I have no
problems with the test side and we have a stable test suite for testing
against outside of PHP but many of the 'changes' in the code base ARE
generic changes to some core process and trying to mirror them into an
unmaintained extension is the problem here. Only people who understand
WHY they are making a change which affects every extension really know
how to do that.
That does make sense: a maintainer needs a combination of knowledge of
the PHP/Zend internals, and the third-party library / API the extension
is targetting. That's a tough combination to find.
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:https://wiki.php.net/rfc/umaintained_extensions
The main goal of the RFC is to initiate the process that by the time of
7.1 release will result in no extensions in PHP core being unmaintained.
The process would be as follows:
- Issue a call for maintainers (specific details of how, where, etc.
are to be discussed, ideas welcome).- Wait for suitable time and hopefully find new maintainers for most or
all extensions. For some stable ones not much commitment is needed
beyond declaring you are willing to be responsible for them, should the
need arise, for others some bugfixing may be in order :)- If after suitable time we can not find anybody to care enough for the
extension to be responsible, move the extension from core to PECL.Please note that the ideal result is 2, not 3, but the goal is still to
have no unmaintained extensions in core.Please comment and discuss!
Thanks for your work on this RFC! :-)
Generally, I'm all for moving unmaintained extensions to PECL. However,
I wonder on what information the concrete selection of unmaintained
extensions in the RFC is based. If it is php-src/EXTENSIONS, the RFC is
moot, in my opinion, as this file is grossly out-dated. It seems that
at least a third of the maintainers listed there have been inactive for
years. For instance, Stefan is claimed to be the maintainer of ftp, but
his most recent commit to this extension appears to be from 2002. (No
complaint, just an observation.) Another example is sqlite3, where
Scott's most recent commit has been 5 years ago. Yet another example:
Marcus's most recent commit to simplexml is from 2008. As final example
I mention bcmath, where Andi has made his most recent commit 2004.
Again, I don't complain that the maintainers are inactive (what is
absolutely fine for me), but rather that php-src/EXTENSIONS is totally
out-dated.
The bug tracker statistics appear to present a somewhat more realistic
view: https://bugs.php.net/stats.php. The topmost bundled extensions
having the most unresolved issues are standard, soap, date, spl and pdo.
The XML related extensions (libxml, dom, simplexml, xml, etc.) also sum up.
--
Christoph M. Becker
Hi!
Generally, I'm all for moving unmaintained extensions to PECL.
However, I wonder on what information the concrete selection of
unmaintained extensions in the RFC is based. If it is
php-src/EXTENSIONS, the RFC is moot, in my opinion, as this file is
grossly out-dated. It seems that
I don't see how it makes it moot, unless that means we actually have
maintainers for all the extensions but we don't know it. In which case,
I think RFC is successful, even if leads to just updating EXTENSIONS.
And since we don't really have anything else, at least for now, we would
go with the best info we have.
As you can see, there's also a need for updating EXTENSIONS and figuring
out if the listed maintainers are indeed still active, which will be
topic of the followup RFC.
Again, I don't complain that the maintainers are inactive (what is
absolutely fine for me), but rather that php-src/EXTENSIONS is
totally out-dated.
True, but that only makes the maintainership status update more
necessary, not less.
The bug tracker statistics appear to present a somewhat more
realistic view: https://bugs.php.net/stats.php. The topmost
bundled extensions having the most unresolved issues are standard,
soap, date, spl and pdo. The XML related extensions (libxml, dom,
simplexml, xml, etc.) also sum up.
The problem is not a sheer number of issues, but the question of if
there's anybody to take care of them, especially the important ones.
E.g. I've had to deal with wddx and exif issues, even though I don't
know both formats well enough - because otherwise we'd have security
bugs sitting there for a long time. Also we have security issues in
mysql that nobody is taking care of, and in FTP, and in libxml, and in
FPM, and in other places.
--
Stas Malyshev
smalyshev@gmail.com
Hi!
Generally, I'm all for moving unmaintained extensions to PECL.
However, I wonder on what information the concrete selection of
unmaintained extensions in the RFC is based. If it is
php-src/EXTENSIONS, the RFC is moot, in my opinion, as this file is
grossly out-dated. It seems thatI don't see how it makes it moot, unless that means we actually have
maintainers for all the extensions but we don't know it. In which case,
I think RFC is successful, even if leads to just updating EXTENSIONS.
And since we don't really have anything else, at least for now, we would
go with the best info we have.
That was badly worded from me. Actually, I didn't mean to say the RFC
generally is moot, but rather that the selection of extensions is moot
(in my opinion), because it is based on wrong assumptions.
As you can see, there's also a need for updating EXTENSIONS and figuring
out if the listed maintainers are indeed still active, which will be
topic of the followup RFC.
Maybe it would be better to first check the current status quo of
maintainership, and after that taking care of the insufficiently
maintained extensions.
It should be easy to verify whether the maintainers are still interested
in maintaining the respective extension(s); just write them an email and
ask. If somebody doesn't answer in due time, we also have an answer.
The bug tracker statistics appear to present a somewhat more
realistic view: https://bugs.php.net/stats.php. The topmost
bundled extensions having the most unresolved issues are standard,
soap, date, spl and pdo. The XML related extensions (libxml, dom,
simplexml, xml, etc.) also sum up.The problem is not a sheer number of issues, but the question of if
there's anybody to take care of them, especially the important ones.
E.g. I've had to deal with wddx and exif issues, even though I don't
know both formats well enough - because otherwise we'd have security
bugs sitting there for a long time. Also we have security issues in
mysql that nobody is taking care of, and in FTP, and in libxml, and in
FPM, and in other places.
Okay, the situation wrt. private bug reports is rather special, as
you've already pointed out in the other mail "rethinking security issues
in bugs db". Unless the extension maintainer has access to these
tickets, (s)he can't be of much help.
--
Christoph M. Becker
Hi!
Maybe it would be better to first check the current status quo of
maintainership, and after that taking care of the insufficiently
maintained extensions.
I think we can do both in parallel. I'll try to write the second RFC
soon (hopefully I'll have time) and we can do the maintainer list
refersh together with deciding what to do with unmaintaned extensions.
--
Stas Malyshev
smalyshev@gmail.com
Hi!
Maybe it would be better to first check the current status quo of
maintainership, and after that taking care of the insufficiently
maintained extensions.I think we can do both in parallel. I'll try to write the second RFC
soon (hopefully I'll have time) and we can do the maintainer list
refersh together with deciding what to do with unmaintaned extensions.
Sounds good to me. If I can be of assistance, please let me know.
--
Christoph M. Becker
Hi
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Please comment and discuss!
What about adding the following:
ext/dba
ext/interbase
ext/recode
I tried to look for anything recode, but it seems far gone, although I
did not do an extensive search for it. I'm unsure about the usage
though, but I doubt it can be much, considering we got iconv.
As for DBA, this extension have not really seen any major updates or
anything since 2009 when the Tokyo Cabinet support was added (PHP
5.3), is this still used largely or?
Interbase have already been discussed a fair bit in this thread, and
it does not seem Leister is going to contribute despite being the only
one around interested in this one, at least here on internals@.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
Interbase would be much better existing in PECL, since there is no
interest in supporting it by internals. Couchbase and Cassandra both
exist in PECL and both of those are likely more widely used by the
community than Interbase, and both are also still maintained (with
commits as recently as this month.)
--
Daniel Morris
daniel@honestempire.com
Hi
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Please comment and discuss!
What about adding the following:
ext/dba
ext/interbase
ext/recodeI tried to look for anything recode, but it seems far gone, although I
did not do an extensive search for it. I'm unsure about the usage
though, but I doubt it can be much, considering we got iconv.As for DBA, this extension have not really seen any major updates or
anything since 2009 when the Tokyo Cabinet support was added (PHP
5.3), is this still used largely or?Interbase have already been discussed a fair bit in this thread, and
it does not seem Leister is going to contribute despite being the only
one around interested in this one, at least here on internals@.--
regards,Kalle Sommer Nielsen
kalle@php.net
both of those are likely more widely used by the
community than Interbase,
Can you justify that statement!
I'd add that PHP5.2/3 is more widely used that PHP7 ...
And as already said it's not that we don't want to maintain it, it's
that we have no one who is competent enough to maintain it.
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
Can you justify that statement!
A quick comparison on Google Trends will show this, since the beginning
of 2013 Couchbase has been more popular, GitHub also has more PHP
projects for Couchbase than Interbase.
I'd add that PHP5.2/3 is more widely used that PHP7 ...
Interbase will continue to exist 5.{2,3,4,5,6}, and as you're not really
keen to upgrade (30% of your clients are still on 5.2, despite it
reaching end of life over five years ago, and 5.3 reached end of life 2
years ago), removing it from PHP7 shouldn't cause you too much concern,
since (based on your current pace of upgrading) you won't be switching
to PHP7 until 2024.
--
Daniel Morris
daniel@honestempire.com
Can you justify that statement!
A quick comparison on Google Trends will show this, since the beginning
of 2013 Couchbase has been more popular, GitHub also has more PHP
projects for Couchbase than Interbase.
Well Github figures are a problem where Hg is more popular amongst
Firebird users and financial services secure systems tend not to publish
their use of code at all. Firebird is used as a free alternative to
Oracle in many large services and at one time Interbase ran much of the
US emergency services - until Borland decided to end of life it in 1999.
For some reason they did not know just how important Interbase was to
many people :(
I'd add that PHP5.2/3 is more widely used that PHP7 ...
Interbase will continue to exist 5.{2,3,4,5,6}, and as you're not really
keen to upgrade (30% of your clients are still on 5.2, despite it
reaching end of life over five years ago, and 5.3 reached end of life 2
years ago), removing it from PHP7 shouldn't cause you too much concern,
since (based on your current pace of upgrading) you won't be switching
to PHP7 until 2024.
http://php7.lsces.org.uk/ and Firebird is running fine!
The problem with bringing PHP5.2/3 users forward is that nobody can be
bothered to help them. I simply don't have enough time to move the
clients I HAVE got over and I've now stopped taking any more of that
business on simply because there are not enough hours in the day. NOW it
looks like I have to find time to keep the C side of things working as
well ... something that is a lot easier for someone who knows WHY they
are changing the way something works inside PHP as happened with PHP7.
Firebird did not change so the client library is still the same!
Even moving the sites that I HAVE already pulled up to PHP5.6 over to
PHP7 requires additional work and testing so I resent your suggestion
that I'm taking too long doing all this work. Perhaps it is time to give
up even trying to help PHP!
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
2016-08-18 9:46 GMT+02:00 Lester Caine lester@lsces.co.uk:
Well Github figures are a problem where Hg is more popular amongst
<snip>
Firebird users and financial services secure systems tend not to publish
their use of code at all. Firebird is used as a free alternative to
Oracle in many large services and at one time Interbase ran much of the
US emergency services - until Borland decided to end of life it in 1999.
For some reason they did not know just how important Interbase was to
many people :(The problem with bringing PHP5.2/3 users forward is that nobody can be
bothered to help them. I simply don't have enough time to move the
clients I HAVE got over and I've now stopped taking any more of that
business on simply because there are not enough hours in the day. NOW it
looks like I have to find time to keep the C side of things working as
well ... something that is a lot easier for someone who knows WHY they
are changing the way something works inside PHP as happened with PHP7.
Firebird did not change so the client library is still the same!Even moving the sites that I HAVE already pulled up to PHP5.6 over to
PHP7 requires additional work and testing so I resent your suggestion
that I'm taking too long doing all this work. Perhaps it is time to give
up even trying to help PHP!
Honestly Lester, I do enjoy a good morning read but I'm getting a
little tired of this; this have no relevance to the extensions
maintainers. I already understood in your first mail (and all other
mails sent to internals@) that interbase/firebird is important to you,
I get that. But the problem at hand is rather different, this is how
we, we as in the Core Developers of PHP, handle extensions that we
give the proper support and maintenance as Rowan pointed out, our
current promise is pretty much a lie since we cannot give extensions
in the core, the support they may need.
It is not like (as also pointed out), that the code will go away and
vanish, it will still be in PECL, and with a PECL release DLLs will
still be compiled for download if you like me, use Windows.
But I kinda expect this to be the end of the off-topic, I'm so tired
that we always end up on a diverted path and would much rather want to
see some more interest in our core extensions.
--
regards,
Kalle Sommer Nielsen
kalle@php.net
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Please comment and discuss!
What about adding the following:
ext/dbaAs for DBA, this extension have not really seen any major updates or
anything since 2009 when the Tokyo Cabinet support was added (PHP
5.3), is this still used largely or?
I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing tests
(flatfile and inifile), which might be caused by running in a Vagrant
box on NTFS. So I tried to compile on Windows, just to learn that
config.w32 is totally out-dated. It doesn't support individual config
options for the different drivers, but rather checks whether db3 is
found, and only then configures the built in drivers. Of course, db3 is
not part of the delivered deps, what is likely the reason that
dba_php.dll isn't distributed anymore as of PHP 5.3 (it would make
sense, IMO, to ship dba_php.dll with the built-in drivers plus those
whose requirements could be bundled in the deps).
Fixing config.w32 shouldn't be too hard (it may take quite some time to
test with the different drivers, though), but I expect further issues
would have to be solved. Besides some unresolved bugs[1], for instance,
it still uses zend_get_parameters_array_ex() at least once[2], even
though this API has been deprecated as of PHP 7.0.0.
[1]
https://bugs.php.net/search.php?cmd=display&package_name[]=DBM%2FDBA+related
[2] https://github.com/php/php-src/blob/PHP-7.0.9/ext/dba/dba.c#L654
--
Christoph M. Becker
Hi
2016-08-18 15:03 GMT+02:00 Christoph M. Becker cmbecker69@gmx.de:
I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing tests
(flatfile and inifile), which might be caused by running in a Vagrant
box on NTFS. So I tried to compile on Windows, just to learn that
config.w32 is totally out-dated. It doesn't support individual config
options for the different drivers, but rather checks whether db3 is
found, and only then configures the built in drivers. Of course, db3 is
not part of the delivered deps, what is likely the reason that
dba_php.dll isn't distributed anymore as of PHP 5.3 (it would make
sense, IMO, to ship dba_php.dll with the built-in drivers plus those
whose requirements could be bundled in the deps).Fixing config.w32 shouldn't be too hard (it may take quite some time to
test with the different drivers, though), but I expect further issues
would have to be solved. Besides some unresolved bugs[1], for instance,
it still uses zend_get_parameters_array_ex() at least once[2], even
though this API has been deprecated as of PHP 7.0.0.
Hmm interesting, I can try take a look once I'm at home again.
Extensions that can support more features in newer versions and such
are usually not checked on Windows, as unlike m4 files we do not
compile check for symbols and such and assume a certain version as
minimum, but with the low targeted audience we have that builds PHP on
their on, this is not an issue. We do have win32/libs.txt I think that
lists the libs we use for distro builds.
But I will have to look at our deps and see if it is possible to get
this running again with some cross reference to the m4.
As for zend_get_parameters_array_ex() usage, this should be a no
brainer quick fix.
[1]
https://bugs.php.net/search.php?cmd=display&package_name[]=DBM%2FDBA+related
[2] https://github.com/php/php-src/blob/PHP-7.0.9/ext/dba/dba.c#L654
--
regards,
Kalle Sommer Nielsen
kalle@php.net
Hi Kalle!
2016-08-18 15:03 GMT+02:00 Christoph M. Becker cmbecker69@gmx.de:
I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing tests
(flatfile and inifile), which might be caused by running in a Vagrant
box on NTFS. So I tried to compile on Windows, just to learn that
config.w32 is totally out-dated. It doesn't support individual config
options for the different drivers, but rather checks whether db3 is
found, and only then configures the built in drivers. Of course, db3 is
not part of the delivered deps, what is likely the reason that
dba_php.dll isn't distributed anymore as of PHP 5.3 (it would make
sense, IMO, to ship dba_php.dll with the built-in drivers plus those
whose requirements could be bundled in the deps).Hmm interesting, I can try take a look once I'm at home again.
Extensions that can support more features in newer versions and such
are usually not checked on Windows, as unlike m4 files we do not
compile check for symbols and such and assume a certain version as
minimum, but with the low targeted audience we have that builds PHP on
their on, this is not an issue. We do have win32/libs.txt I think that
lists the libs we use for distro builds.
You probably mean win32/build/libs_version.txt (I wasn't aware of this
file; thanks!). AFAICS, none of the external dba drivers are already
there, and the DB 3-5 binaries can't probably be added due to legal issues.
But I will have to look at our deps and see if it is possible to get
this running again with some cross reference to the m4.
That would be great! A quick fix (simply removing the db3 check) made
it compile, but the test suite stalled on dba_flatfile.phpt.
Apparantly, there are issues regarding mode 'n' on Windows/NTFS.
As for zend_get_parameters_array_ex() usage, this should be a no
brainer quick fix.
Indeed. I've noted that only, because it shows that the extension is
not actively maintained (otherwise the maintainer would almost certainly
have noticed the deprecation warning and fixed it right away).
--
Christoph M. Becker
That would be great! A quick fix (simply removing the db3 check) made
it compile, but the test suite stalled on dba_flatfile.phpt.
That was actually caused by the test case being broken. I've fixed it
just now: http://git.php.net/?p=php-src.git;a=commit;h=bc1214f2. The
test is (still) failing, though.
--
Christoph M. Becker
But I will have to look at our deps and see if it is possible to get
this running again with some cross reference to the m4.That would be great!
I have just committed the minimal changes to be able to build dba on
Windows without libdb, see
http://git.php.net/?p=php-src.git;a=commit;h=ad76e8a5.
--
Christoph M. Becker
2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Please comment and discuss!
What about adding the following:
ext/dbaAs for DBA, this extension have not really seen any major updates or
anything since 2009 when the Tokyo Cabinet support was added (PHP
5.3), is this still used largely or?I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing tests
(flatfile and inifile), which might be caused by running in a Vagrant
box on NTFS. So I tried to compile on Windows, just to learn that
config.w32 is totally out-dated. It doesn't support individual config
options for the different drivers, but rather checks whether db3 is
found, and only then configures the built in drivers. Of course, db3 is
not part of the delivered deps, what is likely the reason that
dba_php.dll isn't distributed anymore as of PHP 5.3 (it would make
sense, IMO, to ship dba_php.dll with the built-in drivers plus those
whose requirements could be bundled in the deps).Fixing config.w32 shouldn't be too hard (it may take quite some time to
test with the different drivers, though), but I expect further issues
would have to be solved.
The last time I checked it was for the 5.3 windows support big jump.
If I remember correctly many banckends were not available on windowd
(mainly vc6). Some may be available now.
Hi Pierre,
-----Original Message-----
From: Pierre Joye [mailto:pierre.php@gmail.com]
Sent: Friday, August 19, 2016 1:00 PM
To: Christoph Becker cmbecker69@gmx.de
Cc: PHP internals internals@lists.php.net; Kalle Sommer Nielsen
kalle@php.net; Stanislav Malyshev smalyshev@gmail.com
Subject: Re: [PHP-DEV] [RFC] orphan extensions cleanupOn Aug 18, 2016 8:03 PM, "Christoph M. Becker" cmbecker69@gmx.de
wrote:2016-08-15 7:53 GMT+02:00 Stanislav Malyshev smalyshev@gmail.com:
Please comment and discuss!
What about adding the following:
ext/dbaAs for DBA, this extension have not really seen any major updates or
anything since 2009 when the Tokyo Cabinet support was added (PHP
5.3), is this still used largely or?I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing
tests (flatfile and inifile), which might be caused by running in a
Vagrant box on NTFS. So I tried to compile on Windows, just to learn
that
config.w32 is totally out-dated. It doesn't support individual config
options for the different drivers, but rather checks whether db3 is
found, and only then configures the built in drivers. Of course, db3
is not part of the delivered deps, what is likely the reason that
dba_php.dll isn't distributed anymore as of PHP 5.3 (it would make
sense, IMO, to ship dba_php.dll with the built-in drivers plus those
whose requirements could be bundled in the deps).Fixing config.w32 shouldn't be too hard (it may take quite some time
to test with the different drivers, though), but I expect further
issues would have to be solved.The last time I checked it was for the 5.3 windows support big jump.
If I remember correctly many banckends were not available on windowd (mainly
vc6). Some may be available now.
I was checking for possible libs after Christoph's enablement commit last week. At least qdbm looks like possible to be supported. The bundled libcdb is quite old. There are no new releases, but some patches might be available, need to check. Some Tokyo Cabinet ports did exist, but again need research. Closer to the end of the year, time could be taken to do the research and tests, so maybe to support more of dba in 7.2.
Regards
Anatol
Hi Pierre,
-----Original Message-----
From: Pierre Joye [mailto:pierre.php@gmail.com]
Sent: Friday, August 19, 2016 1:00 PM
To: Christoph Becker cmbecker69@gmx.de
Cc: PHP internals internals@lists.php.net; Kalle Sommer Nielsen
kalle@php.net; Stanislav Malyshev smalyshev@gmail.com
Subject: Re: [PHP-DEV] [RFC] orphan extensions cleanupOn Aug 18, 2016 8:03 PM, "Christoph M. Becker" cmbecker69@gmx.de
I don't know, but most certainly not on Windows. I had a look at
ext/dba, because I like that we have it bundled, but got 3 failing
tests (flatfile and inifile), which might be caused by running in a
Vagrant box on NTFS. So I tried to compile on Windows, just to learn
that
config.w32 is totally out-dated.The last time I checked it was for the 5.3 windows support big jump.
If I remember correctly many banckends were not available on windowd (mainly
vc6). Some may be available now.I was checking for possible libs after Christoph's enablement commit
last week. At least qdbm looks like possible to be supported. The
bundled libcdb is quite old. There are no new releases, but some
patches might be available, need to check. Some Tokyo Cabinet ports
did exist, but again need research. Closer to the end of the year,
time could be taken to do the research and tests, so maybe to support
more of dba in 7.2.
That would be great!
gdbm shouldn't also be a problem, if we can build that ourselves. But
perhaps most important would be Oracle DB. As config.w32 is now, only
libdb31s and libdb61 are supported.
Anyhow, it might be best not to hijack this thread further, but instead
move the discussion to internals-win. :-)
--
Christoph M. Becker
Hi Stas!
I'd like to propose an RFC to deal with extensions that currently have
no maintainer:https://wiki.php.net/rfc/umaintained_extensions
The main goal of the RFC is to initiate the process that by the time of
7.1 release will result in no extensions in PHP core being unmaintained.
The process would be as follows:
- Issue a call for maintainers (specific details of how, where, etc.
are to be discussed, ideas welcome).- Wait for suitable time and hopefully find new maintainers for most or
all extensions. For some stable ones not much commitment is needed
beyond declaring you are willing to be responsible for them, should the
need arise, for others some bugfixing may be in order :)- If after suitable time we can not find anybody to care enough for the
extension to be responsible, move the extension from core to PECL.Please note that the ideal result is 2, not 3, but the goal is still to
have no unmaintained extensions in core.
I think it is very important to finally tackle this topic. Since it
is rather late for actually moving several extensions to PECL for PHP
7.3, and since this would be an ongoing process anyway, I suggest to
turn the RFC into a general RFC regarding “Process and Policy” –
basically, to decide on clear rules regarding maintainership of
extensions and moving of orphaned extensions to PECL. Individual
extensions could than be handled without the need for much discussion
and be resolved with a simple RFC/voting (or maybe even without).
--
Christoph M. Becker
I think it is very important to finally tackle this topic. Since it
is rather late for actually moving several extensions to PECL for PHP
7.3, and since this would be an ongoing process anyway, I suggest to
turn the RFC into a general RFC regarding “Process and Policy” –
basically, to decide on clear rules regarding maintainership of
extensions and moving of orphaned extensions to PECL. Individual
extensions could than be handled without the need for much discussion
and be resolved with a simple RFC/voting (or maybe even without).
Hear! Hear!
Per issue #1, I'd suggest an OWNERS file per ext/*/ dir with names and
year ranges. Continued ownership demarked by explicitly incrementing
the end year BY THE MAINTAINER. An extension is considered abandoned
if the end year is not updated by the following January. Example:
ext/hash/OWNER might contain "pollita 2005-2018" (and other entries).
2019 rolls around, even if it's December and I haven't updated the end
year, it's still not considered abandoned until January 2020. This
leaves the second half of a year for auditing "soon to be adandoned"
exts and reach out to current "owners" and/or find potential
replacements for the following year.
I'd also suggest that this information is read in by bugs.php.net so
that extension owners can make easy dashboards from their relevant
bugs, but that's not really related to this RFC topic beyond deciding
on a file format (maybe JSON?)
I 100% agree that #3 is the least ideal option and should be avoided
wherever possible. It requires that literally nobody GAF about the
extension AND that we're unable to recruit support from outside users.
I think removal of dead extensions which have no immediate replacement
should come with a public notice period. Posts on high traffic sites
such as Reddit and headers added to relevant chapter(s) of the manual
for example. If this gets us some developer at a company who relies
on the extension but never considered Open Source as a viable track,
then we've won twice. I do say "which have no immediate replacement"
because I don't think we'd need a public notice for something like the
removal of mysql or mcrypt as they both had strong viable
alternatives. Similar if we ever decide to replace ext/gmp with
github.com/sgolemon/gmpi extension (shameless plug).
-Sara
Per issue #1, I'd suggest an OWNERS file per ext/*/ dir with names and
year ranges. Continued ownership demarked by explicitly incrementing
the end year BY THE MAINTAINER. An extension is considered abandoned
if the end year is not updated by the following January. Example:
ext/hash/OWNER might contain "pollita 2005-2018" (and other entries).
2019 rolls around, even if it's December and I haven't updated the end
year, it's still not considered abandoned until January 2020. This
leaves the second half of a year for auditing "soon to be adandoned"
exts and reach out to current "owners" and/or find potential
replacements for the following year.
I'm afraid this might be misused. It's too easy to update the year
number, without actually doing any real maintenance work (“I'll come
back to that later” …). Some automated process would be nice, but
manually checking the bug tracker for maintenance work (particularly
wrt. security issues), and/or the commit log seems to be okay for now.
--
Christoph M. Becker
On 12 June 2018 at 16:01, Christoph M. Becker <cmbecker69@gmx.de
mailto:cmbecker69@gmx.de> wrote:
I'm afraid this might be misused. It's too easy to update the year
number, without actually doing *any* real maintenance work (“I'll come
back to that later” …). Some automated process would be nice, but
manually checking the bug tracker for maintenance work (particularly
wrt. security issues), and/or the commit log seems to be okay for now.
That sounds like you're looking for a technical solution to an
organisational / social problem: if someone lists themselves as a
maintainer, they are making a commitment to volunteer their effort. That
commitment could be defined somewhere if it's not already, but it's
never going to be an automatically measurable SLA.
It might be useful to have tools to help monitor - e.g. a dashboard that
runs a couple of queries to give an idea of recent activity on each
extension - but there's always going to be a judgement call. What if
some helpful volunteer raises 100 bugs, and only the 10 most serious of
them are fixed within a release cycle; is the maintainer failing to keep
up, or are they correctly triaging and prioritising? What if a security
issue is raised, but there's no clear fix? No statistic will give you a
true view of the effort a maintainer has put into trying.
So the important thing there is what is the policy: who gets to decide
that a maintainer is not fulfilling their commitment, and what is the
process for officially removing them? If someone else wants to take over
maintainership, that may be as simple as "would you like me to help?";
but if it's a case of marking an extension unmaintained, it could be
controversial.
The problem Sara's suggestion fixes is different: right now, maintainers
make a commitment once, for an indeterminate amount of time. By
periodically making a change, maintainers are simply saying "yes, I am
still interested in maintaining this extension", in a format that can be
easily reported on.
I think this is a useful concept, and the timeline could be linked to
the annual release cycle; for instance:
- if the last promise in the OWNER file is over a year old at time of
Alpha, check if they are still interested, and seek a new maintainer if not - if it is still not updated by RC, mark the extension as pending removal
- if it is still unclaimed by the next alpha (i.e. a year later),
remove it from core
Regards,
Rowan Collins
[IMSoP]
Hi!
I'm afraid this might be misused. It's too easy to update the year
number, without actually doing any real maintenance work (“I'll come
back to that later” …). Some automated process would be nice, but
manually checking the bug tracker for maintenance work (particularly
wrt. security issues), and/or the commit log seems to be okay for now.That sounds like you're looking for a technical solution to an
organisational / social problem: if someone lists themselves as a
maintainer, they are making a commitment to volunteer their effort. That
commitment could be defined somewhere if it's not already, but it's
never going to be an automatically measurable SLA.
I agree here. If somebody cares enough to update the number, and by that
commit to maintainership, this is already more than halfway towards the
solution. We can never force anyone to be an active maintainer, or to
allocate specific amount of time to fixing bugs or develop features, but
the problem now is that we don't even have anybody in any maintainership
capacity. We've had some people listed that haven't been active for
years, and just remain there by default. I think once we solve this
problem and have explicit commitment from maintainers, the question of
how to make this commitment turn into a real work will be much better
problem to have. We will still have to deal with it, obviously, but I
think we first have to even get there.
Stas Malyshev
smalyshev@gmail.com
I'm afraid this might be misused. It's too easy to update the year
number, without actually doing any real maintenance work (“I'll come
back to that later” …). Some automated process would be nice, but
manually checking the bug tracker for maintenance work (particularly
wrt. security issues), and/or the commit log seems to be okay for now.That sounds like you're looking for a technical solution to an
organisational / social problem: if someone lists themselves as a
maintainer, they are making a commitment to volunteer their effort. That
commitment could be defined somewhere if it's not already, but it's
never going to be an automatically measurable SLA.I agree here. If somebody cares enough to update the number, and by that
commit to maintainership, this is already more than halfway towards the
solution. We can never force anyone to be an active maintainer, or to
allocate specific amount of time to fixing bugs or develop features, but
the problem now is that we don't even have anybody in any maintainership
capacity. We've had some people listed that haven't been active for
years, and just remain there by default. I think once we solve this
problem and have explicit commitment from maintainers, the question of
how to make this commitment turn into a real work will be much better
problem to have. We will still have to deal with it, obviously, but I
think we first have to even get there.
Okay, you've convinced me. :)
--
Christoph M. Becker
Hi!
Per issue #1, I'd suggest an OWNERS file per ext/*/ dir with names and
year ranges. Continued ownership demarked by explicitly incrementing
the end year BY THE MAINTAINER. An extension is considered abandoned
if the end year is not updated by the following January. Example:
Makes sense. Note that abandoned in itself does not mean it will be
moved out - but it is certainly a base for a call for maintainership and
the discussion of
We could also initialize this list with the date of the latest commit or
bug response from the official current maintainer.
I think removal of dead extensions which have no immediate replacement
should come with a public notice period. Posts on high traffic sites
such as Reddit and headers added to relevant chapter(s) of the manual
for example. If this gets us some developer at a company who relies
on the extension but never considered Open Source as a viable track,
then we've won twice. I do say "which have no immediate replacement"
Sounds like a good idea. If you'd like, please feel free to edit the RFC
to add a section about public notice procedure before moving. Otherwise,
we could just make the procedure separately, it doesn't have to be
part of the RFC.
because I don't think we'd need a public notice for something like the
removal of mysql or mcrypt as they both had strong viable
alternatives. Similar if we ever decide to replace ext/gmp with
github.com/sgolemon/gmpi extension (shameless plug).
Sure, if we just replace a thing with a better thing, there's no point
to look for a maintainer for the inferior thing.
Stas Malyshev
smalyshev@gmail.com
Hi!
I think it is very important to finally tackle this topic. Since
it is rather late for actually moving several extensions to PECL for
PHP 7.3, and since this would be an ongoing process anyway, I suggest
to
I'm not sure it's too late for 7.3. If we see that the extension is
unmaintained, we could move it out for 7.3 I think.
And special thanks for re-raising this topic, which I initiated and then
forgot to properly follow up :)
turn the RFC into a general RFC regarding “Process and Policy” –
basically, to decide on clear rules regarding maintainership of
extensions and moving of orphaned extensions to PECL. Individual
extensions could than be handled without the need for much
discussion and be resolved with a simple RFC/voting (or maybe even
without).
Yes, I think having some rules on maintainership would be nice, right
now I haven't even considered extensions which have maintainers listed
but no longer active, etc. - though I suspect those exist too. But we
should start with ones we think are orphans now. I'll update the RFC and
put it for vote soon, I think, and then see how we can continue.
--
Stas Malyshev
smalyshev@gmail.com
I'm not sure it's too late for 7.3. If we see that the extension is
unmaintained, we could move it out for 7.3 I think.
Well, you and cmb are the RMs for 7.3, so you get the largest say in
that, but IMO we won't finish sorting out the RFC and get through vote
in time for feature freeze and pulling out whole extensions feels like
a pretty hefty change to make at that point. Yes, the extensions
still exist in PECL, so I wouldn't vote down based on the timeline,
but it does make me nervous.
Sounds like a good idea. If you'd like, please feel free to edit
the RFC to add a section about public notice procedure before
moving. Otherwise, we could just make the procedure separately,
it doesn't have to be part of the RFC.
As it stands now, the RFC needs a fair amount of refactoring to make
it about general ownership/abandonment process long term. I can
shoehorn this public notice bit in, but it's going to feel weird until
a larger rewrite is done. Are you planning to do that? Should cmb
since he resurrected the RFC? Open season for whomever cares?
-Sara
I'm not sure it's too late for 7.3. If we see that the extension is
unmaintained, we could move it out for 7.3 I think.Well, you and cmb are the RMs for 7.3, so you get the largest say in
that, but IMO we won't finish sorting out the RFC and get through vote
in time for feature freeze and pulling out whole extensions feels like
a pretty hefty change to make at that point. Yes, the extensions
still exist in PECL, so I wouldn't vote down based on the timeline,
but it does make me nervous.
The “Release Process” RFC states[1]:
| But they [the roles of the RMs] are not:
| * Decide which features, extension or SAPI get in a release or not
That said, in my opinion it is too late for 7.3 to move a bundled
extension to PECL, except perhaps for unresolved or even unresolvable
security reasons. ext/wddx comes to mind, and maybe there are others.
[1] https://wiki.php.net/rfc/releaseprocess#rms_role
--
Christoph M. Becker
Hi!
That said, in my opinion it is too late for 7.3 to move a bundled
extension to PECL, except perhaps for unresolved or even unresolvable
security reasons. ext/wddx comes to mind, and maybe there are others.
I'd be happy to move wddx if nobody steps up to maintain it. It has tons
of security issues lately (not even sure all are fixed) and it hard to
make heads or tails in it without really deep dive, for which I don't
think I have time, and nobody else seems to. And since it's a kinda
obscure format which in 99% of cases can be replaced by json I suspect...
--
Stas Malyshev
smalyshev@gmail.com
That said, in my opinion it is too late for 7.3 to move a bundled
extension to PECL, except perhaps for unresolved or even unresolvable
security reasons. ext/wddx comes to mind, and maybe there are others.I'd be happy to move wddx if nobody steps up to maintain it. It has tons
of security issues lately (not even sure all are fixed) and it hard to
make heads or tails in it without really deep dive, for which I don't
think I have time, and nobody else seems to. And since it's a kinda
obscure format which in 99% of cases can be replaced by json I suspect...
Deprecation of ext/wddx is part of the “Deprecations for PHP 7.3”
RFC[1] draft. Are you planning to pursue this RFC, Nikita?
Anyhow, I think moving ext/wddx to PECL for PHP 7.3 might be preferable
to a deprecation phase, given that we had discussed this almost a year
before[2], and already had an RFC which would only have deprecated the
object deserialization[3] withdrawn, but had not actually made any progress.
[1] https://wiki.php.net/rfc/deprecations_php_7_3
[2] https://externals.io/message/100183
[3] https://wiki.php.net/rfc/wddx-deprecate-class-instance-deserialization
--
Christoph M. Becker
On Thu, Jun 14, 2018 at 4:00 PM, Christoph M. Becker cmbecker69@gmx.de
wrote:
That said, in my opinion it is too late for 7.3 to move a bundled
extension to PECL, except perhaps for unresolved or even unresolvable
security reasons. ext/wddx comes to mind, and maybe there are others.I'd be happy to move wddx if nobody steps up to maintain it. It has tons
of security issues lately (not even sure all are fixed) and it hard to
make heads or tails in it without really deep dive, for which I don't
think I have time, and nobody else seems to. And since it's a kinda
obscure format which in 99% of cases can be replaced by json I suspect...Deprecation of ext/wddx is part of the “Deprecations for PHP 7.3”
RFC[1] draft. Are you planning to pursue this RFC, Nikita?
Thanks for the reminder, I do plan to pick this up. I'll try to submit this
RFC as soon as possible.
Anyhow, I think moving ext/wddx to PECL for PHP 7.3 might be preferable
to a deprecation phase, given that we had discussed this almost a year
before[2], and already had an RFC which would only have deprecated the
object deserialization[3] withdrawn, but had not actually made any
progress.
I think our general procedure is to always deprecate prior to moving to
PECL, to ensure that the PECL use also throws deprecation warnings (it is
an unmaintained extension at that point after all).
I'd personally be fine with deprecate+move in 7.3 though, for all the
reasons we discussed last time.
Nikita
Yes, I think having some rules on maintainership would be nice, right
now I haven't even considered extensions which have maintainers listed
but no longer active, etc. - though I suspect those exist too. […]
From looking at current EXTENSIONS[1], it seems to be rather the other
way round, unfortunately.
[1]
https://github.com/php/php-src/blob/c904d380a288ed50b62ef93c733883dc2fad2301/EXTENSIONS
--
Christoph M. Becker
Hi,
I think it is very important to finally tackle this topic. Since
it
It's a good subject to think about, but we should be careful not to end
with a process and then following it without thought and we have to
look at those things individually.
For instance with readline this contains two things. For one the
readline()
and related userspace functions, which I assume are not
used thaaaat often, but also the interactive shell mode (php -a
with
CLI+readline enabled) and I think the later is quie important to many
users and should see similar common responsibility as those key SAPIs,
main/ and so on. (I once moved that functionality from SAPI/cli to
ext/readline to satisfy distributors who didn't want to statically link
readline for license and related reasons)
johannes
On Tue, Jun 19, 2018 at 9:37 PM, Johannes Schlüter johannes@schlueters.de
wrote:
Hi,
I think it is very important to finally tackle this topic. Since
itIt's a good subject to think about, but we should be careful not to end
with a process and then following it without thought and we have to
look at those things individually.For instance with readline this contains two things. For one the
readline()
and related userspace functions, which I assume are not
used thaaaat often, but also the interactive shell mode (php -a
with
CLI+readline enabled) and I think the later is quie important to many
users and should see similar common responsibility as those key SAPIs,
main/ and so on. (I once moved that functionality from SAPI/cli to
ext/readline to satisfy distributors who didn't want to statically link
readline for license and related reasons)johannes
CLI without readline isn't good.
--with-libedit is there to replace readline lib.
Regards,
--
Yasuo Ohgaki
yohgaki@ohgaki.net