Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf

2015-03-31 Thread Adam Golebiowski
On Wed, Apr 01, 2015 at 02:37:43AM +0300, Elan Ruusamäe wrote:
> On 31.03.2015 18:34, Adam Golebiowski wrote:
> > On Tue, Mar 31, 2015 at 05:35:45PM +0300, Elan Ruusamäe wrote:
> >> On 31.03.2015 17:04, Adam Golebiowski wrote:
> >>> [adamg@adamg ~]$ php -r ''
> >>> PHP Warning:  PHP Startup: Unable to load dynamic library 
> >>> '/usr/lib/php56/http.so' - /usr/lib/php56/http.so: undefined symbol: 
> >>> php_persistent_handle_abandon in Unknown on line 0
> >>> [adamg@adamg ~]$ sudo mv /etc/php56/conf.d/{,z_}httpd.ini
> >>> [adamg@adamg ~]$ php -r ''
> >>> [adamg@adamg ~]$
> >>>
> >>> Not only we need these two, but we need them to load before http.so.
> >>>
> >>> Thinking about adopting apache-style prefixing with numbers:
> >>> - 00-29 - core php modules
> >>> - 30-99 - extra (pecl / non-pecl)
> >> i've tried to postpone introducing numbering to ini files as long as
> >> possible. because the numbering sucks(!).
> > but it's easy and solves the problem.
> 
> creates problems elsewhere, need to migrate configs properly, and i hate 
> when config files rename themselves, as i keep them in vcs.

migration - not that big pita, most of the files 
vcs - point taken, but we do rename files every now and then. 

> >> maybe rename your ini file so that LC_ALL=C locale would sort it last:
> >>
> >> like:
> >> http.ini -> http.ini (no changes)
> >> propro.ini -> http_propro.ini
> >> raphf.ini -> http_raphf.ini
> > until we add some `boo' extension that depends on raphf, and that's just
> > another version of prefixing.
> 
> but you need to handle only these two packages. not all 199 php-related 
> packages, and don't even know when you need to reorder again because you 
> guessed initial number wrong and *all* dependencies need to be shifted 
> by some number.

Not if we choose initial number to be in the middle. 

> and the schema is "_.ini which is 
> quite clear after what to order.

Until we add a second package that depends on  where
it starts to get funny. 

And in this case, it won't help.

[adamg@adamg ~]$ echo -e "http.ini\nhttp_raphf.ini\nhttp_propro.ini" | LC_ALL=C 
sort
http.ini
http_propro.ini
http_raphf.ini
[adamg@adamg ~]$

> >> ideally php-core should be smart itself (somehow) to be able to load
> >> modules in different order based on dependencies.
> >> possible solution would be to open shared library with lazy loading to
> >> get dependency structure and then do the real open (with RTDL_NOW) after
> >> dependency sort.
> >> this is just theory, haven't tried.
> > nice, but a bit overcomplicated.
> > and we would end up maintaining yet another patch.
> and what prevents submitting it upstream?

Nothing, but I am not sure it would be accepted as it would make modules
loading path inconsistent between platforms (not really sure you can do
the lazy loading trick on Windows).

That said, I am not willing to code it (feel free), but I do take the
vcs argument, so unless someone makes the patch, I would go with a
different approach:
- for now, use ugly way solve the problem for this one case (http.ini ->
  z_http.ini).
- wait for next major (7.0.0 - Dec 2015) / minor (5.7.0 - Aug 2015) PHP
  release before implementing numbering approach

That will make yours and other people's vcs happy.

-- 
adamg
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf

2015-03-31 Thread Elan Ruusamäe

On 31.03.2015 18:34, Adam Golebiowski wrote:

On Tue, Mar 31, 2015 at 05:35:45PM +0300, Elan Ruusamäe wrote:

On 31.03.2015 17:04, Adam Golebiowski wrote:

[adamg@adamg ~]$ php -r ''
PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php56/http.so' - /usr/lib/php56/http.so: undefined symbol: 
php_persistent_handle_abandon in Unknown on line 0
[adamg@adamg ~]$ sudo mv /etc/php56/conf.d/{,z_}httpd.ini
[adamg@adamg ~]$ php -r ''
[adamg@adamg ~]$

Not only we need these two, but we need them to load before http.so.

Thinking about adopting apache-style prefixing with numbers:
- 00-29 - core php modules
- 30-99 - extra (pecl / non-pecl)

i've tried to postpone introducing numbering to ini files as long as
possible. because the numbering sucks(!).

but it's easy and solves the problem.


creates problems elsewhere, need to migrate configs properly, and i hate 
when config files rename themselves, as i keep them in vcs.



maybe rename your ini file so that LC_ALL=C locale would sort it last:

like:
http.ini -> http.ini (no changes)
propro.ini -> http_propro.ini
raphf.ini -> http_raphf.ini

until we add some `boo' extension that depends on raphf, and that's just
another version of prefixing.


