FreeBSD Omnibus Support


#1

We’re planning on adding Omnibus builds for FreeBSD. I know Pete Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need four builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#2

I will publish the Bento definitions and vagrant base boxes for freebsd 9.1
amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo requires a
handful of extra tweaks to get the cookbooks working to provision the
vagrant build box correctly. It appears to mostly be updating package names.

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.

Follow along on the freebsd branches of the following forks:




I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic : http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete Cheslock,
Scott Sanders and Brandon Martin have worked on this, is anyone else out
there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need four
builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#3

Awesome - I know Joe Miller, who may or not be on this list, has done some
work around chef and openbsd - but I believe many of the resources he’s
written are almost the same as would work on FreeBSD.

Scott probably knows better there - i think he has a similar set of lwrp’s
for FreeBSD, and i know I would love to see them make their way into chef
core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders ssanders@taximagic.comwrote:

I will publish the Bento definitions and vagrant base boxes for freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo requires a
handful of extra tweaks to get the cookbooks working to provision the
vagrant build box correctly. It appears to mostly be updating package names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 | @scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need four
builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#4

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the FreeBSD
counterparts in chef-core but they do not work directly on openbsd. I
tried. There are subtle differences in how each handles rc.d and the pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the Openbsd::Package
provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a major
yak shave. So I went with a simple install of ruby193 from pkg followed by
a gem install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going. Scott
and other’s work on omnibus-freebsd builds may be a good starting point.
Whatever patches openbsd’s ports includes for the ruby193 package are also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock petecheslock@gmail.comwrote:

Awesome - I know Joe Miller, who may or not be on this list, has done some
work around chef and openbsd - but I believe many of the resources he’s
written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of lwrp’s
for FreeBSD, and i know I would love to see them make their way into chef
core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders ssanders@taximagic.comwrote:

I will publish the Bento definitions and vagrant base boxes for freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo requires
a handful of extra tweaks to get the cookbooks working to provision the
vagrant build box correctly. It appears to mostly be updating package names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 | @scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need four
builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#5

The omnibus-chef rake task spits out installable shell scripts like this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like “
chef-11.4.0_0.freebsd.9.amd64.sh” so the install.sh script can select the
correct architecture. This also simplifies the naming so we don’t need
separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the FreeBSD
counterparts in chef-core but they do not work directly on openbsd. I
tried. There are subtle differences in how each handles rc.d and the pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a major
yak shave. So I went with a simple install of ruby193 from pkg followed by
a gem install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going. Scott
and other’s work on omnibus-freebsd builds may be a good starting point.
Whatever patches openbsd’s ports includes for the ruby193 package are also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock petecheslock@gmail.comwrote:

Awesome - I know Joe Miller, who may or not be on this list, has done
some work around chef and openbsd - but I believe many of the resources
he’s written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders ssanders@taximagic.comwrote:

I will publish the Bento definitions and vagrant base boxes for freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo requires
a handful of extra tweaks to get the cookbooks working to provision the
vagrant build box correctly. It appears to mostly be updating package names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 | @scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.comwrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need four
builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#6

Yea - I think that would work. That would mean that we assume what works
on 9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if it
works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders ssanders@taximagic.comwrote:

The omnibus-chef rake task spits out installable shell scripts like this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like “
chef-11.4.0_0.freebsd.9.amd64.sh” so the install.sh script can select the
correct architecture. This also simplifies the naming so we don’t need
separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on openbsd.
I tried. There are subtle differences in how each handles rc.d and the
pkg_* commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a major
yak shave. So I went with a simple install of ruby193 from pkg followed by
a gem install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going. Scott
and other’s work on omnibus-freebsd builds may be a good starting point.
Whatever patches openbsd’s ports includes for the ruby193 package are also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock petecheslock@gmail.comwrote:

Awesome - I know Joe Miller, who may or not be on this list, has done
some work around chef and openbsd - but I believe many of the resources
he’s written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders ssanders@taximagic.comwrote:

