[chef-dev] Re: Re: FreeBSD Omnibus Support


Chronological Thread 
  • From: Scott Sanders < >
  • To: Dimitri Aivaliotis < >
  • Cc: Bryan McLellan < >, " " < >
  • Subject: [chef-dev] Re: Re: FreeBSD Omnibus Support
  • Date: Thu, 4 Apr 2013 13:17:08 -0400

On Thu, Apr 4, 2013 at 11:00 AM, Dimitri Aivaliotis < " target="_blank"> > wrote:
Hi Scott,

On Fri, Mar 22, 2013 at 4:59 PM, Scott Sanders < "> > wrote:
>
> The ruby build step for omnibus requires a custom patch I added to disable
> libexecinfo, since the autoconf scripts for libexecinfo hardcode the LDFLAGS
> to point to /usr/local instead of the desired /opt/chef prefix.

I do realize this is kind of an uphill battle, but does Omnibus _have_
to install into /opt/chef?  The BSD's don't have /opt.  This is
evident in tickets like CHEF-3761.

Given the way omnibus builds, /opt is important. The usefulness of this dir wrt to the FHS is debatable, but refactoring things for FreeBSD omnibus would be a considerable amount of work for little gain, imho.
 
Thanks for your work on these forks!

I was able to build Omnibus with these caveats, which have only to do
with Omnibus itself, and not your "freebsd" branches in particular:

FWIW, my build pipeline for omnibus is to create the baseboxes with bento.

for os in freebsd-8.3 freebsd-8.3-i386 freebsd-9.1 freebsd-9.1-i386 ; do bundle exec vagrant basebox destroy $os -f ; bundle exec vagrant basebox build $os -n -f ; bundle exec vagrant basebox export $os ; done

Then I import the baseboxes into Vagrant and run 'vagrant up' in the omnibus-chef directory. (Exclude OSes you don't want builds for.) The vagrant up step prepares the basebox with the /opt dirs, build tools, etc needed to build omnibus chef-client.

for os in $(vagrant status | awk '/running$/{print $1}') ; do vagrant ssh $os -c 'cd /root/omnibus-chef && bundle install && sudo CHEF_GIT_REV=11.4.0 bundle exec rake projects:chef' ; done

This results in the pkg/ dir containing all the omnibus builds you need. The pattern has been easy to add into our existing Jenkins setup.

Hope that helps! I should probably put the whole notes in a Gist or something...

-Scott



Archive powered by MHonArc 2.6.16.

§