On Oct 20, 2011, at 3:32 PM, Zuhaib Siddique wrote:
So it seems some of the cookbooks from Opscode by default set depends statements in their metadata.rb for cookbooks that are required by a particular OS/Distro.
Yup. I see that throughout all (or almost all) of the cookbooks.
In the case of say tomcat cookbook it sets jpackage as a dependence but you only need that for RPM base Distro’s. Since I am deploying on a Ubuntu box I am not included jpackage in the run list and that made it very unhappy. So I just removed it from the metadata.rb but I am just wondering if this is what is expected to be done by the cookbook provided by opscode?
I have the reverse problem – I’m on CentOS, but all (or almost all) of the cookbooks I pull down have massive Ubuntu/Debian dependencies built into them. I end up having to figure out how to port the cookbook over to CentOS before I can actually use it. Sometimes this isn’t a great deal of hassle, and sometimes it is quite a bit more hassle than I had anticipated.
I generally wrap all the obvious stuff in “case node[‘platform’] … when” statements. But, for example, there are some cookbooks that depend on things like apt, even though they don’t actually use apt to install packages – at least, not on CentOS.
I’ve tried to contribute all my changes back to the project, so that hopefully others won’t have to go through quite as much pain as I have done. But this is a young company and there is a lot of work to do.
Brad Knowles email@example.com
SAGE Level IV, Chef Level 0.0.1