I will publish the Bento definitions and vagrant base boxes for freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working to
provision the vagrant build box correctly. It appears to mostly be updating
package names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 | @scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.comwrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need
four builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#7

Not sure if you guys got this working yet, but I did a port to SmartOS
(base64 1.8.4) a while back and ran into some of the same issues I’d
imagine you would on BSD

Check out the last comment on this ticket.
http://tickets.opscode.com/browse/CHEF-2576

Pretty much all those patches are to fix C compilation issues with GCC
4.7 being strict about function prototype mismatches.
(int foo / void foo)

I’m not sure how LLVM/Clang will behave.

Another topic is BTM brought up is do we want to apply all patches to
all OS builds?
Or keep a “minimum viable patch set” set for each platform?

-s

On Tue, Mar 26, 2013 at 3:39 PM, Pete Cheslock petecheslock@gmail.com wrote:

Yea - I think that would work. That would mean that we assume what works on
9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if it
works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders ssanders@taximagic.com
wrote:

The omnibus-chef rake task spits out installable shell scripts like this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like
"chef-11.4.0_0.freebsd.9.amd64.sh" so the install.sh script can select the
correct architecture. This also simplifies the naming so we don’t need
separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on openbsd.
I tried. There are subtle differences in how each handles rc.d and the pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a major yak
shave. So I went with a simple install of ruby193 from pkg followed by a gem
install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going. Scott
and other’s work on omnibus-freebsd builds may be a good starting point.
Whatever patches openbsd’s ports includes for the ruby193 package are also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock petecheslock@gmail.com
wrote:

Awesome - I know Joe Miller, who may or not be on this list, has done
some work around chef and openbsd - but I believe many of the resources he’s
written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders ssanders@taximagic.com
wrote:

I will publish the Bento definitions and vagrant base boxes for freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working to provision
the vagrant build box correctly. It appears to mostly be updating package
names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 | @scott_sanders
taximagic : http://taximagic.com | sedanmagic : http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com
wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need
four builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#8

Sean,

Historically, I have built my FreeBSD base boxes using the latest available
ISO media without running freebsd-update to pull in patches. The userland
starts as binary packages from the -stable package site, but this is
replaced after portsnap finishes and the minimal packages needed for a
vagrant basebox are built.

Not sure if thats the patch set you were referring to, or if I’m mistaken.

Also, I just got to BOS a few hours ago for Monitorama. I believe Pete is
in town too. If anyone wants to grab a drink and hack on this, let me know!

-Scott

On Tue, Mar 26, 2013 at 4:08 PM, Sean OMeara someara@gmail.com wrote:

Not sure if you guys got this working yet, but I did a port to SmartOS
(base64 1.8.4) a while back and ran into some of the same issues I’d
imagine you would on BSD

Check out the last comment on this ticket.
http://tickets.opscode.com/browse/CHEF-2576

Pretty much all those patches are to fix C compilation issues with GCC
4.7 being strict about function prototype mismatches.
(int foo / void foo)

I’m not sure how LLVM/Clang will behave.

Another topic is BTM brought up is do we want to apply all patches to
all OS builds?
Or keep a “minimum viable patch set” set for each platform?

-s

On Tue, Mar 26, 2013 at 3:39 PM, Pete Cheslock petecheslock@gmail.com
wrote:

Yea - I think that would work. That would mean that we assume what
works on
9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if it
works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders ssanders@taximagic.com
wrote:

The omnibus-chef rake task spits out installable shell scripts like
this:

chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like
"chef-11.4.0_0.freebsd.9.amd64.sh" so the install.sh script can select
the

correct architecture. This also simplifies the naming so we don’t need
separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on
openbsd.

I tried. There are subtle differences in how each handles rc.d and the
pkg_*

commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a
major yak

shave. So I went with a simple install of ruby193 from pkg followed by
a gem

install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going.
Scott

and other’s work on omnibus-freebsd builds may be a good starting
point.

Whatever patches openbsd’s ports includes for the ruby193 package are
also

probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock <petecheslock@gmail.com

wrote:

Awesome - I know Joe Miller, who may or not be on this list, has done
some work around chef and openbsd - but I believe many of the
resources he’s

written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their
way into

chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders <
ssanders@taximagic.com>

wrote:

I will publish the Bento definitions and vagrant base boxes for
freebsd

9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working to
provision

the vagrant build box correctly. It appears to mostly be updating
package

names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sanders

taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com
wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is
anyone

else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need
four builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#9

Hi Scott

I was referring to any extra-pristine-tarball patches you would need
to compile individual pieces from the omnibus-software project.
(ncurses, openssl, ruby, etc)

-s

On Tue, Mar 26, 2013 at 4:17 PM, Scott Sanders ssanders@taximagic.com wrote:

Sean,

Historically, I have built my FreeBSD base boxes using the latest available
ISO media without running freebsd-update to pull in patches. The userland
starts as binary packages from the -stable package site, but this is
replaced after portsnap finishes and the minimal packages needed for a
vagrant basebox are built.

Not sure if thats the patch set you were referring to, or if I’m mistaken.

Also, I just got to BOS a few hours ago for Monitorama. I believe Pete is in
town too. If anyone wants to grab a drink and hack on this, let me know!

-Scott

On Tue, Mar 26, 2013 at 4:08 PM, Sean OMeara someara@gmail.com wrote:

Not sure if you guys got this working yet, but I did a port to SmartOS
(base64 1.8.4) a while back and ran into some of the same issues I’d
imagine you would on BSD

Check out the last comment on this ticket.
http://tickets.opscode.com/browse/CHEF-2576

Pretty much all those patches are to fix C compilation issues with GCC
4.7 being strict about function prototype mismatches.
(int foo / void foo)

I’m not sure how LLVM/Clang will behave.

Another topic is BTM brought up is do we want to apply all patches to
all OS builds?
Or keep a “minimum viable patch set” set for each platform?

-s

On Tue, Mar 26, 2013 at 3:39 PM, Pete Cheslock petecheslock@gmail.com
wrote:

Yea - I think that would work. That would mean that we assume what
works on
9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if it
works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders ssanders@taximagic.com
wrote:

The omnibus-chef rake task spits out installable shell scripts like
this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like
"chef-11.4.0_0.freebsd.9.amd64.sh" so the install.sh script can select
the
correct architecture. This also simplifies the naming so we don’t need
separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on
openbsd.
I tried. There are subtle differences in how each handles rc.d and the
pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked at
building an omnibus pkg on openbsd but that had all the looks of a
major yak
shave. So I went with a simple install of ruby193 from pkg followed by
a gem
install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going.
Scott
and other’s work on omnibus-freebsd builds may be a good starting
point.
Whatever patches openbsd’s ports includes for the ruby193 package are
also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock
petecheslock@gmail.com
wrote:

Awesome - I know Joe Miller, who may or not be on this list, has done
some work around chef and openbsd - but I believe many of the
resources he’s
written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their
way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders
ssanders@taximagic.com
wrote:

I will publish the Bento definitions and vagrant base boxes for
freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from
there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working to
provision
the vagrant build box correctly. It appears to mostly be updating
package
names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan btm@opscode.com
wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this, is
anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll need
four builds, one for 32-bit and one for 64-bit on both 8.x and 9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#10

Hi Scott,

On Fri, Mar 22, 2013 at 4:59 PM, Scott Sanders ssanders@taximagic.com 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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

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:

  1. You have to pre-create the /opt/chef directory as root and then
    ’chown’ to your build user (nobody’s building as root, right?). This
    could be solved by having a separate install_dir (place to be
    installed into during build) and prefix_dir (place to be installed
    into after extracting the archive).

  2. omnibus-chef should ship with a safe omnibus.rb, maybe something
    like the following:

cat >omnibus.rb<<EOF
Omnibus.configure do |o|
o.use_s3_caching = false
o.cache_dir = "/home/builder/cache"
o.source_dir = "/home/builder/src"
o.build_dir = "/home/builder/build"
o.package_dir = "/home/builder/pkg"
end
EOF

