#!/bin/sh
#v10.1.5
globalconf="${workdir}/cbsd.conf"
CBSDMODULE="helpers"
MYARG="devs mnt pool"
MYOPTARG="arch ver swap quiet srcdata url raid ext_populate"
MYDESC="mfsBSD ZFS install script"
ADDHELP="ext_populate - path to external script for populate \$mnt\n\
devs - comma-separated disk list: ada0,ada1\n
raid - raidz|mirror\n"
EXTHELP="modules/pkg.d.html"

# ${_MYDIR}/zfsinstall -u /usr/freebsd-dist ${DSKARG} -p zroot -m ${MPT}

set -e
. ${globalconf}
set +e

. ${subr}
. ${strings}
. ${system}
. ${tools}

init $*

# get default jailskeldir
readconf jail-freebsd-default.conf

#defines
_MYDIR=$( /usr/bin/dirname `/bin/realpath $0` )
noname=0
raidz=

set -e
	. ${_MYDIR}/zfsinstall.subr
set +e

if [ -n "${srcdata}" ]; then
	[ ! -d "${srcdata}" ] && err 1 "${MAGENTA}No such srcdata: ${GREEN}${srcdata}${NORMAL}"
fi

if [ -z "${ext_populate}" ]; then
	# for populate_freebsd_world
	data="${mnt}"
	baserw=1
	applytpl=1
fi

[ -z "${quiet}" ] && quiet="0"

SWAP_ARG=""
RAID_ARG=""

[ -n "${swap}" -a "${swap}" != "0" ] && SWAP_ARG="-s ${swap}"
[ -n "${raid}" ] && RAID_ARG="-r ${raid}"

if [ -z "${ext_populate}" ]; then

	readconf buildworld.conf
	. ${workdir}/universe.subr
	. ${workdir}/freebsd_world.subr

	. ${buildconf}

	init_target_arch
	init_srcdir
	init_supported_arch
	init_basedir
	init_kerneldir

	get_base
fi

OPTS="-d \"${devs}\" -p ${pool} -m ${mnt} ${SWAP_ARG} ${RAID_ARG}"
[ -n "${url}" ] && OPTS="${OPTS} -u ${url}"

[ ! -d "${mnt}" ] && mkdir -p ${mnt}

echo zfsinstall_run ${OPTS}
zfsinstall_run ${OPTS}

