Changeset 1128 in svn


Ignore:
Timestamp:
2012-08-09T02:51:46Z (3 years ago)
Author:
Xuefer
Message:

devel: smarter args for run

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/devel/run

    r1125 r1128  
    124124fi
    125125
    126 if [[ $# -gt 0 ]]; then
    127     action=$1
    128     shift
    129 fi
    130 
    131126# devel actions
    132 case "$action" in
    133 prep*) prep "$@"; exit;;
    134 tags) rm -f tags; prep tags "$@"; exit;;
     127case "$1" in
     128prep*) shift; prep "$@"; exit;;
     129tags) shift; rm -f tags; prep tags "$@"; exit;;
    135130po2php) po2php; exit;;
    136131mergepo) mergepo; exit;;
    137132dep*) updatedeps; exit;;
    138133xtest) xtest; exit;;
    139 esac
    140 
    141 case "$1" in
    142 fpm) stopfpm devel.pid;;
    143134stopfpm) stopfpm devel.pid; exit;;
    144135esac
     136
     137basename=$(basename $(pwd))
     138case "$basename" in
     139*-*)
     140    # in build dir, starts from src dir
     141    dirs="$basename"
     142    xcachesrcdir=../${basename%%-*}
     143    cd $xcachesrcdir
     144    ;;
     145*)
     146    # in src dir
     147    dirs=${dirs:-php5-debug-zts}
     148    xcachesrcdir=../$basename
     149    ;;
     150esac
     151
     152touch devel.pid
     153svn propget svn:ignore . > .svnignore
     154
     155# ==========================
    145156
    146157do_phpize() { # {{{1
     
    183194    fi
    184195}
     196cleanfpm() { # {{{1
     197    echo
     198    stopfpm $pidfile
     199}
    185200# }}}
    186201run() {
     
    188203
    189204    # prepare {{{1
    190     case "$action" in
     205    case "$1" in
    191206    phpize)
    192207        if [[ -r Makefile ]]; then
     
    209224    ln -snf ~/src/php/$phpbasename/sapi/fpm/php-fpm php-fpm
    210225
    211     case "$action" in
     226    case "$1" in
    212227    phpize) do_phpize; exit;;
    213228    make) do_make "$@"; exit;;
     
    224239
    225240    # run utils {{{1
    226     case "$action" in
     241    case "$1" in
    227242    dc)
     243        shift
    228244        ./php-cli -c devel.ini ./bin/phpdc.phpr $@ | tee decompiled.php
    229245        return
    230246        ;;
    231247    dop)
     248        shift
    232249        ./php-cli -c devel.ini ./bin/phpdop.phpr $@
    233250        return
    234251        ;;
    235252    retest)
     253        shift
    236254        $MAKE xcachetest "$@" TESTS="`grep '^/.*\.phpt$' php_test_results_*.txt | uniq | xargs`"
    237255        return
    238256        ;;
    239257    test)
     258        shift
    240259        case "$1" in
    241260        *.phpt)
     
    255274    esac
    256275    # }}}
     276    # pick tracer {{{1
     277    case "$1" in
     278    ltr*)
     279        shift
     280        export USE_ZEND_ALLOC=0
     281        tracer=(ltrace -s1024 -e malloc,realloc,free,write)
     282        ;;
     283    str*)
     284        shift
     285        tracer=(strace -s1024 -T)
     286        ;;
     287    gdb)
     288        shift
     289        #USE_ZEND_ALLOC=0
     290        tracer=(gdb --args)
     291        ;;
     292    val*)
     293        shift
     294        export USE_ZEND_ALLOC=0
     295        tracer=(valgrind --gen-suppressions=all)
     296        ;;
     297    esac
     298
    257299    # pick sapi {{{1
    258300    case "$basename" in
     
    261303        ;;
    262304    *-apache*)
     305        echo "Don't know how to run apache"
    263306        exit 1
    264307        ;;
     
    266309        case "$1" in
    267310        fcgi)
     311            shift
    268312            cmd=(./php-cgi -q -c devel.ini)
    269313            set -- -b 1026
    270314            ;;
    271315        fpm)
     316            shift
    272317            cmd=(./php-fpm -c devel.ini -y devel.fpm -g $(readlink -f $pidfile))
    273318            set --
     
    280325        "${cmd[@]}" -v || true
    281326    esac
    282     # }}}
    283     # pick action {{{1
    284     case "$action" in
    285     ltr*)
    286         export USE_ZEND_ALLOC=0
    287         tracer=(ltrace -s1024 -e malloc,realloc,free,write)
    288         ;;
    289     str*)
    290         tracer=(strace -s1024 -T)
    291         ;;
    292     gdb)
    293         #USE_ZEND_ALLOC=0
    294         tracer=(gdb --args)
    295         ;;
    296     val*)
    297         export USE_ZEND_ALLOC=0
    298         tracer=(valgrind --gen-suppressions=all)
    299         ;;
    300     esac
    301327
    302328    # run {{{1
     
    305331    case "${cmd[0]}" in
    306332    *php-fpm*)
     333        stopfpm
    307334        hiecho Starting fpm ...
    308335        "${commandLine[@]}"
    309         # echo -n "Ctrl-C to stop"
    310     cleanfpm() {
    311         echo
    312         stopfpm $pidfile
    313     }
    314         # trap stopfpm SIGINT SIGTERM exit
    315         # cat > /dev/null || true
    316         # stopfpm
     336        echo -n "Ctrl-C to stop"
     337        trap cleanfpm SIGINT SIGTERM exit
     338        cat > /dev/null || true
     339        stopfpm
    317340        ;;
    318341    *)
     
    323346}
    324347
    325 # process each $dirs
    326 basename=$(basename $(pwd))
    327 if echo $basename | grep -- - >/dev/null; then
    328     phpbasename=${basename#*-}
    329     xcachesrcdir=../${basename%%-*}
     348for phpbasename in "${dirs[@]}"; do
     349    mkdir -p ../${basename}-${phpbasename}
     350    cd ../${basename}-${phpbasename} || exit
     351    lndir ${xcachesrcdir} >/dev/null || true
     352
     353    pwd
    330354    run "$@"
    331 else
    332     svn propget svn:ignore . > .svnignore
    333 
    334     dirs=${dirs:-php5-debug-zts}
    335     xcachesrcdir=../$basename
    336     for phpbasename in $dirs; do
    337         mkdir -p ../${basename}-${phpbasename}
    338         cd ../${basename}-${phpbasename} || exit
    339         lndir ${xcachesrcdir} >/dev/null || true
    340 
    341         pwd
    342         run "$@"
    343     done
    344 fi
     355done
Note: See TracChangeset for help on using the changeset viewer.