I maintain a community extension on Magento Connect.
When I make updated versions of this extension I want to test against several versions of Magento before I release it, to make sure I don’t break backwards compatibility with earlier versions of the Magento core.
So, I’m trying to install a few versions of Magento locally. This I can do. Download the tarball for the version I want, extract, go through the web-based install process. Works nicely.
The problem I’m having is that whenever I try to install an extension from Magento Connect, it silently and sneakily decides to upgrade it’s core packages. I’m a bit confused about why it thinks it’s a good idea to do this without asking me, and it’s pretty damn annoying.
For example, the following is with a fresh 1.1.8 install from the command line:
$ ./pear install -f magento-community/OrganicInternet_SimpleConfigurableProducts
WARNING: failed to download connect.magentocommerce.com/community/OrganicInternet_SimpleConfigurableProducts within preferred state "stable", will instead download version 0.3, stability "beta"
Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
downloading OrganicInternet_SimpleConfigurableProducts-0.3.tgz ...
Starting to download OrganicInternet_SimpleConfigurableProducts-0.3.tgz (11,585 bytes)
.....done: 11,585 bytes
downloading Mage_Core_Modules-188.8.131.52.tgz ...
Starting to download Mage_Core_Modules-184.108.40.206.tgz (1,434,139 bytes)
...done: 1,434,139 bytes
downloading Lib_Varien-1.2.0.tgz ...
Starting to download Lib_Varien-1.2.0.tgz (102,280 bytes)
...done: 102,280 bytes
downloading Lib_Google_Checkout-1.2.0.tgz ...
Starting to download Lib_Google_Checkout-1.2.0.tgz (27,164 bytes)
Mage core modules 1.2? Lib varien 1.2? I didn’t ask for those. (and my extension even states that it’s not compatible with v1.2 so they definitely should not be installed) [edit: OK in truth it doesn’t. I was pretty sure it did but it doesn’t. See further down the thread for more info.]
Now I’ll admit I’m a bit clueless where pear is concerned - it’s a bewildering piece of software which looks very much like it’s in need of some half decent docs and a dollop of polish, so maybe there’s some magic flag which will mean that when I ask it to just install one extension/package it does what I ask.
Anyone any idea?
Is there a way to tell pear to get a specific version of a package?
(Also, upon fresh install magento connect manager doesn’t list any installed packages. The only advice I’ve found for this problem is to install ‘magento-core/Mage_All_Latest’ which as well as making MCM work as it should do out of the box also installs the newest version of everything - exactly the opposite of what I want to do)