but you need to handle only these two packages. not all 199 php-related 
packages, and don't even know when you need to reorder again because you 
guessed initial number wrong and *all* dependencies need to be shifted 
by some number.


and the schema is "_.ini which is 
quite clear after what to order.






ideally php-core should be smart itself (somehow) to be able to load
modules in different order based on dependencies.
possible solution would be to open shared library with lazy loading to
get dependency structure and then do the real open (with RTDL_NOW) after
dependency sort.
this is just theory, haven't tried.

nice, but a bit overcomplicated.
and we would end up maintaining yet another patch.

and what prevents submitting it upstream?

--
glen

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf

2015-03-31 Thread Adam Golebiowski
On Tue, Mar 31, 2015 at 05:35:45PM +0300, Elan Ruusamäe wrote:
> On 31.03.2015 17:04, Adam Golebiowski wrote:
> > [adamg@adamg ~]$ php -r ''
> > PHP Warning:  PHP Startup: Unable to load dynamic library 
> > '/usr/lib/php56/http.so' - /usr/lib/php56/http.so: undefined symbol: 
> > php_persistent_handle_abandon in Unknown on line 0
> > [adamg@adamg ~]$ sudo mv /etc/php56/conf.d/{,z_}httpd.ini
> > [adamg@adamg ~]$ php -r ''
> > [adamg@adamg ~]$
> >
> > Not only we need these two, but we need them to load before http.so.
> >
> > Thinking about adopting apache-style prefixing with numbers:
> > - 00-29 - core php modules
> > - 30-99 - extra (pecl / non-pecl)
> 
> i've tried to postpone introducing numbering to ini files as long as 
> possible. because the numbering sucks(!).

but it's easy and solves the problem. 

> maybe rename your ini file so that LC_ALL=C locale would sort it last:
> 
> like:
> http.ini -> http.ini (no changes)
> propro.ini -> http_propro.ini
> raphf.ini -> http_raphf.ini

