summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorsimon <simon@FreeBSD.org>2008-09-23 18:42:35 +0000
committersimon <simon@FreeBSD.org>2008-09-23 18:42:35 +0000
commitcb0445a846310e7186868134b78da438f9d7c5a1 (patch)
tree1f567c934880882ec4f917b95b457b2b7ee25b71 /tools
parent94258be42159763be6d3f064301d04f129edda8b (diff)
downloadFreeBSD-src-cb0445a846310e7186868134b78da438f9d7c5a1.zip
FreeBSD-src-cb0445a846310e7186868134b78da438f9d7c5a1.tar.gz
- Change all "echo #..." into using a progress print function to make it
possible to make NanoBSD output more quite or verbose. The default output should remain mostly unchanged. [1] - Add missing shift for -i. - Clean up usage() so it's now (mostly) sorted alphabetically. - Make command line argument handling more consistent in the code and remove redundant semicolons. Reviwed by: phk [1]
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/nanobsd/nanobsd.sh106
1 files changed, 65 insertions, 41 deletions
diff --git a/tools/tools/nanobsd/nanobsd.sh b/tools/tools/nanobsd/nanobsd.sh
index d0191a5..ba206e9 100644
--- a/tools/tools/nanobsd/nanobsd.sh
+++ b/tools/tools/nanobsd/nanobsd.sh
@@ -128,6 +128,9 @@ NANO_BOOTLOADER="boot/boot0sio"
# Can be "file" or "swap"
NANO_MD_BACKING="file"
+# Progress Print level
+PPLEVEL=3
+
#######################################################################
# Not a variable at this time
@@ -141,7 +144,7 @@ NANO_ARCH=i386
#######################################################################
clean_build ( ) (
- echo "## Clean and create object directory (${MAKEOBJDIRPREFIX})"
+ pprint 2 "Clean and create object directory (${MAKEOBJDIRPREFIX})"
if rm -rf ${MAKEOBJDIRPREFIX} > /dev/null 2>&1 ; then
true
@@ -154,15 +157,15 @@ clean_build ( ) (
)
make_conf_build ( ) (
- echo "## Construct build make.conf ($NANO_MAKE_CONF)"
+ pprint 2 "Construct build make.conf ($NANO_MAKE_CONF)"
echo "${CONF_WORLD}" > ${NANO_MAKE_CONF}
echo "${CONF_BUILD}" >> ${NANO_MAKE_CONF}
)
build_world ( ) (
- echo "## run buildworld"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.bw"
+ pprint 2 "run buildworld"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.bw"
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} \
@@ -171,8 +174,8 @@ build_world ( ) (
)
build_kernel ( ) (
- echo "## build kernel ($NANO_KERNEL)"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.bk"
+ pprint 2 "build kernel ($NANO_KERNEL)"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.bk"
if [ -f ${NANO_KERNEL} ] ; then
cp ${NANO_KERNEL} ${NANO_SRC}/sys/${NANO_ARCH}/conf
@@ -190,7 +193,7 @@ build_kernel ( ) (
)
clean_world ( ) (
- echo "## Clean and create world directory (${NANO_WORLDDIR})"
+ pprint 2 "Clean and create world directory (${NANO_WORLDDIR})"
if rm -rf ${NANO_WORLDDIR}/ > /dev/null 2>&1 ; then
true
else
@@ -201,15 +204,15 @@ clean_world ( ) (
)
make_conf_install ( ) (
- echo "## Construct install make.conf ($NANO_MAKE_CONF)"
+ pprint 2 "Construct install make.conf ($NANO_MAKE_CONF)"
echo "${CONF_WORLD}" > ${NANO_MAKE_CONF}
echo "${CONF_INSTALL}" >> ${NANO_MAKE_CONF}
)
install_world ( ) (
- echo "## installworld"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.iw"
+ pprint 2 "installworld"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.iw"
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} \
@@ -221,8 +224,8 @@ install_world ( ) (
install_etc ( ) (
- echo "## install /etc"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.etc"
+ pprint 2 "install /etc"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.etc"
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} \
@@ -232,8 +235,8 @@ install_etc ( ) (
)
install_kernel ( ) (
- echo "## install kernel"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.ik"
+ pprint 2 "install kernel"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.ik"
cd ${NANO_SRC}
env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} installkernel \
@@ -244,31 +247,31 @@ install_kernel ( ) (
run_customize() (
- echo "## run customize scripts"
+ pprint 2 "run customize scripts"
for c in $NANO_CUSTOMIZE
do
- echo "## customize \"$c\""
- echo "### log: ${MAKEOBJDIRPREFIX}/_.cust.$c"
- echo "### `type $c`"
+ pprint 2 "customize \"$c\""
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.cust.$c"
+ pprint 4 "`type $c`"
( $c ) > ${MAKEOBJDIRPREFIX}/_.cust.$c 2>&1
done
)
run_late_customize() (
- echo "## run late customize scripts"
+ pprint 2 "run late customize scripts"
for c in $NANO_LATE_CUSTOMIZE
do
- echo "## late customize \"$c\""
- echo "### log: ${MAKEOBJDIRPREFIX}/_.late_cust.$c"
- echo "### `type $c`"
+ pprint 2 "late customize \"$c\""
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.late_cust.$c"
+ pprint 4 "`type $c`"
( $c ) > ${MAKEOBJDIRPREFIX}/_.late_cust.$c 2>&1
done
)
setup_nanobsd ( ) (
- echo "## configure nanobsd setup"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.dl"
+ pprint 2 "configure nanobsd setup"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.dl"
(
cd ${NANO_WORLDDIR}
@@ -312,7 +315,7 @@ setup_nanobsd ( ) (
)
setup_nanobsd_etc ( ) (
- echo "## configure nanobsd /etc"
+ pprint 2 "configure nanobsd /etc"
(
cd ${NANO_WORLDDIR}
@@ -343,8 +346,8 @@ prune_usr() (
)
create_i386_diskimage ( ) (
- echo "## build diskimage"
- echo "### log: ${MAKEOBJDIRPREFIX}/_.di"
+ pprint 2 "build diskimage"
+ pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.di"
(
echo $NANO_MEDIASIZE $NANO_IMAGES \
@@ -648,13 +651,23 @@ late_customize_cmd () {
#
#######################################################################
+# Progress Print
+# Print $2 at level $1.
+pprint() {
+ if [ "$1" -le $PPLEVEL ]; then
+ printf "%.${1}s %s\n" "#####" "$2"
+ fi
+}
+
usage () {
(
- echo "Usage: $0 [-b/-k/-w] [-c config_file]"
+ echo "Usage: $0 [-bikqvw] [-c config_file]"
echo " -b suppress builds (both kernel and world)"
+ echo " -i suppress disk image build"
echo " -k suppress buildkernel"
+ echo " -q make output more quite"
+ echo " -v make output more verbose"
echo " -w suppress buildworld"
- echo " -i suppress disk image build"
echo " -c specify config file"
) 1>&2
exit 2
@@ -668,7 +681,7 @@ do_world=true
do_image=true
set +e
-args=`getopt bc:hkwi $*`
+args=`getopt bc:hikqvw $*`
if [ $? -ne 0 ] ; then
usage
exit 2
@@ -681,32 +694,41 @@ do
case "$i"
in
-b)
- shift;
do_world=false
do_kernel=false
+ shift
;;
-k)
- shift;
do_kernel=false
+ shift
;;
-c)
. "$2"
- shift;
- shift;
+ shift
+ shift
;;
-h)
usage
;;
-i)
do_image=false
+ shift
+ ;;
+ -q)
+ PPLEVEL=$(($PPLEVEL - 1))
+ shift
+ ;;
+ -v)
+ PPLEVEL=$(($PPLEVEL + 1))
+ shift
;;
-w)
- shift;
do_world=false
+ shift
;;
--)
- shift;
- break;
+ shift
+ break
esac
done
@@ -768,18 +790,20 @@ export NANO_BOOTLOADER
#######################################################################
# And then it is as simple as that...
+pprint 1 "NanoBSD image ${NANO_NAME} build starting"
+
if $do_world ; then
clean_build
make_conf_build
build_world
else
- echo "## Skipping buildworld (as instructed)"
+ pprint 2 "Skipping buildworld (as instructed)"
fi
if $do_kernel ; then
build_kernel
else
- echo "## Skipping buildkernel (as instructed)"
+ pprint 2 "Skipping buildkernel (as instructed)"
fi
clean_world
@@ -797,8 +821,8 @@ if $do_image ; then
create_${NANO_ARCH}_diskimage
echo "# Created NanoBSD disk image: ${MAKEOBJDIRPREFIX}/${NANO_IMGNAME}"
else
- echo "## Skipping image build (as instructed)"
+ pprint 2 "Skipping image build (as instructed)"
fi
last_orders
-echo "# NanoBSD image ${NANO_NAME} completed"
+pprint 1 "NanoBSD image ${NANO_NAME} completed"
OpenPOWER on IntegriCloud