Again to support building as a non-root user.

  1. On install, makeself.sh seems to require bash, otherwise you get
    the following error:

eval: ./makeselfinst: not found

and the install will fail.

@Bryan: should I open tickets for these, or are these issues that have
been seen before, decided upon, and would be closed with “Won’t Fix”?

I’m very excited to see some interest in Chef on FreeBSD!

So am I. :slight_smile:

  • Dimitri

#11

It really does need to install into /opt/chef. The reason here is setting the RPATH in the binaries to only link to the libraries we build, rather than the operating system. If you aren’t building in place, things go very badly for you when it comes to link time. You could, in theory, post-process everything and override the RPATHs - but it’s not clear to me this would work in every situation, or even on every platform. Precreating /opt/chef seems like not a huge difference.

Adam

-----Original Message-----
From: Dimitri Aivaliotis [mailto:aglarond@gmail.com]
Sent: Thursday, April 4, 2013 8:00 AM
To: Scott Sanders
Cc: Bryan McLellan; chef-dev@lists.opscode.com
Subject: [chef-dev] Re: Re: FreeBSD Omnibus Support

Hi Scott,

On Fri, Mar 22, 2013 at 4:59 PM, Scott Sanders ssanders@taximagic.com 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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

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:

  1. You have to pre-create the /opt/chef directory as root and then ‘chown’ to your build user (nobody’s building as root, right?). This could be solved by having a separate install_dir (place to be installed into during build) and prefix_dir (place to be installed into after extracting the archive).

  2. omnibus-chef should ship with a safe omnibus.rb, maybe something like the following:

cat >omnibus.rb<<EOF
Omnibus.configure do |o|
o.use_s3_caching = false
o.cache_dir = "/home/builder/cache"
o.source_dir = "/home/builder/src"
o.build_dir = "/home/builder/build"
o.package_dir = "/home/builder/pkg"
end
EOF

Again to support building as a non-root user.

  1. On install, makeself.sh seems to require bash, otherwise you get the following error:

eval: ./makeselfinst: not found

and the install will fail.

@Bryan: should I open tickets for these, or are these issues that have been seen before, decided upon, and would be closed with “Won’t Fix”?

I’m very excited to see some interest in Chef on FreeBSD!

So am I. :slight_smile:

  • Dimitri

#12

On Thu, Apr 4, 2013 at 11:00 AM, Dimitri Aivaliotis aglarond@gmail.comwrote:

Hi Scott,

On Fri, Mar 22, 2013 at 4:59 PM, Scott Sanders ssanders@taximagic.com
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


#13

Hi Adam,

On Thu, Apr 4, 2013 at 6:42 PM, Adam Jacob adam@opscode.com wrote:

It really does need to install into /opt/chef. The reason here is setting the RPATH in the binaries to only link to the libraries we build, rather than the operating system. If you aren’t building in place, things go very badly for you when it comes to link time. You could, in theory, post-process everything and override the RPATHs - but it’s not clear to me this would work in every situation, or even on every platform. Precreating /opt/chef seems like not a huge difference.

I had suspected that was the reason. Instead of devolving into a
discussion of creating yet another packaging system instead of using
something like pkgsrc for Omnibus, I’ll just accept it for now. Maybe
we can discuss it in more detail at ChefConf.

  • Dimitri

#14

On Thu, Apr 4, 2013 at 7:17 PM, Scott Sanders ssanders@taximagic.com wrote:

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

Thanks, Scott! That does help. I need to get back into Vagrant again…

  • Dimitri

#15

Certainly. Pkgsrc promised this sort of ability. In practice, it failed to deliver - but I did try. :slight_smile:

Adam

-----Original Message-----
From: Dimitri Aivaliotis [mailto:aglarond@gmail.com]
Sent: Thursday, April 4, 2013 12:53 PM
To: Adam Jacob
Cc: Scott Sanders; Bryan McLellan; chef-dev@lists.opscode.com
Subject: Re: [chef-dev] Re: Re: FreeBSD Omnibus Support

