- From: Noah Kantrowitz <
- Subject: [chef] Re: Using resources in a library?
- Date: Tue, 6 Oct 2015 19:21:12 -0700
On Oct 6, 2015, at 5:05 PM, Nate Meyer
> Hi everyone,
> I'm trying to add a gem dependency to a library. I found a couple
> conversations talking about using resources in libraries in my travels:
> • http://lists.opscode.com/sympa/arc/chef/2011-12/msg00171.html
> In both, the most reasonable advice is to create an instance of the
> resource's class and call #run_action(:whatever) to get it to execute
> immediately. From my testing, this doesn't work, with the problem
> specifically being this code snippet and error:
> My first thought was to pass it run_context... But there's no run_context
> at this point for me to pass to the resource's constructor.
> To demonstrate in further detail, I put together a quick cookbook with a
> Test Kitchen suite: https://github.com/notnmeyer/gem-dep
> Any thoughts? What's the proper way to immediately execute a resource
> during compile time?
A second option (only works if there are no C extensions in the mix, but if
you are trying to early install the gem that should be the case anyway) is to
use Halite to convert it to a cookbook. Basically just clone the gem's code,
add Halite as a dependency, and either add the Halite rake tasks for make a
script to run `Halite.convert('thegemname', 'path/to/write/cookbook') and it
will make a Chef cookbook containing the gem's code in such a way that other
cookbooks can depend on it and require as normal.
Description: Message signed with OpenPGP using GPGMail
Archive powered by MHonArc 2.6.16.