From Fedora Project Wiki

Drop php-pear dependency for pecl modules

Summary

All PECL packaged modules (php-pecl-*) have a unneeded runtime dependency on php-pear, for module registration in package scriptlets.

Owner

  • Name: Remi Collet
  • Email: php-devel@fedoraproject.org
  • Release notes owner:

Current status

Status:

  • New %{pecl_xmldir} directory defined and owned by php-common: Done
  • New file triggers in php-pear: Done
  • PHP Guidelines changes: FPC approved

Detailed Description

Each pecl module package uses scriptlet which use the pecl command, so requires php-pear at runtime.

php-pear is a dying project, and most of users don't need/want it.

Replace the scriptlets in pecl package by file triggers in the php-pear package.

Benefit to Fedora

This fix various annoying bugs:

  • drop runtime dependency on php-pear
  • fix circular dependencies (php-cli => php-common => php-pecl-jsonc => php-pear => php-cli)
  • no more "API" warning on version update (will be useful for 5.6 / 7.0 upgrade using fedup), as the registration is now executed at the end of the transaction

Scope

  • Proposal owners:
    • Replace the scriptlets in pecl package by file triggers in the php-pear package.


  • Other developers:
    • cleanup pecl module, not mandatory (scriptlets are now noop)
  • Release engineering: N/A (not a System Wide Change)


  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Users will be able to use PHP and pecl module without php-pear.

If php-pear is installed, module will be registered as previously.

How To Test

  • Install php and some pecl packages
  • Install php-pear
  • run "pecl list" to check registered extensions


User Experience

They should not notice any change.

Dependencies

  • php-pecl-*

Contingency Plan

  • Contingency mechanism:
    • Not needed, could be fixed if needed, but module regsitration is only there for users (not for packaging needs).
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No

Documentation

Will be in the PHP packaging guidelines.

Release Notes

TBD