#!/usr/bin/env bash # # Create a new jail set -euo pipefail IFS=$'\n\t' DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" : ${JAIL_MOUNTPOINT:="{{ jail_zfs_dataset_mountpoint }}"} function die { echo >&2 "$@" exit 1 } [ "$#" -eq 2 ] || die "1 argument required, $# provided" JAIL_NAME="$2" export DESTDIR="${JAIL_MOUNTPOINT}/$JAIL_NAME" function by_src { cd /usr/src make -j 16 buildworld make installworld DESTDIR=$DESTDIR make distribution DESTDIR=$DESTDIR } function by_bin { DESTRELEASE=13.2-RELEASE DESTARCH=`uname -m` SOURCEURL=http://ftp.freebsd.org/pub/FreeBSD/releases/$DESTARCH/$DESTRELEASE/ for component in base ports; do fetch $SOURCEURL/$component.txz -o - | tar -xf - -C "$DESTDIR" ; done } function by_pkg { # current https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest # 14/stable https://pkg.freebsd.org/FreeBSD:14:amd64/base_latest # 14.1 https://pkg.freebsd.org/FreeBSD:14:amd64/base_release_1 local config config=$(cat <