Changeset 1128 for trunk


Ignore:
Timestamp:
2012-08-09T04:51:46+02:00 (21 months ago)
Author:
moo
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.