source: hybrid/branches/releng-9.0/nanobsd/tools/package-build.inc.sh@ 10650

Last change on this file since 10650 was 10650, checked in by rick, 13 years ago

The routing syncer done the bad way. Should technically be an (C) daemon which
takes advantage of route monitor to instantly sync the routing changes to
the shadow routing table.

While here: add some descriptive comments for other entries.

Related-To: nodefactory#129

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
File size: 1.6 KB
Line 
1# Used to store profile data
2TIME_FILE=$(dirname $0)/eta-times.txt
3
4p_list () {
5echo "$*" | sed -e 's/ /|## /g' -e 's/^/## /g'
6}
7
8p_info () {
9 echo "$*" | tr '|' '\n' | sed 's/^/# /'
10}
11
12p_warn () {
13 echo "$*" | tr '|' '\n' | sed 's/^/#WARN: /'
14}
15
16p_err () {
17 echo "$*" | tr '|' '\n' | sed 's/^/#ERR: /'
18}
19
20p_sleep() {
21 SLEEP=${1-5}
22 while [ "${SLEEP}" -gt 0 ]; do
23 printf '.'
24 sleep 1
25 SLEEP=`expr ${SLEEP} - 1`
26 done
27 printf '\n'
28}
29
30# Print estimation on how long it normally if going to take
31f_time() {
32 COMMAND="$*"
33 ETA_TIME=` grep "${COMMAND}$" ${TIME_FILE} 2>/dev/null | awk '{print $1}'`
34 if [ -z "${ETA_TIME}" ]; then
35 ETA_TIME="NaN"
36 fi
37
38 p_info Last run of "'${COMMAND}'" took ${ETA_TIME}
39 p_info Start time: `date`
40
41 # Execute command
42 START_TIME=`date "+%s"`
43 $COMMAND
44 RETVAL=$?
45 STOP_TIME=`date "+%s"`
46
47 p_info End time: `date`
48 # Calculate time it took
49 TOTAL_TIME=`expr ${STOP_TIME} - ${START_TIME}`
50 HUMAN_FMT=`date -ur ${TOTAL_TIME} "+%H:%M:%S"`
51
52 # Store new time if command is succesfull
53 if [ "${RETVAL}" -eq 0 ]; then
54 grep -v "${COMMAND}$" ${TIME_FILE} > ${TIME_FILE}.tmp 2>/dev/null
55 echo "${HUMAN_FMT} ${COMMAND}" >> ${TIME_FILE}.tmp
56 mv ${TIME_FILE}.tmp ${TIME_FILE}
57 fi
58
59 # Return the command it's output
60 return ${RETVAL}
61}
62
63f_check_root() {
64 # No Root, no fun
65 if [ `id -u` -ne 0 ]; then
66 print_err Root only
67 exit 1
68 fi
69}
70
71# Find object directory
72BASEDIR=`dirname $0`
73
74# Load the NanoBSD Configuration entries
75NANO_CFG_FILE="${BASEDIR}/../cfg/nanobsd.wleiden"
76customize_cmd() { return; }
77. $NANO_CFG_FILE
78
79OBJDIR="/usr/obj/nanobsd.${NANO_NAME}"
80
Note: See TracBrowser for help on using the repository browser.