Annotation of elwix/build_3thparty.sh, revision 1.4.2.5

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.5 ! misho       8: # $Id: build_3thparty.sh,v 1.4.2.4 2014/01/07 09:31:42 misho Exp $
1.2       misho       9: #
                     10: 
                     11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
1.4.2.5 ! misho      12: if [ ! -r ./config/rc.3thparty_helper ]; then
1.4.2.1   misho      13:        echo
                     14:        echo "ELWIX project is not configured - Missing rc.3thparty_helper script"
                     15:        echo
                     16:        exit 1
                     17: fi
                     18: 
1.2       misho      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: 
1.3       misho      49:        rm -rf ${PKG} ${ROMFS_USR2}
                     50: 
1.2       misho      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
1.3       misho      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
1.2       misho      66: }
                     67: 
                     68: compile_3th()
                     69: {
                     70:        echo "+++ Compile ELWIX 3th party ..."
                     71: 
1.4.2.2   misho      72:        BUILD_SH="./config/rc.3thparty_helper"
                     73: 
1.4.2.5 ! misho      74:        echo "${BUILD_SH} expat ${CBUILD} ${PKG} ${TARGET_BUILD}"
1.2       misho      75:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      76:        ${BUILD_SH} libevent ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      77:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      78:        ${BUILD_SH} libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      79:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      80:        ${BUILD_SH} pcre ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      81:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      82:        ${BUILD_SH} mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      83:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      84:        ${BUILD_SH} choparp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      85:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      86:        ${BUILD_SH} scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      87:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      88: #      ${BUILD_SH} istgt ${CBUILD} ${PKG} ${TARGET_BUILD}
1.4.2.2   misho      89: #      [ $? -ne 0 ] && exit 1
1.4.2.4   misho      90:        ${BUILD_SH} rsync ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      91:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      92:        ${BUILD_SH} ttcp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      93:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      94:        ${BUILD_SH} mpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      95:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      96:        ${BUILD_SH} mrouted ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      97:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho      98:        ${BUILD_SH} igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho      99:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     100:        ${BUILD_SH} sudo ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     101:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     102:        ${BUILD_SH} bmon ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     103:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     104:        ${BUILD_SH} mtr ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     105:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     106:        ${BUILD_SH} ipguard ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     107:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     108:        ${BUILD_SH} smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     109:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     110:        ${BUILD_SH} quagga ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     111:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     112:        ${BUILD_SH} iftop ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     113:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     114:        ${BUILD_SH} arping ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     115:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     116:        ${BUILD_SH} hping2 ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     117:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     118:        ${BUILD_SH} trafshow ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     119:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     120:        ${BUILD_SH} ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     121:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     122: #      ${BUILD_SH} dhcp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.4       misho     123: #      [ $? -ne 0 ] && exit 1
1.4.2.4   misho     124: #      ${BUILD_SH} dhcping ${CBUILD} ${PKG} ${TARGET_BUILD}
1.4       misho     125: #      [ $? -ne 0 ] && exit 1
1.4.2.4   misho     126:        ${BUILD_SH} dnsmasq ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     127:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     128:        ${BUILD_SH} miniupnpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     129:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     130:        ${BUILD_SH} miniupnpc ${CGBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     131:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     132:        ${BUILD_SH} ntp ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     133:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     134:        ${BUILD_SH} spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD}
1.4       misho     135:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     136:        ${BUILD_SH} lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD}
1.4       misho     137:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     138:        ${BUILD_SH} libxml2 ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     139:        [ $? -ne 0 ] && exit 1
1.4.2.4   misho     140:        ${BUILD_SH} php ${CBUILD} ${PKG} ${TARGET_BUILD}
1.2       misho     141:        [ $? -ne 0 ] && exit 1
1.3       misho     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 -
1.2       misho     175: 
1.3       misho     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}
1.2       misho     186: }
                    187: 
                    188: ### main()
                    189: if ! SnitVer ${PKG}/elwix.ver; then
                    190:        clean_3th
                    191:        compile_3th
1.3       misho     192: 
                    193:        install_3th
                    194:        build_3th
                    195: 
                    196:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
1.2       misho     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>