Hi Adam,

On Thu, Apr 4, 2013 at 6:42 PM, Adam Jacob adam@opscode.com wrote:

It really does need to install into /opt/chef. The reason here is setting the RPATH in the binaries to only link to the libraries we build, rather than the operating system. If you aren’t building in place, things go very badly for you when it comes to link time. You could, in theory, post-process everything and override the RPATHs - but it’s not clear to me this would work in every situation, or even on every platform. Precreating /opt/chef seems like not a huge difference.

I had suspected that was the reason. Instead of devolving into a discussion of creating yet another packaging system instead of using something like pkgsrc for Omnibus, I’ll just accept it for now. Maybe we can discuss it in more detail at ChefConf.

  • Dimitri

#16

Thanks for pointing me at this thread Bryan. subscribes

I’ve had builds for FreeBSD 10.x-CURRENT, 9.x-STABLE working for a long
while and they seem to work well. I haven’t worked with 8.x at all as I
don’t use it. I also had a working build for NetBSD.

The 10 month old omnibus-ruby PR#7 has the stuff to build FreeBSD packages.
It would need to be srsly rebased of course as 10 months is ages these
days… omnibus-software PR#2 created working builds 10 months ago, its
mostly just setting up CFLAGs and judicious use of gmake. omnibus-chef
PR#2 just changes the shebang to use /usr/bin/env so the postinstall/rm
scripts work as-advertised when installing via pkg_add and pkg_delete.

If there is interest i can rebase the commits and verify the builds, im not
sure if the stuff i have pushed up to github is before or after the full
switch over to clang/llvm, pretty sure it is but I’d have to check. If not
it is just moar cflag munging if i recall correctly.

the good news is it works without issue on 10.x, used as a daily
workstation for a year or more. I’m now lost in ubuntu land for the time
being :frowning: :slight_smile: :confused: so it may be good therapy for me to get these updated.

fwiw even if the libc abi changed on FreeBSD you could just target 8.x and
require compat-libc packages. the old abi will still be there…

it builds on netbsd x86/amd64 with essentially the same config and i would
assume openbsd follows suit although i have not tested it…

if Scott has working, more recent builds then it is probably best to PR
those and work forward from there.

Cheers,
Brandon

On Tue, Mar 26, 2013 at 1:37 PM, Sean OMeara someara@gmail.com wrote:

Hi Scott

I was referring to any extra-pristine-tarball patches you would need
to compile individual pieces from the omnibus-software project.
(ncurses, openssl, ruby, etc)

-s

On Tue, Mar 26, 2013 at 4:17 PM, Scott Sanders ssanders@taximagic.com
wrote:

Sean,

Historically, I have built my FreeBSD base boxes using the latest
available
ISO media without running freebsd-update to pull in patches. The userland
starts as binary packages from the -stable package site, but this is
replaced after portsnap finishes and the minimal packages needed for a
vagrant basebox are built.

Not sure if thats the patch set you were referring to, or if I’m
mistaken.

Also, I just got to BOS a few hours ago for Monitorama. I believe Pete
is in
town too. If anyone wants to grab a drink and hack on this, let me know!

-Scott

On Tue, Mar 26, 2013 at 4:08 PM, Sean OMeara someara@gmail.com wrote:

Not sure if you guys got this working yet, but I did a port to SmartOS
(base64 1.8.4) a while back and ran into some of the same issues I’d
imagine you would on BSD

Check out the last comment on this ticket.
http://tickets.opscode.com/browse/CHEF-2576

Pretty much all those patches are to fix C compilation issues with GCC
4.7 being strict about function prototype mismatches.
(int foo / void foo)

I’m not sure how LLVM/Clang will behave.

Another topic is BTM brought up is do we want to apply all patches to
all OS builds?
Or keep a “minimum viable patch set” set for each platform?

-s

On Tue, Mar 26, 2013 at 3:39 PM, Pete Cheslock petecheslock@gmail.com
wrote:

