--- elwix/build_3thparty.sh 2012/10/12 08:22:42 1.2 +++ elwix/build_3thparty.sh 2017/02/13 16:52:46 1.6 @@ -5,10 +5,17 @@ # (C) AITNET ltd - Sofia/Bulgaria # by Michael Pounov # -# $Id: build_3thparty.sh,v 1.2 2012/10/12 08:22:42 misho Exp $ +# $Id: build_3thparty.sh,v 1.6 2017/02/13 16:52:46 misho Exp $ # [ -r ./config/rc.elwix ] && . ./config/rc.elwix +if [ ! -r ./config/rc.3thparty_helper ]; then + echo + echo "ELWIX project is not configured - Missing rc.3thparty_helper script" + echo + exit 1 +fi + if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then echo echo "ELWIX project is not configured !?!" @@ -37,9 +44,10 @@ fi clean_3th() { - echo "+++ Clean ELWIX 3th party ..." + echo "+++ Clean ELWIX 3th party ... ${PKG}, ${ROMFS_USR2}" - rm -rf ${PKG} + rm -rf ${PKG} ${ROMFS_USR2} + install -d ${PKG} install -d ${PKG}/bin install -d ${PKG}/etc @@ -48,90 +56,152 @@ clean_3th() install -d ${PKG}/lib install -d ${PKG}/libexec install -d ${PKG}/sbin + + install -d ${ROMFS_USR2} + install -d ${ROMFS_USR2}/bin + install -d ${ROMFS_USR2}/etc + install -d ${ROMFS_USR2}/lib + install -d ${ROMFS_USR2}/libexec + install -d ${ROMFS_USR2}/sbin } compile_3th() { echo "+++ Compile ELWIX 3th party ..." - cd $CROSS_3TH - ./build.sh expat ${CBUILD} ${PKG} ${TARGET_BUILD} + BUILD_SH="./config/rc.3thparty_helper" + +# ${BUILD_SH} expat ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} libevent ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} pcre ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 + + ${BUILD_SH} mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh libevent ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} choparp ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} libnet ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh pcre ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} arping ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} ipguard ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh choparp ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} ttcp ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh pciutils ${CGBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} mtr ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh istgt ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} rsync ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh rsync ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} mpd ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh ttcp ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} dnsmasq ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh mpd ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} confuse ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh mrouted ${CGBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} bmon ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} hping2 ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh sudo ${CBUILD} ${PKG} ${TARGET_BUILD} + ${BUILD_SH} readline ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh bmon ${CGBUILD} ${PKG} ${TARGET_BUILD} + env CFLAGS="-I${PKG}/include" LDFLAGS="-L${PKG}/lib" ${BUILD_SH} quagga ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 - ./build.sh mtr ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh ipguard ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh quagga ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh coova-chilli ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh iftop ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh arping ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh hping2 ${CGBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh trafshow ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh dhcp ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh dhcdrop ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh dhcping ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh miniupnpd ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh miniupnpc ${CGBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh ntp ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh libxml2 ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh php ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 + + +# ${BUILD_SH} iftop ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} iperf ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} sudo ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} trafshow ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} ipsec-tools ${CGBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} dhcp ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} dhcping ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} miniupnpd ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} miniupnpc ${CGBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} ntp ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} libxml2 ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 +# ${BUILD_SH} php ${CBUILD} ${PKG} ${TARGET_BUILD} +# [ $? -ne 0 ] && exit 1 + echo +} + +install_3th() +{ + LIBS="${ROMFS_USR2}/lib" + LIBEXEC="${ROMFS_USR2}/libexec" + BIN="${ROMFS_USR2}/bin" + SBIN="${ROMFS_USR2}/sbin" + ETC="${ROMFS_USR2}/etc" + + echo "+++ Install ELWIX RomFS secondary firmware ... ${ROMFS_USR2}" + + StripFiles \*.so\* ${PKG}/lib + InstallFiles \*.so\* ${PKG}/lib $LIBS + StripFiles \* ${PKG}/libexec + InstallFiles \* ${PKG}/libexec $LIBEXEC + StripFiles \* ${PKG}/bin + InstallFiles \* ${PKG}/bin $BIN + StripFiles \* ${PKG}/sbin + InstallFiles \* ${PKG}/sbin $SBIN + + InstallFiles \* ${PKG}/etc $ETC + + chown -R root:wheel $SBIN $BIN $LIBDATA $LIBEXEC $LIBS +} + +build_3th() +{ + echo "+++ Build ELWIX Firmware secondary image ... ${ROMFS_USR2} --> ${REL}/${ROMFS_IMG2}" + + cd ${ROMFS_USR2} + pax -w -z -v -f${REL}/${ROMFS_IMG2} . cd - - echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver +# Stop using uzip fs +# makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${ROMFS_SIZE2} \ +# ${REL}/${ROMFS_IMG2} ${ROMFS_USR2} + +# MDDEV=$(mdconfig -a -t vnode -f ${REL}/${ROMFS_IMG2}); +# tunefs -L elwixFirmware2 /dev/$MDDEV; +# mdconfig -d -u $MDDEV; + +# mkuzip -s 8192 -o ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2}; +# mv ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2} + + echo "+++ Complited ELWIX Firmware secondary image ... ${REL}/${ROMFS_IMG2}" } ### main() if ! SnitVer ${PKG}/elwix.ver; then - clean_3th - compile_3th + clean_3th || exit 1 + compile_3th || exit 1 + + install_3th || exit 1 + build_3th || exit 1 + + echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver else echo "Skipped ELWIX 3th party build ..." fi