File was renamed from 3rdpart/appweb/build.sh |
| | |
| | | #| 1, Initialize 1.0.0 on 2011.04.12 |
| | | #+-------------------------------------------------------------------------------------------- |
| | | |
| | | CROSS_COMPILE=yes |
| | | LYFTP_SRC=ftp://master.iot-yun.club/src/ |
| | | |
| | | PRJ_PATH=`pwd` |
| | | PREFIX_PATH=`pwd`/appweb |
| | | BOARD=RPI |
| | | PREFIX_PATH=${PRJ_PATH}/appweb |
| | | |
| | | BOARD=RPi |
| | | |
| | | mkdir -p $PREFIX_PATH/{bin,modules} |
| | | |
| | | if [ -z $CROSSTOOL ] ; then |
| | | CROSSTOOL=/opt/rpi/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- |
| | | fi |
| | | CROSSTOOL=arm-linux-gnueabihf- |
| | | |
| | | function msg_banner() |
| | | { |
| | |
| | | export STRIP=${CROSSTOOL}strip |
| | | |
| | | # export cross configure |
| | | export CONFIG_CROSS=" --build=i686-pc-linux --host=arm-linux " |
| | | if [ "$CROSS_COMPILE" = "yes" ] ; then |
| | | export CONFIG_CROSS=" --build=x86_64-pc-linux --host=arm-linux " |
| | | fi |
| | | |
| | | # Clear LDFLAGS and CFLAGS |
| | | export LDFLAGS= |
| | |
| | | msg_banner "Start cross compile $SRC_NAME " |
| | | |
| | | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then |
| | | wget http://museum.php.net/php5/${SRC_NAME}.${PACK_SUFIX} |
| | | #wget http://museum.php.net/php5/${SRC_NAME}.${PACK_SUFIX} |
| | | wget $LYFTP_SRC/$SRC_NAME.$PACK_SUFIX |
| | | check_result "ERROR: download ${SRC_NAME} failure" |
| | | fi |
| | | |
| | |
| | | function compile_appweb() |
| | | { |
| | | SRC_NAME=appweb-3.4.2 |
| | | PACK_SUFIX=-0-src.tgz |
| | | PACK_SUFIX=tar.gz |
| | | |
| | | if [ -f ${PREFIX_PATH}/bin/appweb ] ; then |
| | | return 0; |
| | |
| | | |
| | | msg_banner "Start cross compile $SRC_NAME " |
| | | |
| | | if [ ! -f ${SRC_NAME}${PACK_SUFIX} ] ; then |
| | | wget https://embedthis.com/software/${SRC_NAME}${PACK_SUFIX} |
| | | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then |
| | | #wget https://embedthis.com/software/${SRC_NAME}${PACK_SUFIX} |
| | | wget $LYFTP_SRC/$SRC_NAME.$PACK_SUFIX |
| | | check_result "ERROR: download ${SRC_NAME} failure" |
| | | fi |
| | | |
| | | tar -xzf ${SRC_NAME}${PACK_SUFIX} |
| | | tar -xzf ${SRC_NAME}.${PACK_SUFIX} |
| | | cd ${SRC_NAME} |
| | | |
| | | ./configure --prefix=${PREFIX_PATH} ${CONFIG_CROSS} --type=RELEASE --static --port=80 --enable-assert \ |
| | |
| | | |
| | | function install_appweb() |
| | | { |
| | | SCRIPTS=s80Appweb |
| | | msg_banner "Start install webserver appweb " |
| | | |
| | | cd ${PRJ_PATH} |
| | | |
| | | # install web page |
| | | rm -rf $PREFIX_PATH/web |
| | | cp -rf web $PREFIX_PATH |
| | | if [ -f web.tar.gz ] ; then |
| | | tar -xzf web.tar.gz -C $PREFIX_PATH |
| | | fi |
| | | |
| | | sed -i -e "s|^Listen 4100|Listen 80|g" $PREFIX_PATH/appweb.conf |
| | | sed -i -e "s|^Listen 4100|Listen 5000|g" $PREFIX_PATH/appweb.conf |
| | | sed -i -e "s|^DirectoryIndex.*|DirectoryIndex index.php|g" $PREFIX_PATH/appweb.conf |
| | | sed -i -e 's|^LoadModulePath "../modules"|LoadModulePath "./modules"|g' $PREFIX_PATH/appweb.conf |
| | | |
| | | set -x |
| | | |
| | | cat << EOF > run.sh |
| | | cat << 'EOF' > ${SCRIPTS} |
| | | #!/bin/sh |
| | | APPWEB_PATH=/apps/appweb |
| | | export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${APPWEB_PATH}/modules |
| | | cd \${APPWEB_PATH} |
| | | ./bin/appweb --config appweb.conf & |
| | | # |
| | | # Start/stop appweb |
| | | # |
| | | |
| | | APP_NAME=appweb |
| | | |
| | | WORK_PATH=/apps/appweb |
| | | |
| | | DAEMON=${WORK_PATH}/bin/appweb |
| | | CONFIG=${WORK_PATH}/appweb.conf |
| | | PIDFILE=/tmp/${APP_NAME}.pid |
| | | |
| | | export PATH=${PATH}:${WORK_PATH}/bin |
| | | export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${WORK_PATH}/modules |
| | | cd ${WORK_PATH} |
| | | |
| | | [ -f $CONFIG ] || exit 0 |
| | | |
| | | case "$1" in |
| | | start) |
| | | echo "Starting ${APP_NAME}..." |
| | | start-stop-daemon -S -b -m -x "$DAEMON" -p "$PIDFILE" -- --config "$CONFIG" |
| | | ;; |
| | | stop) |
| | | echo "Stopping ${APP_NAME}..." |
| | | start-stop-daemon -K -x "$DAEMON" -p "$PIDFILE" -o |
| | | ;; |
| | | restart) |
| | | "$0" stop |
| | | sleep 1 # Prevent race condition: ensure dhcpcd stops before start. |
| | | "$0" start |
| | | ;; |
| | | *) |
| | | echo "Usage: $0 {start|stop|restart}" |
| | | exit 1 |
| | | esac |
| | | |
| | | EOF |
| | | |
| | | chmod 755 run.sh |
| | | mv run.sh $PREFIX_PATH/ |
| | | chmod 755 ${SCRIPTS} |
| | | mv ${SCRIPTS} $PREFIX_PATH/ |
| | | |
| | | tar -czf appweb_${BOARD}.tar.gz `basename $PREFIX_PATH` |
| | | ls -l appweb_${BOARD}.tar.gz |
| | | tar -czf appweb-${BOARD}.tar.gz `basename $PREFIX_PATH` |
| | | ls -l appweb-${BOARD}.tar.gz |
| | | } |
| | | |
| | | |
| | | if [[ $# == 1 ]] && [[ $1 == "clean" ]] ; then |
| | | rm -rf appweb* |
| | | rm -rf php* |
| | | exit; |
| | | fi |
| | | |
| | | export_cross |
| | | |
| | | compile_php |