#1401 Revising PHP packaging for PIE
Opened 6 months ago by remi. Modified 4 months ago

PIE is the new "PHP Installer for Extensions" which will replace PECL

SIG discussion: https://lists.fedoraproject.org/archives/list/php-devel@lists.fedoraproject.org/thread/EY6GLWUKZNPDIEFXE6BNUKDVNDZPWVTA/

Change proposal:


In Different types of PHP packages

  • PECL: add "This will be deprecated in favor of PIE"
  • PEAR: add "This is deprecated in favor of composer and discouraged"
  • CHANNEL: add "This is deprecated and discouraged"

New type

  • PIE registered extensions, which are PHP modules usually written in C and are dynamically loaded by the PHP interpreter on startup, registered on a package registry, most often on Packagist.

In Naming scheme

  • PIE enabled packages (referenced in packagist.org or another registry) should be named php-vendor-extension-%{version}-%{release}.%{arch}.rpm (where vendor/extension is the known packagist name, name attribute in composer.json). When vendor equals extension, one can be dropped (ex xdebug/xdebug can be named php-xdebug).

In Requires and Provides

PIE registered Packages

Each package registered on Packagist (which is the most widely used registry, so defined as the implicit one) MUST have

 Provides:     php-pie(vendor/extension) = %{version}

In C extensions (PECL and others)

Each extension must also have (to track the move out/in of php-src), using the "module" name as reported by php --modules or the .so file name in lowercase.

 Provides:     php-module = %{version}
 Provides:     php-module%{_isa} = %{version}

In Extensions Requires

Add: Can be ignored as always present: core, date, filter, hash, pcre, random, reflection, session, spl, standard.


Nobody saw anything obviously wrong ... but:

Can you do a PR?

Log in to comment on this ticket.

Metadata