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.