nanonote-files/data/qi_lb60/scripts/compile-openwrt-xburst.sh |
1 | 1 | #!/bin/bash |
2 | 2 | |
3 | | # this script file is using in build host |
| 3 | # This script file is using in build host |
4 | 4 | # $1: full_system minimal xbboot |
5 | 5 | |
6 | 6 | OPENWRT_DIR_NAME="openwrt-xburst."$1 |
... | ... | |
16 | 16 | GET_FEEDS_VERSION_SH="/home/xiangfu/bin/get-feeds-revision.sh" |
17 | 17 | PATCH_OPENWRT_SH="/home/xiangfu/bin/patch-openwrt.sh" |
18 | 18 | |
19 | | IMAGES_DIR="/home/xiangfu/building/Nanonote/Ben/${OPENWRT_DIR_NAME}-${DATE_TIME}/" |
| 19 | IMAGES_URL="http://fidelio.qi-hardware.com/~xiangfu/build-nanonote" |
| 20 | IMAGES_DIR_BASE="/home/xiangfu/building/Nanonote/Ben" |
| 21 | IMAGES_DIR="${IMAGES_DIR_BASE}/${OPENWRT_DIR_NAME}-${DATE_TIME}/" |
20 | 22 | DEST_DIR="/home/xiangfu/build-nanonote" |
21 | 23 | mkdir -p ${IMAGES_DIR} |
22 | 24 | mkdir -p ${DEST_DIR} |
... | ... | |
24 | 26 | BUILD_LOG="${IMAGES_DIR}/BUILD_LOG" |
25 | 27 | VERSIONS_FILE="${IMAGES_DIR}/VERSIONS" |
26 | 28 | |
27 | | |
28 | 29 | ######################################################################## |
29 | 30 | cd ${OPENWRT_DIR} |
30 | 31 | |
31 | | echo "make distclean ..." |
| 32 | echo "make distclean..." |
32 | 33 | make distclean |
33 | 34 | |
34 | 35 | |
... | ... | |
36 | 37 | git fetch -a |
37 | 38 | git reset --hard origin/master |
38 | 39 | if [ "$?" != "0" ]; then |
39 | | echo "ERROR: updating openwrt-xburst failed" |
40 | | exit 1 |
| 40 | echo "ERROR: updating openwrt-xburst failed" |
| 41 | exit 1 |
41 | 42 | fi |
42 | 43 | |
43 | 44 | |
44 | 45 | echo "update and install feeds..." |
45 | 46 | ./scripts/feeds update -a && ./scripts/feeds install -a |
46 | 47 | if [ "$?" != "0" ]; then |
47 | | echo "ERROR: update and install feeds failed" |
48 | | exit 1 |
| 48 | echo "ERROR: update and install feeds failed" |
| 49 | exit 1 |
49 | 50 | fi |
50 | | cp feeds/qipackages/nanonote-files/data/qi_lb60/conf/${CONFIG_FILE_TYPE} .config |
| 51 | cp feeds/qipackages/nanonote-files/data/qi_lb60/conf/${CONFIG_FILE_TYPE} \ |
| 52 | .config |
51 | 53 | sed -i '/CONFIG_ALL/s/.*/CONFIG_ALL=y/' .config |
52 | 54 | yes "" | make oldconfig > /dev/null |
53 | 55 | |
54 | 56 | |
55 | | echo "copy files, create VERSION, copy dl folder, last prepare..." |
| 57 | echo "copy files, create VERSION, link dl folder, last prepare..." |
56 | 58 | rm -f files && ln -s feeds/qipackages/nanonote-files/data/qi_lb60/files/ |
57 | 59 | rm -f dl && ln -s ~/dl |
58 | 60 | mkdir -p files/etc && echo ${DATE} > files/etc/VERSION |
59 | | mkdir -p files/etc/uci-defaults && echo -e "\0043\0041/bin/sh \ndate --set `date +"%Y%m%d%H%M"`\nhwclock --systohc" > files/etc/uci-defaults/99-set-time |
| 61 | mkdir -p files/etc/uci-defaults && \ |
| 62 | echo -e "\0043\0041/bin/sh \ndate --set `date +"%Y%m%d%H%M"`\nhwclock --systohc" > files/etc/uci-defaults/99-set-time |
60 | 63 | |
61 | 64 | |
62 | | echo "patch openwrt " |
| 65 | echo "patch openwrt..." |
63 | 66 | ${PATCH_OPENWRT_SH} ${OPENWRT_DIR} |
64 | 67 | |
65 | 68 | |
66 | 69 | echo "starting compiling - this may take several hours..." |
67 | 70 | time make ${MAKE_VARS} > ${IMAGES_DIR}/BUILD_LOG 2>&1 |
68 | | if [ "$?" != "0" ]; then |
69 | | echo "ERROR: Build failed! Please refer to the log file" |
70 | | tail -n 100 ${IMAGES_DIR}/BUILD_LOG > ${IMAGES_DIR}/BUILD_LOG.`date +"%m%d%Y-%H%M"`.last100 |
71 | | echo -e "\ |
72 | | say #qi-hardware The build has FAILED, \ |
73 | | see log here: http://fidelio.qi-hardware.com/~xiangfu/build-nanonote/${OPENWRT_DIR_NAME}-${DATE_TIME}/\nclose" \ |
74 | | | nc turandot.qi-hardware.com 3858 |
75 | | else |
76 | | echo -e "\ |
77 | | say #qi-hardware The build was successful, \ |
78 | | see images here: http://fidelio.qi-hardware.com/~xiangfu/build-nanonote/${OPENWRT_DIR_NAME}-${DATE_TIME}/\nclose" \ |
79 | | | nc turandot.qi-hardware.com 3858 |
80 | | fi |
| 71 | MAKE_RET="$?" |
81 | 72 | |
82 | 73 | |
83 | 74 | echo "getting version numbers of used repositories..." |
... | ... | |
93 | 84 | cp -a files/* ${IMAGES_DIR}/files/ |
94 | 85 | |
95 | 86 | (cd ${IMAGES_DIR}; \ |
96 | | grep -E "ERROR:\ package.*failed to build" BUILD_LOG | grep -v "package/kernel" > failed_packages.txt; \ |
97 | | bzip2 -z BUILD_LOG; \ |
98 | | bzip2 -z openwrt-xburst-qi_lb60-root.ubi; \ |
| 87 | grep -E "ERROR:\ package.*failed to build" BUILD_LOG | \ |
| 88 | grep -v "package/kernel" > failed_packages.txt; \ |
| 89 | bzip2 -z BUILD_LOG; \ |
| 90 | bzip2 -z openwrt-xburst-qi_lb60-root.ubi; \ |
99 | 91 | ) |
100 | 92 | |
101 | | mv ${IMAGES_DIR} ${DEST_DIR} |
| 93 | if [ "${MAKE_RET}" != "0" ]; then |
| 94 | echo "ERROR: Build failed! please refer to the BUILD_LOG file" |
| 95 | tail -n 100 ${IMAGES_DIR}/BUILD_LOG > \ |
| 96 | ${IMAGES_DIR}/BUILD_LOG.`date +"%m%d%Y-%H%M"`.last100 |
| 97 | MSG="The build was FAILED" |
| 98 | URL="http://fidelio.qi-hardware.com/~xiangfu/building/Nanonote/Ben/\ |
| 99 | /${OPENWRT_DIR_NAME}-${DATE_TIME}" |
| 100 | else |
| 101 | mv ${IMAGES_DIR} ${DEST_DIR} |
| 102 | MSG="The build was successful" |
| 103 | URL="${IMAGES_URL}/${OPENWRT_DIR_NAME}-${DATE_TIME}" |
| 104 | fi |
| 105 | |
| 106 | echo -e "say #qi-hardware ${MSG}: ${URL} \nclose" \ |
| 107 | | nc turandot.qi-hardware.com 3858 |
102 | 108 | |
103 | | echo "DONE!" |
| 109 | echo "Done" |