PackagingDrafts/PHP

From FedoraProject

< PackagingDrafts(Difference between revisions)
Jump to: navigation, search
(PHP ZTS extension)
Line 18: Line 18:
 
== Macros and scriptlets ==
 
== Macros and scriptlets ==
  
=== PHP ZTS extension ===
+
=== PHP extension ===
 
+
When apache run in worker mode (instead of prefork mode), the ZTS (Zend Thread Safe) version of PHP is used.
+
 
+
If an extension maintainer want to provides a ZTS version of this extension, he must ensure that
+
* the extension is thread safe
+
* the libraries used by the extension are thread safe
+
  
 
The php-devel package in fedora >= 17 (5.4.0) provides the necessary files to build ZTS modules and provides several new macros:
 
The php-devel package in fedora >= 17 (5.4.0) provides the necessary files to build ZTS modules and provides several new macros:
Line 34: Line 28:
 
%{php_inidir}    %{_sysconfdir}/php.d
 
%{php_inidir}    %{_sysconfdir}/php.d
 
%{php_incldir    %{_includedir}/php
 
%{php_incldir    %{_includedir}/php
 +
%{php_bindir}    %{_bindir}
 
</pre>
 
</pre>
  
 
For ZTS extensions
 
For ZTS extensions
 
<pre>
 
<pre>
%{__ztsphp}      %{_bindir}/php-zts
 
 
%{php_ztsextdir}  %{_libdir}/php-zts/modules
 
%{php_ztsextdir}  %{_libdir}/php-zts/modules
 
%{php_ztsinidir}  %{_sysconfdir}/php-zts.d
 
%{php_ztsinidir}  %{_sysconfdir}/php-zts.d
 
%{php_ztsincldir  %{_includedir}/php-zts/php
 
%{php_ztsincldir  %{_includedir}/php-zts/php
 +
%{php_ztsbindir}  %{_bindir}/zts-php
 
</pre>
 
</pre>
  
php-devel provides the executables needed during the build of a ZTS extension, which are:
+
%{php_ztsbindir} contains the executables needed during the build of a ZTS extension, which are:
* phpize-zts
+
* zts-phpize
* php-config-zts
+
* zts-php-config
* php-zts (which is only useful to run test suite during build)
+
* zts-php (which is only useful to run test suite during build)
  
  
 
[[Category:Packaging guidelines drafts]]
 
[[Category:Packaging guidelines drafts]]

Revision as of 21:24, 25 January 2012

[[TableOfContents(3)]

Contents

Proposed Changes to PHP Guidelines

Synopsis

This page describes items that need to be changed in the PHP Guidelines or other items that need to be reviewed or ratified by the Fedora Packaging Comittee and FESCo .


Actual Guidelines

Macros and scriptlets

No information on macro provided by php-devel

Change proposal

Macros and scriptlets

PHP extension

The php-devel package in fedora >= 17 (5.4.0) provides the necessary files to build ZTS modules and provides several new macros:

For standard (NTS) extensions

%{__php}          %{_bindir}/php
%{php_extdir}     %{_libdir}/php/modules
%{php_inidir}     %{_sysconfdir}/php.d
%{php_incldir     %{_includedir}/php
%{php_bindir}     %{_bindir}

For ZTS extensions

%{php_ztsextdir}  %{_libdir}/php-zts/modules
%{php_ztsinidir}  %{_sysconfdir}/php-zts.d
%{php_ztsincldir  %{_includedir}/php-zts/php
%{php_ztsbindir}  %{_bindir}/zts-php

%{php_ztsbindir} contains the executables needed during the build of a ZTS extension, which are:

  • zts-phpize
  • zts-php-config
  • zts-php (which is only useful to run test suite during build)