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.