xref: /utopia/UTPA2-700.0.x/projects/build/scripts/checkconfig/check-config.sh (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi#!/bin/bash
2*53ee8cc1Swenshuai.xi
3*53ee8cc1Swenshuai.xi# all config.required.xxx are based on CL621094
4*53ee8cc1Swenshuai.xi
5*53ee8cc1Swenshuai.xi# these identifiers can't be disabled!!!!!!
6*53ee8cc1Swenshuai.xiREQUIRED_CONFIG_PATH=scripts/checkconfig
7*53ee8cc1Swenshuai.xi#ANDROID_IDENTIFIER=CONFIG_ANDROID
8*53ee8cc1Swenshuai.xiANDROID_IDENTIFIER=CONFIG_ANDROID_LOGGER
9*53ee8cc1Swenshuai.xiEMMC_IDENTIFIER=CONFIG_EMMC_PARTITION
10*53ee8cc1Swenshuai.xiNAND_IDENTIFIER=CONFIG_MSTAR_NAND
11*53ee8cc1Swenshuai.xi
12*53ee8cc1Swenshuai.xicat .config | \grep -v ^# | \grep -v ^$ | sort > config.tmp
13*53ee8cc1Swenshuai.xi
14*53ee8cc1Swenshuai.xicheck_miss()
15*53ee8cc1Swenshuai.xi{
16*53ee8cc1Swenshuai.xi	if [ "$1" == "0" ]; then
17*53ee8cc1Swenshuai.xi		#echo [WARNING] you missed some required configs, press enter to continue
18*53ee8cc1Swenshuai.xi		#read
19*53ee8cc1Swenshuai.xi		error=1
20*53ee8cc1Swenshuai.xi	fi
21*53ee8cc1Swenshuai.xi}
22*53ee8cc1Swenshuai.xi
23*53ee8cc1Swenshuai.xi# platform
24*53ee8cc1Swenshuai.xigrep $ANDROID_IDENTIFIER config.tmp > /dev/null
25*53ee8cc1Swenshuai.xiif [ "$?" == "0" ]; then
26*53ee8cc1Swenshuai.xi	echo check .config with config.required.android
27*53ee8cc1Swenshuai.xi	echo -ne '\E[37;44m'
28*53ee8cc1Swenshuai.xi	grep $REQUIRED_CONFIG_PATH/config.required.android -v -f config.tmp
29*53ee8cc1Swenshuai.xi	check_miss $?
30*53ee8cc1Swenshuai.xi	echo -ne '\033[0m'
31*53ee8cc1Swenshuai.xi	#sort $REQUIRED_CONFIG_PATH/config.required.android > config.platform
32*53ee8cc1Swenshuai.xi	#diff config.tmp config.platform | \grep \>
33*53ee8cc1Swenshuai.xielse
34*53ee8cc1Swenshuai.xi	echo check .config with config.required.supernova
35*53ee8cc1Swenshuai.xi	echo -ne '\E[37;44m'
36*53ee8cc1Swenshuai.xi	grep $REQUIRED_CONFIG_PATH/config.required.supernova -v -f config.tmp
37*53ee8cc1Swenshuai.xi	check_miss $?
38*53ee8cc1Swenshuai.xi	echo -ne '\033[0m'
39*53ee8cc1Swenshuai.xi	#sort $REQUIRED_CONFIG_PATH/config.required.supernova > config.platform
40*53ee8cc1Swenshuai.xi	#diff config.tmp config.platform | \grep \>
41*53ee8cc1Swenshuai.xifi
42*53ee8cc1Swenshuai.xi
43*53ee8cc1Swenshuai.xi# storage
44*53ee8cc1Swenshuai.xigrep $EMMC_IDENTIFIER config.tmp > /dev/null
45*53ee8cc1Swenshuai.xiif [ "$?" == "0" ]; then
46*53ee8cc1Swenshuai.xi	echo check .config with config.required.emmc
47*53ee8cc1Swenshuai.xi	echo -ne '\E[37;44m'
48*53ee8cc1Swenshuai.xi	grep $REQUIRED_CONFIG_PATH/config.required.emmc -v -f config.tmp
49*53ee8cc1Swenshuai.xi	check_miss $?
50*53ee8cc1Swenshuai.xi	echo -ne '\033[0m'
51*53ee8cc1Swenshuai.xi	#sort $REQUIRED_CONFIG_PATH/config.required.emmc > config.storage
52*53ee8cc1Swenshuai.xi	#diff config.tmp config.storage | \grep \>
53*53ee8cc1Swenshuai.xifi
54*53ee8cc1Swenshuai.xigrep $NAND_IDENTIFIER config.tmp > /dev/null
55*53ee8cc1Swenshuai.xiif [ "$?" == "0" ]; then
56*53ee8cc1Swenshuai.xi	echo check .config with config.required.nand
57*53ee8cc1Swenshuai.xi	echo -ne '\E[37;44m'
58*53ee8cc1Swenshuai.xi	grep $REQUIRED_CONFIG_PATH/config.required.nand -v -f config.tmp
59*53ee8cc1Swenshuai.xi	check_miss $?
60*53ee8cc1Swenshuai.xi	echo -ne '\033[0m'
61*53ee8cc1Swenshuai.xi	#sort $REQUIRED_CONFIG_PATH/config.required.nand > config.storage
62*53ee8cc1Swenshuai.xi	#diff config.tmp config.storage | \grep \>
63*53ee8cc1Swenshuai.xifi
64*53ee8cc1Swenshuai.xi
65*53ee8cc1Swenshuai.xiecho check .config with config.required.all
66*53ee8cc1Swenshuai.xiecho -ne '\E[37;44m'
67*53ee8cc1Swenshuai.xigrep $REQUIRED_CONFIG_PATH/config.required.all -v -f config.tmp
68*53ee8cc1Swenshuai.xicheck_miss $?
69*53ee8cc1Swenshuai.xiecho -ne '\033[0m'
70*53ee8cc1Swenshuai.xi
71*53ee8cc1Swenshuai.xiif [ "$error" == "1" ]; then
72*53ee8cc1Swenshuai.xi	echo -ne '\E[37;44m'
73*53ee8cc1Swenshuai.xi	echo you missed the above required configs, y to continue, n to exit:
74*53ee8cc1Swenshuai.xi	echo \(or email bob.fu@mstarsemi.com to ask about it\)
75*53ee8cc1Swenshuai.xi	echo -ne '\033[0m'
76*53ee8cc1Swenshuai.xi	read choice
77*53ee8cc1Swenshuai.xi
78*53ee8cc1Swenshuai.xi	case "$choice" in
79*53ee8cc1Swenshuai.xi		y)
80*53ee8cc1Swenshuai.xi		;;
81*53ee8cc1Swenshuai.xi		n)
82*53ee8cc1Swenshuai.xi		exit 1
83*53ee8cc1Swenshuai.xi		;;
84*53ee8cc1Swenshuai.xi		*)
85*53ee8cc1Swenshuai.xi		echo is that funny?
86*53ee8cc1Swenshuai.xi		exit 1
87*53ee8cc1Swenshuai.xiesac
88*53ee8cc1Swenshuai.xi
89*53ee8cc1Swenshuai.xifi
90