Creates a FreeBSD server which provides a ready to run poudriere
installation. See FreeBSD Handbook for further information on how to use poudriere
.
This Ansible role is used to setup the server on AWS EC2 or VirtualBox.
export AWS_ACCESS_KEY='your key'
export AWS_SECRET_ACCESS_KEY='your secret'
export AWS_DEFAULT_REGION='the aws region to use'
export S3_BUCKET_NAME='the S3 bucket name'
export POUDRIERE_KEY_FILE='the key file to use for package signing'
ansible-galaxy install JoergFiedler.freebsd-build-server,1.1.2
vagrant plugin install vagrant-aws
vagrant box add JoergFiedler/freebsd-11.2 --provider aws
vagrant up --provider aws
Log in with vagrant ssh
.
sudo build-ports
sudo upload-to-s3
First you need to create a new key pair.
openssl genrsa -out files/poudriere.key 4096
openssl rsa -in files/poudriere.key -pubout -out files/poudriere.key.pub
Add the newly create private key to your playbook (site.yml
).
poudriere_key_file: './files/poudriere.key'
Create a new file which contains a list of all packages you want to build.
cat <<EOF >> files/port.list
www/nginx
net-p2p/btsync
EOF
Configure the playbook (site.yml
) to use your own packages list.
poudriere_port_list_file: './files/port.list'
Options for you build can be set easily by creating your own make.conf
file.
cat <<EOF >> ./files/make.conf
OPTIONS_UNSET+= DOCS NLS X11 EXAMPLES
EOF
Add the file to the playbook (site.yml
).
poudriere_build_options_file: './files/make.conf'
Add more entries to the list of jails poudriere_jails
in you playbook (site.yml
).
poudriere_jails:
- { jail_name: 'freebsd-11_2_x64', version: '11.2-RELEASE' }
The configuration above instructs poudriere to create packages for the three versions (10.1, 10.2, 10.3) of FreeBSD.