Obsolete unused backup project such as OK6410
guowenxue
2019-08-02 445a254629a2b342b9e7d43ae125045d2df48f7d
add appweb dhcpd iptables build shell script
3 files added
378 ■■■■■ changed files
ok335xD/3rdparty/appweb/build.sh 186 ●●●●● patch | view | raw | blame | history
ok335xD/3rdparty/dhcpd/build.sh 97 ●●●●● patch | view | raw | blame | history
ok335xD/3rdparty/iptables/build.sh 95 ●●●●● patch | view | raw | blame | history
ok335xD/3rdparty/appweb/build.sh
New file
@@ -0,0 +1,186 @@
#!/bin/bash
#+--------------------------------------------------------------------------------------------
#|Description:  This shell script used download and compile appweb for ARM
#|     Author:  GuoWenxue <guowenxue@gmail.com>
#|  ChangeLog:
#|           1, Initialize 1.0.0 on 2011.04.12
#+--------------------------------------------------------------------------------------------
PRJ_PATH=`pwd`
PREFIX_PATH=`pwd`/appweb
mkdir -p $PREFIX_PATH/{bin,modules}
if [ -z  $CROSSTOOL ] ; then
    CROSSTOOL=/opt/crosstool/cortex-a7/bin/arm-linux-gnueabi-
