- From: Bryan Berry <
>
- To:
- Subject: [chef] Re: Re: refactoring ark into "build", feedback needed
- Date: Thu, 1 Nov 2012 17:00:25 +0100
tks for your feedback Greg. I do intend to leave ark functioning as it
currently does for simple download-unpack-link tasks
the chef_gem already installs libraries into the omnibus location. I
use that to install the pg gem
On Thu, Nov 1, 2012 at 4:39 PM, Greg Symons
<
>
wrote:
>
That looks like it may be a beautiful thing, especially if it can be easily
>
leveraged to do installs of libraries into the omnibus location for things
>
like, for example, the pg gem. It would probably be nice to leave ark
>
available as a standalone resource for things that don't have a build
>
step... it doesn't make a lot of sense to use a "build" resource to download
>
and unzip an archive.
>
>
Greg
>
>
>
On 11/01/2012 09:41 AM, Bryan Berry wrote:
>
>
>
> Ark is getting a bit too hairy as I try to stuff more and more
>
> functionality into it. The current Ark cookbook also has issues w/
>
> idempotency that need to be addressed. I am thinking about creating a
>
> new LWRP "build" for which ark is just a component. Tks to erik
>
> hollensbe for suggesting the name "build". the main idea is that build
>
> has sub-resources like configure, make, python, ant, etc. that each
>
> take their block
>
>
>
> Here is the DSL that I have in mind. If this is a frankenstein, pls tell
>
> me
>
>
>
> build "collectd"
>
> # this would call the ark provider in the build provider
>
> ark do
>
> url "http://..."
>
> checksum "asdfasdf"
>
> end
>
> configure do # won't run if "config.status" file exists
>
> flags [ "--enable-python", "--enable-jvm" ]
>
> prefix "/opt"
>
> end
>
> make do
>
> env [ "OS=linux" ]
>
> creates 'bin/collectd'
>
> end
>
> make "install" do
>
> creates "/usr/sbin/collectd"
>
> end
>
> end
>
>
>
>
>
> easier to extend and more composable, you could even use it w/out ark
>
> to grab and deposit the files and build could be extended to use
>
> additional build tools like ant, cmake, scons, etc.
>
>
>
> bash "untar files" do
>
> code <<EOF
>
> wget http://example.com/foobar.tar.gz -O /tmp/foobar
>
> tar xvzf /tmp/foobar.tar.gz -C /opt
>
> EOF
>
> end
>
>
>
> build "foobar" do
>
> cmake do
>
> flags [ "--with-cracklib", "--with-postgres" ]
>
> creates "bin/foobar"
>
> end
>
> cmake "install" do
>
> creates "bin/foobar"
>
> end
>
> end
>
>
>
> end
>
>
>
> one of the downsides is that this will require a good amount of work
>
> on my side, something I was hoping to avoid
>
>
>
> I also need to balance this new dsl w/ the efficacy of the current ark
>
> lwrp, which is really succinct for simple tasks. Perhaps I could do
>
> this by leaving ark as a separate class but then creating a subclass
>
> in Build::Ark. just an idea
>
>
>
> feedback would be most appreciated!
>
>
Archive powered by MHonArc 2.6.16.