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