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

Last change on this file since 10175 was 10175, checked in by richardvm, 13 years ago

rename to more logical name

  • 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.