With the help of tBunnyMan’s post, I managed to get the Chef DK running inside a jail on my FreeBSD box.
After you’ve done your initial setup in the jail, you’ll want to also setup sudo
in your jail and allow anybody in the wheel
to have password-less sudo
(you can modify the file by hand if you want to see what it’s doing):
# pkg install sudo
# sed -ie 's/#\(%wheel ALL=\)/\1/' /usr/local/etc/sudoers
Now, create the user that will run the setup:
# adduser
Username: chef
Full name: chef
Uid (Leave empty for default):
Login group [chef]:
Login group is chef. Invite chef into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/chef]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]:
Username : chef
Password :
Full Name : chef
Uid : 1001
Class :
Groups : chef wheel
Home : /home/chef
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
We need an older version of devel/gecode
, so now we have to downgrade it. This step will take a while if you have a CPU that isn’t very fast.
# su chef
# cd ~
# sudo pkg install portdowngrade
# sudo portdowngrade devel/gecode r345033
# cd gecode
# sudo make deinstall install clean
We are not yet done with gecode, however. A pull request to dep_selector added a dependency on GECODE_VERSION_NUMBER
, which isn’t properly defined in /usr/local/include/gecode/support/config.hpp
, so we have to fix it.
# sudo sed -ie 's/\(#define GECODE_VERSION_NUMBER\)\s*/\1 300703/' /usr/local/include/gecode/support/config.hpp
Almost there! No we can install our other dependencies and checkout the git repo.
# cd ~
# sudo pkg install ruby rubygem-bundler git
# git clone https://github.com/chef/chef-dk.git
# cd chef-dk
# USE_SYSTEM_GECODE=1 bundle install --without development
This will at least let you build the Chef DK. As I go further down this rabbit hole, I may end up putting up more posts on how I got Chef setup on FreeBSD.