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

2015-04-02 Thread Elan Ruusamäe

On 01.04.2015 08:54, Adam Golebiowski wrote:

 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.


two more ideas:

1. create modules-load.d dir, which would use the numbering (or whatever 
scheme)

it would contain only extension=modname.mod lines
the actual module specific configs stay in current paths

2. create script which creates directory containing ordered symlinks 
automatically, symlinks pointing to current conf.d

similar to mods-available, mods-enabled scheme used in debian/ubuntu

the order would be somehow automatically detected, maybe extra file from 
package saying what needs to be loaded first.


ps: we have SAPINAME.d besides conf.d as well. maybe it is no longer 
neccessary as loading cli only module probably does not crash 
webserver-sapi modules anymore.


--
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-04-01 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 dependant_ext_name_current_ext_name.ini which is 
 quite clear after what to order.

Until we add a second package that depends on current_ext_name 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 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 ad...@pld-linux.org
 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


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 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 dependant_ext_name_current_ext_name.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