fi
function msg_banner()
{
    echo ""
    echo "+-----------------------------------------------------------------------"
    echo "|  $1 "
    echo "+-----------------------------------------------------------------------"
    echo ""
}
function check_result()
{
    if [ $? != 0 ] ; then
       echo ""
       echo "+-----------------------------------------------------------------------"
       echo "|  $1 "
       echo "+-----------------------------------------------------------------------"
       echo ""
       exit ;
    fi
}
function export_cross()
{
    # export cross toolchain
    export CC=${CROSSTOOL}gcc
    export AS=${CROSSTOOL}as
    export AR=${CROSSTOOL}ar
    export LD=${CROSSTOOL}ld
    export NM=${CROSSTOOL}nm
    export RANLIB=${CROSSTOOL}ranlib
    export OBJDUMP=${CROSSTOOL}objdump
    export STRIP=${CROSSTOOL}strip
    # export cross configure
    export CONFIG_CROSS=" --build=i686-pc-linux --host=arm-linux "
    # Clear LDFLAGS and CFLAGS
    export LDFLAGS=
    export CFLAGS=
}
PHP_SRC_NAME=php-5.4.10
function compile_php()
{
    SRC_NAME=${PHP_SRC_NAME}
    PACK_SUFIX=tar.bz2
    if [ -f ${PREFIX_PATH}/modules/libphp5.so  ] ; then
        return 0;
    fi
    msg_banner "Start cross compile $SRC_NAME "
    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then
        wget http://museum.php.net/php5/${SRC_NAME}.${PACK_SUFIX}
        check_result "ERROR: download ${SRC_NAME} failure"
    fi
    tar -xjf ${SRC_NAME}.${PACK_SUFIX}
    cd ${SRC_NAME}
    sed -i -e "s/uint _res/uint/g"  main/php_output.h
    line=`sed -n '/Your system seems to lack POSIX threads/=' configure`
    sed -i -e ${line}s'|.*|{ echo "configure: error: Your system seems to lack POSIX threads." 1>\&2;}|' configure
    ./configure --prefix=${PREFIX_PATH} ${CONFIG_CROSS}  --disable-rpath --disable-cli --enable-bcmath \
    --enable-calendar --enable-maintainer-zts -enable-embed=shared --enable-force-cgi-redirect --disable-ftp \
    --enable-inline-optimization  --disable-magic-quotes --enable-memory-limit --disable-safe-mode \
    --enable-sockets --enable-track-vars --enable-trans-sid -enable-wddx --sysconfdir=/apps/appWeb/etc --with-pic \
    --with-db --with-regex=system --with-pear --without-zlib --without-iconv --disable-dom --disable-libxml \
    --disable-simplexml --disable-xml --disable-wddx --disable-xmlreader --without-xmlrpc --disable-xmlwriter \
    --with-config-file-path=/apps/appweb
    check_result "ERROR: configure ${SRC_NAME} failure"
    export LDFLAGS+="-lpthread -ldl"
    make  && make install
    check_result "ERROR: compile ${SRC_NAME} failure"
    # install and clear PHP
    ${STRIP} ${PREFIX_PATH}/lib/libphp5.so
    cp -rf $PREFIX_PATH/lib/libphp5.so $PREFIX_PATH/modules
    rm -rf ${PREFIX_PATH}/bin/*
    rm -rf $PREFIX_PATH/include
    rm -rf $PREFIX_PATH/lib
    rm -rf $PREFIX_PATH/php
    cd -
}
function compile_appweb()
{
    SRC_NAME=appweb-3.4.2
    PACK_SUFIX=-0-src.tgz
    if [ -f ${PREFIX_PATH}/bin/appweb ] ; then
        return 0;
    fi
    msg_banner "Start cross compile $SRC_NAME "
    if [ ! -f ${SRC_NAME}${PACK_SUFIX} ] ; then
        wget https://embedthis.com/software/${SRC_NAME}${PACK_SUFIX}
        check_result "ERROR: download ${SRC_NAME} failure"
    fi
    tar -xzf ${SRC_NAME}${PACK_SUFIX}
    cd ${SRC_NAME}
    ./configure --prefix=${PREFIX_PATH} ${CONFIG_CROSS} --type=RELEASE --static --port=80 --enable-assert \
    --enable-complete-cross --enable-legacy-api --enable-log --enable-multi-thread --enable-samples \
    --enable-test --enable-send --enable-upload --enable-file --enable-regex --with-php=${PRJ_PATH}/${PHP_SRC_NAME}
    check_result "ERROR: configure ${SRC_NAME} failure"
    make TRACE=1
    check_result "ERROR: compile ${SRC_NAME} failure"
    cp bin/arm-unknown-linux/appweb $PREFIX_PATH/bin
    cp modules/arm-unknown-linux/* $PREFIX_PATH/modules
    $STRIP $PREFIX_PATH/bin/*
    cp -rf test/{appweb.conf,groups.db,mime.types,users.db} $PREFIX_PATH
    cd -
}
function install_appweb()
{
    msg_banner "Start install webserver appweb "
    cd ${PRJ_PATH}
    # install web page
    rm -rf $PREFIX_PATH/web
    cp -rf web $PREFIX_PATH
    sed -i -e "s|^Listen 4100|Listen 80|g" $PREFIX_PATH/appweb.conf
    sed -i -e 's|^LoadModulePath "../modules"|LoadModulePath "./modules"|g' $PREFIX_PATH/appweb.conf
    set -x
 cat << EOF > run.sh
#!/bin/sh
APPWEB_PATH=/apps/appweb
export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${APPWEB_PATH}/modules
cd \${APPWEB_PATH}
./bin/appweb --config appweb.conf &
EOF
    chmod 755 run.sh
    mv run.sh $PREFIX_PATH/
    tar -czf appweb_cortexa8.tar.gz `basename $PREFIX_PATH`
    ls -l appweb_cortexa8.tar.gz
}
export_cross
compile_php
compile_appweb
install_appweb
ok335xD/3rdparty/dhcpd/build.sh
New file
@@ -0,0 +1,97 @@
#!/bin/bash
#+--------------------------------------------------------------------------------------------
#|Description:  This shell script used download and compile dhcpd for ARM
#|     Author:  GuoWenxue <guowenxue@gmail.com>
#|  ChangeLog:
#|           1, Initialize 1.0.0 on 2011.04.12
#+--------------------------------------------------------------------------------------------
PREFIX_PATH=`pwd`/../install/bin
if [ -z $CROSSTOOL ] ; then
   CROSSTOOL=/opt/crosstool/cortex-a7/bin/arm-linux-gnueabi-
fi
function msg_banner()
{
    echo ""
    echo "+-----------------------------------------------------------------------"
    echo "|  $1 "
    echo "+-----------------------------------------------------------------------"
    echo ""
}
function check_result()
{
    if [ $? != 0 ] ; then
       echo ""
       echo "+-----------------------------------------------------------------------"
       echo "|  $1 "
       echo "+-----------------------------------------------------------------------"
       echo ""
       exit ;
    fi
}
function export_cross()
{
    # export cross toolchain
    export CC=${CROSSTOOL}gcc
    export AS=${CROSSTOOL}as
    export AR=${CROSSTOOL}ar
    export LD=${CROSSTOOL}ld
    export NM=${CROSSTOOL}nm
    export RANLIB=${CROSSTOOL}ranlib
    export OBJDUMP=${CROSSTOOL}objdump
    export STRIP=${CROSSTOOL}strip
    # export cross configure
    export CONFIG_CROSS=" --build=i686-pc-linux --host=arm-linux "
    # Clear LDFLAGS and CFLAGS
    export LDFLAGS=
    export CFLAGS=
}
function compile_dhcpd()
{
    IMG_NAME=dhcpd
    SRC_NAME=dhcp-4.0.3
    PACK_SUFIX=tar.gz
    if [ -f ${PREFIX_PATH}/${IMG_NAME} ] ; then
        return 0;
    fi
    msg_banner "Start cross compile $SRC_NAME "
    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then
        wget ftp://ftp.isc.org/isc/dhcp/${SRC_NAME}.${PACK_SUFIX}
        check_result "ERROR: download ${SRC_NAME} failure"
    fi
    tar -xzf ${SRC_NAME}.${PACK_SUFIX}
    cd ${SRC_NAME}
    echo "ac_cv_file__dev_random=yes" > arm-linux.cache
    ./configure --prefix=${PREFIX_PATH} ${CONFIG_CROSS} --cache-file=arm-linux.cache -with-srv-lease-file=/tmp/dhcpd.leases \
    --with-srv-pid-file=/var/run/dhcpd.pid --with-relay-pid-file=/var/run/dhcrelay.pid
    check_result "ERROR: configure ${SRC_NAME} failure"
    make
    check_result "ERROR: compile ${SRC_NAME} failure"
    ${STRIP} server/${IMG_NAME}
    cp server/${IMG_NAME} ${PREFIX_PATH} ../
    cp client/dhclient  ${PREFIX_PATH} ../
    cd -
}
export_cross
compile_dhcpd
ok335xD/3rdparty/iptables/build.sh
New file
@@ -0,0 +1,95 @@
#!/bin/bash
#+--------------------------------------------------------------------------------------------
#|Description:  This shell script used download and compile iptables for ARM
#|     Author:  GuoWenxue <guowenxue@gmail.com>
#|  ChangeLog:
#|           1, Initialize 1.0.0 on 2011.04.12
#+--------------------------------------------------------------------------------------------
PREFIX_PATH=`pwd`/../install/bin
if [ -z $CROSSTOOL ] ; then
   CROSSTOOL=/opt/crosstool/cortex-a7/bin/arm-linux-gnueabi-
fi
function msg_banner()
{
    echo ""
    echo "+-----------------------------------------------------------------------"
    echo "|  $1 "
    echo "+-----------------------------------------------------------------------"
    echo ""
}
function check_result()
{
    if [ $? != 0 ] ; then
       echo ""
       echo "+-----------------------------------------------------------------------"
       echo "|  $1 "
       echo "+-----------------------------------------------------------------------"
       echo ""
       exit ;
    fi
}
function export_cross()
{
    # export cross toolchain
    export CC=${CROSSTOOL}gcc
    export AS=${CROSSTOOL}as
    export AR=${CROSSTOOL}ar
    export LD=${CROSSTOOL}ld
    export NM=${CROSSTOOL}nm
    export RANLIB=${CROSSTOOL}ranlib
    export OBJDUMP=${CROSSTOOL}objdump
    export STRIP=${CROSSTOOL}strip
    # export cross configure
    export CONFIG_CROSS=" --build=i686-pc-linux --host=arm-linux "
    # Clear LDFLAGS and CFLAGS
    export LDFLAGS=
    export CFLAGS=
}
function compile_iptables()
{
    SRC_NAME=iptables-1.4.21
    PACK_SUFIX=tar.bz2
    IMG_NAME=iptables
    if [ -f ${PREFIX_PATH}/${IMG_NAME} ] ; then
        return 0;
    fi
    msg_banner "Start cross compile $SRC_NAME "
    if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then
        wget http://www.netfilter.org/projects/iptables/files/${SRC_NAME}.${PACK_SUFIX}
        check_result "ERROR: download ${SRC_NAME} failure"
    fi
    tar -xjf ${SRC_NAME}.${PACK_SUFIX}
    cd ${SRC_NAME}
    ./configure --prefix=${PREFIX_PATH} ${CONFIG_CROSS} --enable-static --disable-shared --disable-ipv6 --disable-largefile
    check_result "ERROR: configure ${SRC_NAME} failure"
    make
    check_result "ERROR: compile ${SRC_NAME} failure"
    ${STRIP} iptables/xtables-multi
    cp iptables/xtables-multi ${PREFIX_PATH}/${IMG_NAME}
    cp iptables/xtables-multi ../${IMG_NAME}
    cd -
}
export_cross
compile_iptables