Description of problem: Currently the user can't add new (potentially his own private) pear channels and/or configure his pear becuase .pearrc is a locked file in the manifest. There is also a warning about expired channel metadata which we update when install a PHP cartridge (Bug #1094007). Pear channel updates should be in the build script, before downloading dependencies but for that, we should be able to write the .pearrc. Version-Release number of selected component (if applicable): devenv_5041 (ami-1693457e) / online august of 2014 How reproducible: always Steps to Reproduce: 1. ssh into the PHP gear 2. pear channel-discover pear.drush.org Actual results: no write access to /var/lib/openshift/53e1134152e14e701900010d//.pearrc! Expected results: The user should be able to configure his pear. Even if we generate it from our custom format. Additional info:
Maciej, talk w/ Balazs about this as he made some comments on IRC about it having implications for scaled and HA apps.
Currently openshift allows users to define pear dependencies using .openshift/pear.txt file. Sample content for this file might look like this: channel://pear.drush.org/drush-6.2.0.0 Then, when building app pear is fed with those dependencies (see [1], build function). It's autodiscovery mechanism registers any new channels or update current ones based on suggested alias each channel provides (see [2]). Additionally user can update channel metadata using following commands: pear update-channels # updates all channels metadata pear channel-update <channel_name> # update single channel [1] https://github.com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-php/bin/control [2] http://pear.php.net/manual/en/guide.migrating.channels.xml.php