until we add some `boo' extension that depends on raphf, and that's just
another version of prefixing. 

> ideally php-core should be smart itself (somehow) to be able to load 
> modules in different order based on dependencies.
> possible solution would be to open shared library with lazy loading to 
> get dependency structure and then do the real open (with RTDL_NOW) after 
> dependency sort.
> this is just theory, haven't tried.

nice, but a bit overcomplicated.
and we would end up maintaining yet another patch.

-- 
adamg
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf

2015-03-31 Thread Elan Ruusamäe

On 31.03.2015 17:04, Adam Golebiowski wrote:

[adamg@adamg ~]$ php -r ''
PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php56/http.so' - /usr/lib/php56/http.so: undefined symbol: 
php_persistent_handle_abandon in Unknown on line 0
[adamg@adamg ~]$ sudo mv /etc/php56/conf.d/{,z_}httpd.ini
[adamg@adamg ~]$ php -r ''
[adamg@adamg ~]$

Not only we need these two, but we need them to load before http.so.

Thinking about adopting apache-style prefixing with numbers:
- 00-29 - core php modules
- 30-99 - extra (pecl / non-pecl)


i've tried to postpone introducing numbering to ini files as long as 
possible. because the numbering sucks(!).


maybe rename your ini file so that LC_ALL=C locale would sort it last:

like:
http.ini -> http.ini (no changes)
propro.ini -> http_propro.ini
raphf.ini -> http_raphf.ini

ideally php-core should be smart itself (somehow) to be able to load 
modules in different order based on dependencies.
possible solution would be to open shared library with lazy loading to 
get dependency structure and then do the real open (with RTDL_NOW) after 
dependency sort.

this is just theory, haven't tried.


With defaults for example 20 and 50.

Comments ?

On Tue, Mar 31, 2015 at 03:09:34PM +0200, adamg wrote:

commit a87ebfded9a4fa457a80f1e3f1632afcff329df6
Author: Adam Gołębiowski 
Date:   Tue Mar 31 15:08:21 2015 +0200

 - R += pecl-propro and pecl-raphf

  php-pecl-http.spec | 2 ++
  1 file changed, 2 insertions(+)
---
diff --git a/php-pecl-http.spec b/php-pecl-http.spec
index ecbb456..8674b73 100644
--- a/php-pecl-http.spec
+++ b/php-pecl-http.spec
@@ -22,6 +22,8 @@ BuildRequires:zlib-devel >= 1.2.0.4
  %{?requires_php_extension}
  Requires: %{php_name}-hash
  Requires: %{php_name}-iconv
+Requires:  %{php_name}-pecl-propro
+Requires:  %{php_name}-pecl-raphf
  Requires: %{php_name}-session
  Provides: php(%{modname}) = %{version}
  Obsoletes:php-pecl-http < 1.7.6-4


 gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/php-pecl-http.git/commitdiff/a87ebfded9a4fa457a80f1e3f1632afcff329df6

___
pld-cvs-commit mailing list
pld-cvs-com...@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en



--
glen

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf

2015-03-31 Thread Adam Golebiowski
[adamg@adamg ~]$ php -r ''
PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php56/http.so' - /usr/lib/php56/http.so: undefined symbol: 
php_persistent_handle_abandon in Unknown on line 0
[adamg@adamg ~]$ sudo mv /etc/php56/conf.d/{,z_}httpd.ini
[adamg@adamg ~]$ php -r ''
[adamg@adamg ~]$

Not only we need these two, but we need them to load before http.so.

Thinking about adopting apache-style prefixing with numbers:
- 00-29 - core php modules
- 30-99 - extra (pecl / non-pecl)

With defaults for example 20 and 50. 

Comments ?

On Tue, Mar 31, 2015 at 03:09:34PM +0200, adamg wrote:
> commit a87ebfded9a4fa457a80f1e3f1632afcff329df6
> Author: Adam Gołębiowski 
> Date:   Tue Mar 31 15:08:21 2015 +0200
> 
> - R += pecl-propro and pecl-raphf
> 
>  php-pecl-http.spec | 2 ++
>  1 file changed, 2 insertions(+)
> ---
> diff --git a/php-pecl-http.spec b/php-pecl-http.spec
> index ecbb456..8674b73 100644
> --- a/php-pecl-http.spec
> +++ b/php-pecl-http.spec
> @@ -22,6 +22,8 @@ BuildRequires:  zlib-devel >= 1.2.0.4
>  %{?requires_php_extension}
>  Requires:%{php_name}-hash
>  Requires:%{php_name}-iconv
> +Requires:%{php_name}-pecl-propro
> +Requires:%{php_name}-pecl-raphf
>  Requires:%{php_name}-session
>  Provides:php(%{modname}) = %{version}
>  Obsoletes:   php-pecl-http < 1.7.6-4
> 
> 
>  gitweb:
> 
> http://git.pld-linux.org/gitweb.cgi/packages/php-pecl-http.git/commitdiff/a87ebfded9a4fa457a80f1e3f1632afcff329df6
> 
> ___
> pld-cvs-commit mailing list
> pld-cvs-com...@lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en