Note: /usr/ports/ (and so poudriere-devel) as of -r425204 (poudriere-devel-3.2.99.20171129).
I expect that the below is from ports-mgmt/poudriere-=devel -r454996 and its: - ports/jail -c NOZFS: Consider non-empty-already-existing-directory a failure where the change did not cover an explicit use of -m null also being involved to deliberately being using a pre-built world that is located via use of -M PATH . [There is one other side note about a potential issue later below.] # poudriere jail -c -j FBSDjailRPI2 -m null -M /usr/obj/DESTDIRs/clang-armv7-installworld-poud -S /usr/src -v 12.0-CURRENT [00:00:00] Creating FBSDjailRPI2 fs at /usr/obj/DESTDIRs/clang-armv7-installworld-poud... fail [00:00:00] Error: Directory not empty at /usr/obj/DESTDIRs/clang-armv7-installworld-poud # ls -lTdt /usr/obj/DESTDIRs/clang-armv7-installworld-poud/* drwxr-xr-x 26 root wheel 2048 Nov 27 00:33:01 2017 /usr/obj/DESTDIRs/clang-armv7-installworld-poud/etc drwxr-xr-x 2 root wheel 2560 Nov 27 00:29:51 2017 /usr/obj/DESTDIRs/clang-armv7-installworld-poud/rescue . . . (So: a pre-built world, created via a cross build and copied over beforehand.) # poudriere jail -c -j FBSDjailRPI2 -m null -M /usr/obj/DESTDIRs/clang-armv7-installworld-poud -S /usr/src -v 12.0-CURRENT [00:00:00] Creating FBSDjailRPI2 fs at /usr/obj/DESTDIRs/clang-armv7-installworld-poud... fail [00:00:00] Error: Directory not empty at /usr/obj/DESTDIRs/clang-armv7-installworld-poud /usr/local/etc/poudriere.conf has: NO_ZFS=yes /usr/local/share/poudriere/include/fs.sh has: createfs() { [ $# -ne 3 ] && eargs createfs name mnt fs local name mnt fs name=$1 mnt=$(echo $2 | sed -e "s,//,/,g") fs=$3 [ -z "${NO_ZFS}" ] || fs=none if [ -n "${fs}" -a "${fs}" != "none" ]; then . . . else msg_n "Creating ${name} fs at ${mnt}..." if ! mkdir -p "${mnt}"; then echo " fail" err 1 "Failed to create directory ${mnt}" fi # If the directory is non-empty then we didn't create it. if ! dirempty "${mnt}"; then echo " fail" err 1 "Directory not empty at ${mnt}" fi echo " done" fi } For -m null here -M /usr/obj/DESTDIRs/clang-armv7-installworld-poud should point to a non-empty directory as far as I can tell. And it does. But that leads to the above code rejecting the -M path. [Note: I also question, if, with -S /usr/src in use, the SRC_BASE assignment below is correct.] /usr/local/share/poudriere/jail.sh has: create_jail() { [ "${JAILNAME#*.*}" = "${JAILNAME}" ] || err 1 "The jailname cannot contain a period (.). See jail(8)" if [ "${METHOD}" = "null" ]; then [ -z "${JAILMNT}" ] && \ err 1 "Must set -M to path of jail to use" [ "${JAILMNT}" = "/" ] && \ err 1 "Cannot use / for -M" fi . . . SRC_BASE="${JAILMNT}/usr/src" case ${METHOD} in . . . null) JAILFS=none FCT= ;; esac if [ "${JAILFS}" != "none" ]; then [ -d "${JAILMNT}" ] && \ err 1 "Directory ${JAILMNT} already exists" fi createfs ${JAILNAME} ${JAILMNT} ${JAILFS:-none} . . . === Mark Millard markmi at dsl-only.net _______________________________________________ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"