Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 #!/bin/bash
2 #
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 OS=`uname -s`
8 ARCH=`uname -p`
9 SCRIPT_DIR=`pwd`
10 DATE=`date +%Y%m%d`
12 if [ $# -ne 1 ]; then
13 echo "Usage: $0 [securitytip|securityjes5]"
14 exit 1
15 fi
17 BRANCH="$1"
19 if [ "${BRANCH}" != "securitytip" -a "${BRANCH}" != "securityjes5" ]; then
20 echo "Usage: $0 [securitytip|securityjes5]"
21 exit 1
22 fi
24 COV_DIR="/share/builds/mccrel3/security/coverage"
25 BRANCH_DIR="${COV_DIR}/${BRANCH}"
26 DATE_DIR="${BRANCH_DIR}/${DATE}-${ARCH}"
27 CVS_DIR="${DATE_DIR}/cvs_mozilla"
28 TCOV_DIR="${DATE_DIR}/tcov_mozilla"
30 CVS_CHECKOUT_BRANCH="cvs_checkout_${BRANCH}"
32 export HOST=`hostname`
33 export DOMSUF=red.iplanet.com
35 export NSS_ECC_MORE_THAN_SUITE_B=1
36 export IOPR_HOSTADDR_LIST="dochinups.red.iplanet.com"
37 export NSS_AIA_PATH="/share/builds/mccrel3/security/aia_certs"
38 export NSS_AIA_HTTP="http://cindercone.red.iplanet.com/share/builds/mccrel3/security/aia_certs"
40 export USE_TCOV=1
41 export SUN_PROFDATA_DIR="${DATE_DIR}"
42 export SUN_PROFDATA="tcov_data"
44 if [ "${OS}" != "SunOS" ]; then
45 echo "OS not supported"
46 exit 1
47 fi
49 case "${ARCH}" in
50 "sparc")
51 export PATH="/usr/dist/share/sunstudio_sparc,v12.0/SUNWspro/prod/bin:/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/tools/ns/bin:/usr/local/bin"
52 ;;
53 "i386")
54 export PATH="/usr/dist/share/sunstudio_i386,v12.0/SUNWspro/bin:/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/tools/ns/bin:/usr/local/bin"
55 ;;
56 *)
57 echo "Platform not supported"
58 exit 1
59 ;;
60 esac
62 cvs_checkout_securitytip()
63 {
64 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/nsprpub
65 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/dbm
66 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/dbm
67 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/coreconf
68 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/nss
69 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/jss
70 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_1_RTM mozilla/security/nss/lib/freebl/ecl/ecl-curve.h
71 }
73 cvs_checkout_securityjes5()
74 {
75 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSPR_4_6_BRANCH mozilla/nsprpub
76 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/dbm
77 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/dbm
78 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/coreconf
79 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/nss
80 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r JSS_4_2_BRANCH mozilla/security/jss
81 cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_1_RTM mozilla/security/nss/lib/freebl/ecl/ecl-curve.h
82 }
84 cvs_checkout()
85 {
86 rm -rf "${DATE_DIR}"
87 mkdir -p "${CVS_DIR}"
88 cd "${CVS_DIR}"
90 ${CVS_CHECKOUT_BRANCH}
91 }
93 run_build()
94 {
95 cd "${CVS_DIR}/mozilla/security/nss"
96 gmake nss_build_all
97 }
99 run_tests()
100 {
101 cd "${CVS_DIR}/mozilla/security/nss/tests"
102 ./all.sh
103 }
105 process_results()
106 {
107 rm -rf "${TCOV_DIR}"
108 mkdir -p "${TCOV_DIR}"
110 cat "${SUN_PROFDATA_DIR}/${SUN_PROFDATA}/tcovd" | grep SRCFILE | grep "${CVS_DIR}/.*.c$" | sed "s:[^/]*\(.*\):\1:" | sort -u |
111 while read line
112 do
113 DIR=`echo "${line}" | sed "s:${CVS_DIR}/\(.*\)/.*:\1:"`
114 FILE=`echo "${line}" | sed "s:.*/\(.*\):\1:"`
116 mkdir -p "${TCOV_DIR}/${DIR}"
117 tcov -o "${TCOV_DIR}/${DIR}/$FILE" -x "${SUN_PROFDATA}" $line >/dev/null 2>&1
118 done
119 }
121 cvs_checkout
122 run_build
123 run_tests
124 process_results
126 cd "${SCRIPT_DIR}"
127 ./report.sh "${BRANCH}" "${DATE}" "${ARCH}"
129 exit 0