Yea - I think that would work. That would mean that we assume what
works on
9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if
it

works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders <
ssanders@taximagic.com>

wrote:

The omnibus-chef rake task spits out installable shell scripts like
this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like
"chef-11.4.0_0.freebsd.9.amd64.sh" so the install.sh script can
select

the
correct architecture. This also simplifies the naming so we don’t
need

separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net
wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on
openbsd.
I tried. There are subtle differences in how each handles rc.d and
the

pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first looked
at

building an omnibus pkg on openbsd but that had all the looks of a
major yak
shave. So I went with a simple install of ruby193 from pkg followed
by

a gem
install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going.
Scott
and other’s work on omnibus-freebsd builds may be a good starting
point.
Whatever patches openbsd’s ports includes for the ruby193 package
are

also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock
petecheslock@gmail.com
wrote:

Awesome - I know Joe Miller, who may or not be on this list, has
done

some work around chef and openbsd - but I believe many of the
resources he’s
written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set of
lwrp’s for FreeBSD, and i know I would love to see them make their
way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders
ssanders@taximagic.com
wrote:

I will publish the Bento definitions and vagrant base boxes for
freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from
there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working to
provision
the vagrant build box correctly. It appears to mostly be updating
package
names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan <btm@opscode.com

wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this,
is

anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll
need

four builds, one for 32-bit and one for 64-bit on both 8.x and
9.x


Bryan McLellan | opscode | technical program manager, open source
© 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org


#17

I believe PR#7 was based on my original work in PR#1. My current freebsd
forks for bento and omnibus-* work for 8.3 and 9.1 (amd64 and i386).
Brandon, I expect the 10.x stuff will build cleanly with the current
omnibus code in my freebsd forks, I just don’t have the bento or veewee
template to build a basebox to generate the omnibus installer with.

The omnibus builds (and modified install.sh) are here:
https://dist.ridecharge.com/pub/omnibus/chef/

I’ll upload the baseboxes today for testing and try to write up some of the
build processes.

Thanks so much for the interest!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sandershttps://twitter.com/scott_sanders
taximagic : http://taximagic.com | sedanmagic : http://sedanmagic.com

On Tue, Apr 2, 2013 at 11:39 PM, Brandon Martin b@heyomayeah.com wrote:

Thanks for pointing me at this thread Bryan. subscribes

I’ve had builds for FreeBSD 10.x-CURRENT, 9.x-STABLE working for a long
while and they seem to work well. I haven’t worked with 8.x at all as I
don’t use it. I also had a working build for NetBSD.

The 10 month old omnibus-ruby PR#7 has the stuff to build FreeBSD
packages. It would need to be srsly rebased of course as 10 months is ages
these days… omnibus-software PR#2 created working builds 10 months ago,
its mostly just setting up CFLAGs and judicious use of gmake. omnibus-chef
PR#2 just changes the shebang to use /usr/bin/env so the postinstall/rm
scripts work as-advertised when installing via pkg_add and pkg_delete.

If there is interest i can rebase the commits and verify the builds, im
not sure if the stuff i have pushed up to github is before or after the
full switch over to clang/llvm, pretty sure it is but I’d have to check.
If not it is just moar cflag munging if i recall correctly.

the good news is it works without issue on 10.x, used as a daily
workstation for a year or more. I’m now lost in ubuntu land for the time
being :frowning: :slight_smile: :confused: so it may be good therapy for me to get these updated.

fwiw even if the libc abi changed on FreeBSD you could just target 8.x and
require compat-libc packages. the old abi will still be there…

it builds on netbsd x86/amd64 with essentially the same config and i would
assume openbsd follows suit although i have not tested it…

if Scott has working, more recent builds then it is probably best to PR
those and work forward from there.

Cheers,
Brandon

On Tue, Mar 26, 2013 at 1:37 PM, Sean OMeara someara@gmail.com wrote:

Hi Scott

