Use previous efl-tool before official SDK release
[scm/meta/abs.git] / build.template
1 #!/bin/bash
2 set -x
3
4 ABS_CMD=/home/build/abs
5 SHARE_ROOT=__SHARE_ROOT__
6 BUILD_ROOT=__BUILD_ROOT__
7 SDK_PATH=__SDK_PATH__
8 PROFILE=__PROFILE__
9 PACKAGE=__PACKAGE__
10 BUILD_MODE=__BUILD_MODE__
11 PARALLEL_JOBS=__PARALLEL_JOBS__
12 TMP_DIR=${BUILD_ROOT}/${PACKAGE}/_abs_out_
13 SDK_CMD=$SDK_PATH/tools/ide/bin/tizen
14 LIST="$SDK_CMD list rootstrap "
15 BUILD_TYPE=__BUILD_TYPE__
16
17 chown -R build:build $SHARE_ROOT
18 su - build -c "cp $SHARE_ROOT/abs/abs $BUILD_ROOT/"
19 su - build -c "unzip $SHARE_ROOT/${PACKAGE}.zip -d $BUILD_ROOT/ > /dev/null"
20
21 function _clear {
22   mv ${TMP_DIR}/*.log ${SHARE_ROOT}
23   exit $1
24 }
25
26 UPDATER="$SDK_PATH/update-manager/update-manager-cli.bin"
27 if [ ! -f $UPDATER ]; then
28   UPDATER="$SDK_PATH/package-manager/package-manager-cli.bin"
29 fi
30
31 export DISPLAY=:0
32 show_info=`su - build -c "$UPDATER show-info"`
33 echo "$show_info"
34 tizen_studio_version=`su - build -c "tizen version"`
35 echo "$tizen_studio_version"
36 su - build -c "df -hT"
37
38 echo $tizen_studio_version >> $SHARE_ROOT/tizen_studio_version
39 tizen_studio_distribution=""
40 IFS=$'\n' read -d '' -r -a arr <<< "$show_info"
41 for i in "${arr[@]}"; do
42   if [[ $i == $"Distribution"*" : "* ]] && [[ ! $i == *ID* ]]; then
43     ret=`echo "${i##*: }"`;
44     if [ ! -z $ret ]; then
45       tizen_studio_distribution=$ret
46     fi
47   fi
48 done
49 echo $tizen_studio_distribution > $SHARE_ROOT/tizen_studio_distribution
50
51 rs_list=`su - build -c "tizen list rootstrap | grep ${PROFILE}-.*.core.private.* | cut -d ' ' -f 1"`
52 #FIXME: remove hard-coded expression
53 if [ "${PROFILE}" = "da-hfp" ]; then
54   rs_list=`su - build -c "tizen list rootstrap | grep ${PROFILE}-.*device.core.private.* | cut -d ' ' -f 1"`
55 fi
56 echo $rs_list > $SHARE_ROOT/rsver
57 if [[ ! $rs_list =~ [0-9]{8}_[0-9] ]]; then
58   conf=`cat ${SDK_PATH}/tools/smart-build-interface/plugins/${rs_list}.xml`
59   dateversion=`echo $conf | sed "s/.*(\([0-9]\{8\}_[0-9]\{1\}\).*/\1/"`
60   echo ${rs_list}.${dateversion} > $SHARE_ROOT/rsver
61 fi
62
63 #FIXME: Use previous efl-tool before official SDK release
64 top_platform=$(ls ${SDK_PATH}/platforms/ | sort -r | head -n1)
65 for pfm in $(ls ${SDK_PATH}/platforms/ | sort -r); do
66   if [[ -d ${SDK_PATH}/platforms/${pfm}/common/efl-tool ]]; then
67     if [ "${top_platform}" = "${pfm}" ]; then
68       echo "OK. We have efl-tool"
69     else
70       echo "Try link efl-tool from ${pfm}"
71       mkdir -p ${SDK_PATH}/platforms/${top_platform}/common/ || true
72       ln -s ${SDK_PATH}/platforms/${pfm}/common/efl-tool ${SDK_PATH}/platforms/${top_platform}/common/efl-tool || true
73       ln -s ${SDK_PATH}/platforms/${pfm}/common/tidl ${SDK_PATH}/platforms/${top_platform}/common/tidl || true
74     fi
75     break
76   fi
77 done
78
79 # Inject tidlc path
80 TIDLC_PATH=`sed -n '/tidl/p' /home/build/.bashrc | cut -f2 -d':'`
81 if [ ! -z ${TIDLC_PATH} ]; then echo "PATH=\$PATH:${TIDLC_PATH}" >> /home/build/.profile; fi
82 su - build -c "tidlc --version"
83
84 for rs in $rs_list; do
85   echo "BUILDING START TIME: `date`"
86   #if [[ $rs == *"64.core"* ]]; then
87   #  echo "SKIP! 64-bit not supported!"; continue;
88   #else
89
90   su - build -c "${ABS_CMD} build -r $rs -w ${BUILD_ROOT}/${PACKAGE} -s ABS -c ${BUILD_MODE} ${PARALLEL_JOBS} --profile-to-search ${PROFILE}"
91   build_result=$?
92   echo "BUILD RET: ${build_result}"
93   #fi
94   count=`ls -1 ${TMP_DIR}/*.tpk 2>/dev/null | wc -l`
95   if [ $count != 0 ]; then
96     mv ${TMP_DIR}/*.tpk ${SHARE_ROOT}
97   else
98     mv ${TMP_DIR}/*.wgt ${SHARE_ROOT}
99   fi
100   ret=$?; echo "BUILDING FINISH TIME: `date`"
101   if [ $ret != 0 ]; then
102     echo $rs build fail; _clear $build_result
103   fi
104 done
105
106 echo "OUTPUT CONTENTS..."
107 ls -al ${SHARE_ROOT}
108
109 #FIXME: Check 64 bit rootstraps for mobile profile.
110 #if [[ $BUILD_TYPE = "SUBMIT" ]] && [[ $PROFILE = "mobile" ]]; then
111 #  if [[ $rs_list = *"device64"* ]] && [[ $rs_list = *"emulator64"* ]]; then
112 #    echo "OK. $PROFILE have 64 bit rootstraps"
113 #  else
114 #    echo "NOK. $PROFILE does not have 64 bit rootstraps"
115 #    echo "$PROFILE does not have 64 bit rootstraps" > ${SHARE_ROOT}/build_rootstrap_check.log
116 #    _clear 9
117 #  fi  
118 #fi
119
120 _clear 0
121 su - build -c "df -hT"
122