Re: [packages/php-pecl-http] - R += pecl-propro and pecl-raphf
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
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
[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
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
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