1: #!/bin/sh
2: #
3: # ELWIX build script for cross compiling 3th party software
4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
8: # $Id: build_3thparty.sh,v 1.4.2.6 2014/06/15 15:07:23 misho Exp $
9: #
10:
11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
12: if [ ! -r ./config/rc.3thparty_helper ]; then
13: echo
14: echo "ELWIX project is not configured - Missing rc.3thparty_helper script"
15: echo
16: exit 1
17: fi
18:
19: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
20: echo
21: echo "ELWIX project is not configured !?!"
22: echo
23: exit 1
24: fi
25: V=${VERSION}
26: [ -r ${CENV} ] && . ${CENV}
27: unset INSTALL
28: unset VERSION
29: VERSION="$V"
30:
31: if [ ! -d $BSDSRC ]; then
32: echo
33: echo "ELWIX project is not configured - missing BSD sources !?!"
34: echo
35: exit 1
36: fi
37:
38: if [ ! -d $DEST ]; then
39: echo
40: echo "ELWIX project is not configured - missing Dest directory !?!"
41: echo
42: exit 1
43: fi
44:
45: clean_3th()
46: {
47: echo "+++ Clean ELWIX 3th party ..."
48:
49: rm -rf ${PKG} ${ROMFS_USR2}
50:
51: install -d ${PKG}
52: install -d ${PKG}/bin
53: install -d ${PKG}/etc
54: install -d ${PKG}/include
55: install -d ${PKG}/man
56: install -d ${PKG}/lib
57: install -d ${PKG}/libexec
58: install -d ${PKG}/sbin
59:
60: install -d ${ROMFS_USR2}
61: install -d ${ROMFS_USR2}/bin
62: install -d ${ROMFS_USR2}/etc
63: install -d ${ROMFS_USR2}/lib
64: install -d ${ROMFS_USR2}/libexec
65: install -d ${ROMFS_USR2}/sbin
66: }
67:
68: compile_3th()
69: {
70: echo "+++ Compile ELWIX 3th party ..."
71:
72: BUILD_SH="./config/rc.3thparty_helper"
73:
74: echo "${BUILD_SH} expat ${CBUILD} ${PKG} ${TARGET_BUILD}"
75: [ $? -ne 0 ] && exit 1
76: ${BUILD_SH} libevent ${CBUILD} ${PKG} ${TARGET_BUILD}
77: [ $? -ne 0 ] && exit 1
78: ${BUILD_SH} libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD}
79: [ $? -ne 0 ] && exit 1
80: ${BUILD_SH} pcre ${CBUILD} ${PKG} ${TARGET_BUILD}
81: [ $? -ne 0 ] && exit 1
82: ${BUILD_SH} mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD}
83: [ $? -ne 0 ] && exit 1
84: ${BUILD_SH} choparp ${CBUILD} ${PKG} ${TARGET_BUILD}
85: [ $? -ne 0 ] && exit 1
86: ${BUILD_SH} scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD}
87: [ $? -ne 0 ] && exit 1
88: # ${BUILD_SH} istgt ${CBUILD} ${PKG} ${TARGET_BUILD}
89: # [ $? -ne 0 ] && exit 1
90: ${BUILD_SH} rsync ${CBUILD} ${PKG} ${TARGET_BUILD}
91: [ $? -ne 0 ] && exit 1
92: ${BUILD_SH} ttcp ${CBUILD} ${PKG} ${TARGET_BUILD}
93: [ $? -ne 0 ] && exit 1
94: # ${BUILD_SH} mpd ${CBUILD} ${PKG} ${TARGET_BUILD}
95: # [ $? -ne 0 ] && exit 1
96: ${BUILD_SH} mrouted ${CGBUILD} ${PKG} ${TARGET_BUILD}
97: [ $? -ne 0 ] && exit 1
98: ${BUILD_SH} igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD}
99: [ $? -ne 0 ] && exit 1
100: ${BUILD_SH} sudo ${CBUILD} ${PKG} ${TARGET_BUILD}
101: [ $? -ne 0 ] && exit 1
102: ${BUILD_SH} bmon ${CGBUILD} ${PKG} ${TARGET_BUILD}
103: [ $? -ne 0 ] && exit 1
104: ${BUILD_SH} mtr ${CBUILD} ${PKG} ${TARGET_BUILD}
105: [ $? -ne 0 ] && exit 1
106: ${BUILD_SH} ipguard ${CBUILD} ${PKG} ${TARGET_BUILD}
107: [ $? -ne 0 ] && exit 1
108: ${BUILD_SH} smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD}
109: [ $? -ne 0 ] && exit 1
110: ${BUILD_SH} quagga ${CBUILD} ${PKG} ${TARGET_BUILD}
111: [ $? -ne 0 ] && exit 1
112: ${BUILD_SH} iftop ${CBUILD} ${PKG} ${TARGET_BUILD}
113: [ $? -ne 0 ] && exit 1
114: ${BUILD_SH} arping ${CBUILD} ${PKG} ${TARGET_BUILD}
115: [ $? -ne 0 ] && exit 1
116: ${BUILD_SH} hping2 ${CGBUILD} ${PKG} ${TARGET_BUILD}
117: [ $? -ne 0 ] && exit 1
118: ${BUILD_SH} trafshow ${CBUILD} ${PKG} ${TARGET_BUILD}
119: [ $? -ne 0 ] && exit 1
120: ${BUILD_SH} ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD}
121: [ $? -ne 0 ] && exit 1
122: # ${BUILD_SH} dhcp ${CBUILD} ${PKG} ${TARGET_BUILD}
123: # [ $? -ne 0 ] && exit 1
124: # ${BUILD_SH} dhcping ${CBUILD} ${PKG} ${TARGET_BUILD}
125: # [ $? -ne 0 ] && exit 1
126: ${BUILD_SH} dnsmasq ${CBUILD} ${PKG} ${TARGET_BUILD}
127: [ $? -ne 0 ] && exit 1
128: ${BUILD_SH} miniupnpd ${CBUILD} ${PKG} ${TARGET_BUILD}
129: [ $? -ne 0 ] && exit 1
130: ${BUILD_SH} miniupnpc ${CGBUILD} ${PKG} ${TARGET_BUILD}
131: [ $? -ne 0 ] && exit 1
132: ${BUILD_SH} ntp ${CBUILD} ${PKG} ${TARGET_BUILD}
133: [ $? -ne 0 ] && exit 1
134: ${BUILD_SH} spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD}
135: [ $? -ne 0 ] && exit 1
136: ${BUILD_SH} lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD}
137: [ $? -ne 0 ] && exit 1
138: ${BUILD_SH} libxml2 ${CBUILD} ${PKG} ${TARGET_BUILD}
139: [ $? -ne 0 ] && exit 1
140: ${BUILD_SH} php ${CBUILD} ${PKG} ${TARGET_BUILD}
141: [ $? -ne 0 ] && exit 1
142: }
143:
144: install_3th()
145: {
146: LIBS="${ROMFS_USR2}/lib"
147: LIBEXEC="${ROMFS_USR2}/libexec"
148: BIN="${ROMFS_USR2}/bin"
149: SBIN="${ROMFS_USR2}/sbin"
150: ETC="${ROMFS_USR2}/etc"
151:
152: echo "+++ Install ELWIX RomFS secondary firmware ..."
153:
154: StripFiles \*.so\* ${PKG}/lib
155: InstallFiles \*.so\* ${PKG}/lib $LIBS
156: StripFiles \* ${PKG}/libexec
157: InstallFiles \* ${PKG}/libexec $LIBEXEC
158: StripFiles \* ${PKG}/bin
159: InstallFiles \* ${PKG}/bin $BIN
160: StripFiles \* ${PKG}/sbin
161: InstallFiles \* ${PKG}/sbin $SBIN
162:
163: InstallFiles \* ${PKG}/etc $ETC
164:
165: chown -R root:wheel $SBIN $BIN $LIBDATA $LIBEXEC $LIBS
166: }
167:
168: build_3th()
169: {
170: echo "+++ Build ELWIX Firmware secondary image ..."
171:
172: cd ${ROMFS_USR2}
173: pax -w -z -v -f${REL}/${ROMFS_IMG2} .
174: cd -
175:
176: # Stop using uzip fs
177: # makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${ROMFS_SIZE2} \
178: # ${REL}/${ROMFS_IMG2} ${ROMFS_USR2}
179:
180: # MDDEV=$(mdconfig -a -t vnode -f ${REL}/${ROMFS_IMG2});
181: # tunefs -L elwixFirmware2 /dev/$MDDEV;
182: # mdconfig -d -u $MDDEV;
183:
184: # mkuzip -s 8192 -o ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2};
185: # mv ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2}
186: }
187:
188: ### main()
189: if ! SnitVer ${PKG}/elwix.ver; then
190: clean_3th
191: compile_3th
192:
193: install_3th
194: build_3th
195:
196: echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
197: else
198: echo "Skipped ELWIX 3th party build ..."
199: fi
200:
201: echo "+++ Complete build ELWIX 3th party"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>