2a299b585a93910c75248a2fa02bfc549202a223
[fbsd-stable-mgmt.git] / update_stage0.sh
1 #!/bin/sh
2
3 usage() {
4         echo 'Usage: ...'
5         echo '-u        svn update'
6         echo '-j        jobs to be handled'
7         echo 'default to ' ${jarg}
8         echo '---------------------'
9 }
10
11 parse() {
12         RED='\033[0;31m'
13         NC='\033[0m' # No Color
14         while getopts "uj:" option 
15         do
16                 case ${option} in
17                         u)
18                                 update="1"
19                                 ;;
20                         j)
21                                 case ${OPTARG} in 
22                                 (*[!0-9]*|'') 
23                                         echo -e "${RED}number expected for jobs${NC}; default value used."
24                                         ;;
25                                 (*) 
26                                         jarg=${OPTARG} 
27                                         ;;
28                                 esac
29                                 ;;
30                 esac
31         done
32 }
33
34
35 jarg=`sysctl -n hw.ncpu`
36
37
38 if [ $? -ne 0 ] 
39 then 
40         usage 
41 else
42         parse ${*} 
43 fi
44
45 [ ${update} ] && svn update /usr/src
46
47 echo Cleaning
48 chflags -R noschg /usr/obj/* && rm -rf /usr/obj
49 echo building process on ${jarg} jobs
50 cd /usr/src && \
51 make -j${jarg} buildworld && make -j${jarg} kernel KERNCONF=PEPINS && \
52 echo "Reboot the system."
53
54