--- elwix/build_3thparty.sh 2012/10/12 08:22:42 1.2 +++ elwix/build_3thparty.sh 2021/07/16 18:35:50 1.8 @@ -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.8 2021/07/16 18:35:50 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,90 @@ 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} - [ $? -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 choparp ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh pciutils ${CGBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh istgt ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh rsync ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh ttcp ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh mpd ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh mrouted ${CGBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh sudo ${CBUILD} ${PKG} ${TARGET_BUILD} - [ $? -ne 0 ] && exit 1 - ./build.sh bmon ${CGBUILD} ${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="./config/rc.3thparty_helper" + + for i in ${CROSS_3THPARTY}; do + MK=$(eval echo "\$${i}_MAKE") + env CFLAGS="-I${PKG}/include" LDFLAGS="-L${PKG}/lib" ${BUILD_SH} \ + $i $MK ${PKG} ${TARGET_BUILD} || Die "ERROR:: with $i packet!" + done + + 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 + InstallLinks \*.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 [ -n "${1}" ]; then + rm ${PKG}/elwix.ver +fi + 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