#!/bin/sh -Cefux set -Cefux src=release ports=local set=common list_name=common kern=GENERIC ver=13.5-RELEASE arch=amd64 arch_srcbuild="$arch.$arch" variant=common obj_prefix=/root/files/poudriere/obj resolv_conf=/root/files/poudriere/resolv-conf/resolv.conf variant_minimal= dry_run= reconfig= logclean_extra_args= jail_create_from_src_extra_args= options_extra_args= bulk_extra_args= case "$*" in *arm-mode*) src=current arch=armv7 arch_srcbuild="arm.$arch" ;; esac case "$*" in *set-minimal*) set=minimal ;; esac case "$*" in *list-minimal*) list_name=minimal ;; esac case "$*" in *variant-minimal*) kern=GENERIC-NODEBUG variant=minimal #jail_create_from_src_extra_args='-K GENERIC' ;; esac case "$*" in *dry-run*) logclean_extra_args=-n bulk_extra_args=-n ;; esac case "$*" in *reconfig*) options_extra_args=-c ;; esac case "$*" in *force-generic-kernel*) kern=GENERIC ;; esac case "$*" in *kern-custom*) kern=CUSTOM ;; esac case "$*" in *npinc-base*) src=current arch=armv7 arch_srcbuild="arm.$arch" kern=CUSTOM variant=minimal ;; esac case "$*" in *npinc-ports*) src=current arch=armv7 set=minimal list_name="$set" ;; esac _sane_jail_name() { echo "$1" | tr . - | tr '[:upper:]' '[:lower:]' } _resolv_conf() { rm -f "$resolv_conf" grep ^nameserver /etc/resolv.conf > "$resolv_conf" } _poudriere() { poudriere -e /root/usr/local/etc $@ } src_dir="/root/files/poudriere/src/$src" list="/root/files/poudriere/portlists/$list_name" dist="/root/files/poudriere/dist/$arch" jail="`_sane_jail_name \"$ver\"`-$arch" case "$*" in *build-pkgbase*|*npinc-base*) jail="$src-$arch-$variant" ;; esac _clean_obj() { local dir="$obj_prefix/$1" echo "clean '$dir'" rm -fr "$dir" } _logclean() { _poudriere logclean $logclean_extra_args -y -N 100 } _options() { _poudriere options $options_extra_args -p "$ports" -z "$set" -f "$list" } case "$*" in *jail-create*) _poudriere jail -d -j "$jail" || true _poudriere jail -c -m null -M "$dist" -j "$jail" -v "$ver" \ -a "$arch" ;; *build-pkgbase*|*npinc-base*) _clean_obj "$jail" _poudriere jail -y -d -j "$jail" || : _poudriere jail $jail_create_from_src_extra_args -c -X -b -B \ -m "src=$src_dir" -K "$kern" -j "$jail" -a "$arch_srcbuild" || : _poudriere jail -y -d -j "$jail" || : _clean_obj "$jail" ;; *jail-start*) _poudriere jail -s -p "$ports" -z "$set" -j "$jail" ;; *jail-kill*) _poudriere jail -k -p "$ports" -z "$set" -j "$jail" ;; *info*) _poudriere ports -l _poudriere jail -l _poudriere status -a ;; *clean*) _logclean ;; *reconfig*) _options ;; *) _logclean _options _resolv_conf _poudriere bulk $bulk_extra_args -p "$ports" -z "$set" \ -f "$list" -j "$jail" ;; esac