diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-07-31 14:16:13 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2005-07-31 14:16:13 +0000 |
commit | 68d71fe787873e1891efa0c85513b63a11093975 (patch) | |
tree | 90de906c399a4475c00f18f837de867213764791 /tools/tools/build_option_survey/option_survey.sh | |
parent | b1f1271f26ab56f2bf13e839e99fb925080dd23b (diff) | |
download | src-68d71fe787873e1891efa0c85513b63a11093975.tar.gz src-68d71fe787873e1891efa0c85513b63a11093975.zip |
Notes
Diffstat (limited to 'tools/tools/build_option_survey/option_survey.sh')
-rw-r--r-- | tools/tools/build_option_survey/option_survey.sh | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/tools/tools/build_option_survey/option_survey.sh b/tools/tools/build_option_survey/option_survey.sh new file mode 100644 index 000000000000..2beadb5ff51a --- /dev/null +++ b/tools/tools/build_option_survey/option_survey.sh @@ -0,0 +1,145 @@ +#!/bin/sh +# This file is in the public domain +# $FreeBSD$ + +set -e + +bw ( ) ( + cd ../../.. + make -j 4 buildworld \ + __MAKE_CONF=${ODIR}/make.conf \ + > ${ODIR}/_.bw 2>&1 + make -j 4 buildkernel \ + KERNCONF=GENERIC \ + __MAKE_CONF=${ODIR}/make.conf \ + > ${ODIR}/_.bk 2>&1 +) + +iw ( ) ( + dd if=/dev/zero of=${ODIR}/_.i bs=1m count=200 + mkdir -p ${MNT} + MD=`mdconfig -a -t vnode -f ${ODIR}/_.i` + trap "umount ${MNT} || true ; mdconfig -d -u $MD" 1 2 15 EXIT + newfs -O1 -U -b 4096 -f 512 /dev/$MD + mount /dev/${MD} ${MNT} + + cd ../../.. + make installworld \ + __MAKE_CONF=${ODIR}/make.conf \ + DESTDIR=${MNT} \ + > ${ODIR}/_.iw 2>&1 + cd etc + make distribution \ + __MAKE_CONF=${ODIR}/make.conf \ + DESTDIR=${MNT} \ + > ${ODIR}/_.etc 2>&1 + cd .. + make installkernel \ + KERNCONF=GENERIC \ + DESTDIR=${MNT} \ + __MAKE_CONF=${ODIR}/make.conf \ + > ${ODIR}/_.ik 2>&1 + + sync ${MNT} + ( cd ${MNT} && mtree -c ) > ${ODIR}/_.mtree + ( cd ${MNT} && du ) > ${ODIR}/_.du + ( df -i ${MNT} ) > ${ODIR}/_.df +) + +ODIR=/usr/obj/`pwd` +MNT=${ODIR}/_.mnt +MAKEOBJDIRPREFIX=$ODIR +export MAKEOBJDIRPREFIX ODIR MNT + +if false ; then + if rm -rf ${ODIR} ; then + true + else + chflags -R noschg ${ODIR} + rm -rf ${ODIR} + fi + mkdir -p ${ODIR} + + echo '' > ${ODIR}/make.conf + + bw +fi + +if false ; then + rm -rf Tmp + + echo '' > ${ODIR}/make.conf + + if iw ; then + m=Tmp/Ref + mkdir -p $m + cp ${ODIR}/_.df $m + cp ${ODIR}/_.mtree $m + cp ${ODIR}/_.du $m + fi + + cat no_list | while read o + do + echo "IW $o" + echo "$o=YES" > ${ODIR}/make.conf + m=Tmp/`md5 < ${ODIR}/make.conf`/iw + mkdir -p $m + echo $m + cp ${ODIR}/make.conf $m + if iw ; then + cp ${ODIR}/_.df $m + cp ${ODIR}/_.mtree $m + cp ${ODIR}/_.du $m + else + cp ${ODIR}/_.iw $m + cp ${ODIR}/_.ik $m + fi + done +fi + +if true ; then + cat no_list | while read o + do + # First build+installworld + echo "W $o" + echo "$o=YES" > ${ODIR}/make.conf + + m=Tmp/`md5 < ${ODIR}/make.conf`/w + mkdir -p $m + echo $m + cp ${ODIR}/make.conf $m + + if bw ; then + true + else + cp ${ODIR}/_.bw $m || true + cp ${ODIR}/_.bk $m || true + fi + if iw ; then + cp ${ODIR}/_.df $m + cp ${ODIR}/_.mtree $m + cp ${ODIR}/_.du $m + else + cp ${ODIR}/_.iw $m + cp ${ODIR}/_.ik $m + fi + + # Then only buildworld + echo "BW $o" + m=Tmp/`md5 < ${ODIR}/make.conf`/bw + mkdir -p $m + echo $m + cp ${ODIR}/make.conf $m + echo '' > ${ODIR}/make.conf + if iw ; then + cp ${ODIR}/_.df $m + cp ${ODIR}/_.mtree $m + cp ${ODIR}/_.du $m + else + cp ${ODIR}/_.iw $m + cp ${ODIR}/_.ik $m + fi + + + done +fi |