I was referring to any extra-pristine-tarball patches you would need
to compile individual pieces from the omnibus-software project.
(ncurses, openssl, ruby, etc)

-s

On Tue, Mar 26, 2013 at 4:17 PM, Scott Sanders ssanders@taximagic.com
wrote:

Sean,

Historically, I have built my FreeBSD base boxes using the latest
available
ISO media without running freebsd-update to pull in patches. The
userland
starts as binary packages from the -stable package site, but this is
replaced after portsnap finishes and the minimal packages needed for a
vagrant basebox are built.

Not sure if thats the patch set you were referring to, or if I’m
mistaken.

Also, I just got to BOS a few hours ago for Monitorama. I believe Pete
is in
town too. If anyone wants to grab a drink and hack on this, let me know!

-Scott

On Tue, Mar 26, 2013 at 4:08 PM, Sean OMeara someara@gmail.com wrote:

Not sure if you guys got this working yet, but I did a port to SmartOS
(base64 1.8.4) a while back and ran into some of the same issues I’d
imagine you would on BSD

Check out the last comment on this ticket.
http://tickets.opscode.com/browse/CHEF-2576

Pretty much all those patches are to fix C compilation issues with GCC
4.7 being strict about function prototype mismatches.
(int foo / void foo)

I’m not sure how LLVM/Clang will behave.

Another topic is BTM brought up is do we want to apply all patches to
all OS builds?
Or keep a “minimum viable patch set” set for each platform?

-s

On Tue, Mar 26, 2013 at 3:39 PM, Pete Cheslock <petecheslock@gmail.com

wrote:

Yea - I think that would work. That would mean that we assume what
works on
9.1 will likely work on 9.0? Probably similarly for 8.3, 8.2, etc.

Unless we just “say” technically only support for 8.3 and 9.1 and if
it

works on other versions, great.

-Pete

On Tue, Mar 26, 2013 at 3:26 PM, Scott Sanders <
ssanders@taximagic.com>

wrote:

The omnibus-chef rake task spits out installable shell scripts like
this:
chef-11.4.0_0.freebsd.9.1-RELEASE.sh

I believe I will adjust the installer name to something like
"chef-11.4.0_0.freebsd.9.amd64.sh" so the install.sh script can
select

the
correct architecture. This also simplifies the naming so we don’t
need

separate packages for 9.0-RELEASE, 9.1-RC3, etc.

Thoughts?

-Scott

On Fri, Mar 22, 2013 at 12:23 PM, Joe Miller joeym@joeym.net
wrote:

I am on the list. =)

The OpenBSD LWRPs (just Service & Package) are pretty close to the
FreeBSD counterparts in chef-core but they do not work directly on
openbsd.
I tried. There are subtle differences in how each handles rc.d and
the

pkg_*
commands were also slightly different.

Additionally I did not support compiling from ports in the
Openbsd::Package provider as the FreeBSD appears to support.

Getting chef 11.x to run on openbsd was pretty easy. I first
looked at

building an omnibus pkg on openbsd but that had all the looks of a
major yak
shave. So I went with a simple install of ruby193 from pkg
followed by

a gem
install of Chef. It worked great.

It would be pretty interesting to get openbsd omnibus builds going.
Scott
and other’s work on omnibus-freebsd builds may be a good starting
point.
Whatever patches openbsd’s ports includes for the ruby193 package
are

also
probably going to be pretty useful.

On Fri, Mar 22, 2013 at 9:09 AM, Pete Cheslock
petecheslock@gmail.com
wrote:

Awesome - I know Joe Miller, who may or not be on this list, has
done

some work around chef and openbsd - but I believe many of the
resources he’s
written are almost the same as would work on FreeBSD.

https://github.com/joemiller/chef-openbsd

Scott probably knows better there - i think he has a similar set
of

lwrp’s for FreeBSD, and i know I would love to see them make their
way into
chef core (and will be happy to do any testing needed).

-Pete

On Fri, Mar 22, 2013 at 11:59 AM, Scott Sanders
ssanders@taximagic.com
wrote:

