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