I will publish the Bento definitions and vagrant base boxes for
freebsd
9.1 amd64/i386 shortly. Adding 8.x shouldn’t be much work from
there.

The omnibus builds I have work on FreeBSD, but the omnibus repo
requires a handful of extra tweaks to get the cookbooks working
to

provision
the vagrant build box correctly. It appears to mostly be updating
package
names.

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.

Follow along on the freebsd branches of the following forks:

https://github.com/jssjr/bento
https://github.com/jssjr/omnibus-ruby
https://github.com/jssjr/omnibus-chef
https://github.com/jssjr/omnibus-software

I’m very excited to see some interest in Chef on FreeBSD!

Scott Sanders | Tech Operations | 803.767.0060 |
@scott_sanders
taximagic : http://taximagic.com | sedanmagic :
http://sedanmagic.com

On Fri, Mar 22, 2013 at 11:44 AM, Bryan McLellan <
btm@opscode.com>

wrote:

We’re planning on adding Omnibus builds for FreeBSD. I know Pete
Cheslock, Scott Sanders and Brandon Martin have worked on this,
is

anyone
else out there working on it?

I’m presuming that libc changed between 8.x and 9.x, so we’ll
need

four builds, one for 32-bit and one for 64-bit on both 8.x and
9.x


Bryan McLellan | opscode | technical program manager, open
source

© 206.607.7108 | (t) @btmspox | (b)
http://blog.loftninjas.org


#18

Hi Brandon,

On Wed, Apr 3, 2013 at 5:39 AM, Brandon Martin b@heyomayeah.com wrote:

If there is interest i can rebase the commits and verify the builds

There is interest. I last attempted a build based on your
"freebsd-support" branches in January. Three files needed to be
merged by hand and one removed. So, the delta to January wasn’t that
large. Let me know if you’d like more details.

I haven’t tried Scott’s branches, yet.

To throw more fun into the mix, we’ve got a pkgng based setup, so
we’ll need to be generating packages for that as well, including this
patch[1], until the author upstreams it.

  • Dimitri

[1] https://gist.github.com/rottenbytes/3633306


#19

Dimitri,

Excellent patch, I’m definitely borrowing that after we update our
packaging server! We do something very similar to enable package management
through portmaster. The monkey patches live in our freebsd cookbook’s
libraries directory so the core chef code doesn’t need modification. I
expect this is a common pattern given the variety of package managers for
FreeBSD.

FWIW, we also have monkey patches as well that switch service commands over
to using onestart, onestop, etc instead of start, stop so that commands
don’t fail before the service is enabled in rc.conf.

-Scott

On Wed, Apr 3, 2013 at 10:58 AM, Dimitri Aivaliotis aglarond@gmail.comwrote:

Hi Brandon,

On Wed, Apr 3, 2013 at 5:39 AM, Brandon Martin b@heyomayeah.com wrote:

If there is interest i can rebase the commits and verify the builds

There is interest. I last attempted a build based on your
"freebsd-support" branches in January. Three files needed to be
merged by hand and one removed. So, the delta to January wasn’t that
large. Let me know if you’d like more details.

I haven’t tried Scott’s branches, yet.

To throw more fun into the mix, we’ve got a pkgng based setup, so
we’ll need to be generating packages for that as well, including this
patch[1], until the author upstreams it.

  • Dimitri

[1] https://gist.github.com/rottenbytes/3633306


#20

On Wed, Apr 3, 2013 at 5:09 PM, Scott Sanders ssanders@taximagic.comwrote:

Dimitri,

Excellent patch, I’m definitely borrowing that after we update our
packaging server! We do something very similar to enable package management
through portmaster. The monkey patches live in our freebsd cookbook’s
libraries directory so the core chef code doesn’t need modification. I
expect this is a common pattern given the variety of package managers for
FreeBSD.

FWIW, we also have monkey patches as well that switch service commands
over to using onestart, onestop, etc instead of start, stop so that
commands don’t fail before the service is enabled in rc.conf.

We also use something like that, it would be awesome to get that into the
official freebsd cookbook.