Changeset 1123 for trunk/devel/run
- Timestamp:
- 2012-08-04T05:44:07+02:00 (10 months ago)
- File:
-
- 1 edited
-
trunk/devel/run (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/devel/run
r1122 r1123 2 2 # this script is for developers only 3 3 4 set -e 5 MAKE=/usr/bin/make 6 7 true() { # {{{1 8 return 0 9 } 10 11 hi() { # {{{1 12 colors=(4 2 3 5 6 7 8 9) 13 re=() 14 i=0 15 for r in "$@"; do 16 ((color=$i % ${#colors[@]})) || true 17 color=${colors[$color]} 18 r="${r/\#/\\#}" 19 r="s#$r#[4${color}m[31m\0[0m#g" 20 re[$i]="-e$r" 21 ((i=i+1)) 22 done 23 sed -ur "${re[@]}" 24 } 25 hiecho() { # {{{1 26 echo "[32m""$@""[0m" 27 } 28 29 # }}} 30 4 31 stopfpm() { # {{{1 5 if [[ -f $ pidfile]]; then6 pid=`cat $pidfile2>/dev/null || true`32 if [[ -f $1 ]]; then 33 local pid=`cat $1 2>/dev/null || true` 7 34 if [[ $pid -gt 0 ]]; then 8 echo 9 echo Stopping fpm $pid @ $pidfile 35 hiecho Stopping fpm $pid @ $1 10 36 kill $pid || true 11 37 fi … … 46 72 builddir=$(readlink -f ../trunk-php5-debug-zts) 47 73 if [[ -z $builddir ]]; then 48 echo required ../trunk-php5-debug-zts not found74 hiecho required ../trunk-php5-debug-zts not found 49 75 return 1 50 76 fi … … 81 107 echo -n " \$(srcdir)/$dependency" 82 108 else 83 echo "$dependency not found" >&2109 hiecho "$dependency not found" >&2 84 110 fi 85 111 esac … … 90 116 # }}}1 91 117 92 set -e 93 MAKE=/usr/bin/make 94 118 hiecho "Loading config devel/run.cfg" 95 119 . devel/run.cfg 96 120 PHPSDIR=${PHPSDIR:-$HOME/test} … … 116 140 117 141 case "$1" in 118 fpm) pidfile=devel.pid; stopfpm;;119 stopfpm) pidfile=devel.pid; stopfpm; exit;;142 fpm) stopfpm devel.pid;; 143 stopfpm) stopfpm devel.pid; exit;; 120 144 esac 121 145 122 # process each $dirs 123 basename=$(basename $(pwd)) 124 if echo $basename | grep -- - >/dev/null; then :; else 125 svn propget svn:ignore . > .svnignore 126 127 dirs=${dirs:-php5-debug-zts} 128 for dir in $dirs; do 129 mkdir -p ../${basename}-${dir} 130 cd ../${basename}-${dir} || exit 131 lndir ../${basename} >/dev/null || true 132 133 pwd 134 $0 "$action" "$@" 135 done 136 exit 137 fi 138 139 phpbasename=${basename#*-} 140 xcachebasename=${basename%%-*} 141 xcachesrcdir=../$xcachebasename 142 pidfile=../$xcachebasename/devel.pid 143 phpize() { # {{{1 146 do_phpize() { # {{{1 144 147 if [[ ! -x $PHPSDIR/$phpbasename/bin/phpize ]]; then 145 echo $PHPSDIR/$phpbasename/bin/phpize not found148 hiecho $PHPSDIR/$phpbasename/bin/phpize not found 146 149 exit 147 150 fi … … 159 162 --enable-xcache-constant 160 163 } 161 make() { # {{{1 164 do_make() { # {{{1 165 if [[ ! -f Makefile ]]; then 166 do_phpize 167 fi 162 168 LANG=C $MAKE $MAKEOPTS "$@" 2>&1 \ 163 169 | sed -ur \ … … 173 179 } 174 180 # }}} 175 176 # prepare {{{1 177 case "$action" in 178 phpize) 179 if [[ -r Makefile ]]; then 180 $MAKE xcachesvnclean || true 181 fi 182 ;; 183 esac 184 185 rm -f php-src 186 find -L . -type l | xargs rm -fv 187 lndir "$xcachesrcdir" >/dev/null || true 188 find . -iname .\*.swp | xargs rm -f 189 ln -sf ~/src/php/$phpbasename php-src 190 for i in ~/src/php/$phpbasename/sapi/cgi/php{,-cgi}; do 191 if [[ -r $i ]]; then 192 ln -sf "$i" php-cgi 193 fi 194 done 195 ln -sf ~/src/php/$phpbasename/sapi/cli/php php-cli 196 ln -sf ~/src/php/$phpbasename/sapi/fpm/php-fpm php-fpm 197 198 case "$action" in 199 phpize) phpize; exit;; 200 make) make "$@"; exit;; 201 *) make;; 202 esac 203 # }}}1 204 205 if [[ -z $1 ]]; then 206 set -- devel.php 181 run() { 182 pidfile=$xcachesrcdir/devel.pid 183 184 # prepare {{{1 185 case "$action" in 186 phpize) 187 if [[ -r Makefile ]]; then 188 $MAKE xcachesvnclean || true 189 fi 190 ;; 191 esac 192 193 rm -f php-src 194 find -L . -type l | xargs rm -fv 195 lndir "$xcachesrcdir" >/dev/null || true 196 find . -iname .\*.swp | xargs rm -f 197 ln -snf ~/src/php/$phpbasename php-src 198 for i in ~/src/php/$phpbasename/sapi/cgi/php{,-cgi}; do 199 if [[ -r $i ]]; then 200 ln -snf "$i" php-cgi 201 fi 202 done 203 ln -snf ~/src/php/$phpbasename/sapi/cli/php php-cli 204 ln -snf ~/src/php/$phpbasename/sapi/fpm/php-fpm php-fpm 205 206 case "$action" in 207 phpize) do_phpize; exit;; 208 make) do_make "$@"; exit;; 209 *) do_make;; 210 esac 211 # }}}1 212 213 if [[ -z $1 ]]; then 214 set -- devel.php 215 fi 216 217 cmd=() 218 tracer=() 219 220 # run utils {{{1 221 case "$action" in 222 dc) 223 ./php-cli -c devel.ini ./bin/phpdc.phpr $@ | tee decompiled.php 224 return 225 ;; 226 dop) 227 ./php-cli -c devel.ini ./bin/phpdop.phpr $@ 228 return 229 ;; 230 retest) 231 $MAKE xcachetest "$@" TESTS="`grep '^/.*\.phpt$' php_test_results_*.txt | uniq | xargs`" 232 return 233 ;; 234 test) 235 case "$1" in 236 *.phpt) 237 $MAKE xcachetest TEST_ARGS=-v TESTS="$*" 238 return 239 ;; 240 */) 241 $MAKE xcachetest TESTS="$*" 242 return 243 ;; 244 *) 245 $MAKE xcachetest 246 return 247 ;; 248 esac 249 ;; 250 esac 251 # }}} 252 # pick sapi {{{1 253 case "$basename" in 254 *-apache1*) 255 cmd=($HOME/apache1/bin/httpd -X) 256 ;; 257 *-apache*) 258 exit 1 259 ;; 260 *) 261 case "$1" in 262 fcgi) 263 cmd=(./php-cgi -q -c devel.ini) 264 set -- -b 1026 265 ;; 266 fpm) 267 cmd=(./php-fpm -c devel.ini -y devel.fpm -g $(readlink -f $pidfile)) 268 set -- 269 ;; 270 *) 271 cmd=(./php-cgi -q -c devel.ini) 272 ;; 273 esac 274 275 "${cmd[@]}" -v || true 276 esac 277 # }}} 278 # pick action {{{1 279 case "$action" in 280 ltr*) 281 export USE_ZEND_ALLOC=0 282 tracer=(ltrace -s1024 -e malloc,realloc,free,write) 283 ;; 284 str*) 285 tracer=(strace -s1024 -T) 286 ;; 287 gdb) 288 #USE_ZEND_ALLOC=0 289 tracer=(gdb --args) 290 ;; 291 val*) 292 export USE_ZEND_ALLOC=0 293 tracer=(valgrind --gen-suppressions=all) 294 ;; 295 esac 296 297 # run {{{1 298 export XCACHE_SKIP_FCGI_WARNING=1 299 commandLine=("${tracer[@]}" "${cmd[@]}" "$@") 300 301 case "${cmd[0]}" in 302 *php-fpm*) 303 hiecho Starting fpm ... 304 "${commandLine[@]}" 305 # echo -n "Ctrl-C to stop" 306 cleanfpm() { 307 echo 308 stopfpm $pidfile 309 } 310 # trap stopfpm SIGINT SIGTERM exit 311 # cat > /dev/null || true 312 # stopfpm 313 ;; 314 *) 315 "${commandLine[@]}" 316 ;; 317 esac 318 # }}} 319 } 320 321 # process each $dirs 322 basename=$(basename $(pwd)) 323 if echo $basename | grep -- - >/dev/null; then 324 phpbasename=${basename#*-} 325 xcachesrcdir=../${basename%%-*} 326 run "$@" 327 else 328 svn propget svn:ignore . > .svnignore 329 330 dirs=${dirs:-php5-debug-zts} 331 xcachesrcdir=../$basename 332 for phpbasename in $dirs; do 333 mkdir -p ../${basename}-${phpbasename} 334 cd ../${basename}-${phpbasename} || exit 335 lndir ${xcachesrcdir} >/dev/null || true 336 337 pwd 338 run "$@" 339 done 207 340 fi 208 209 cmd=()210 tracer=()211 212 # run utils {{{1213 case "$action" in214 dc)215 exec ./php-cli -c devel.ini ./bin/phpdc.phpr $@ | tee decompiled.php216 ;;217 dop)218 exec ./php-cli -c devel.ini ./bin/phpdop.phpr $@219 ;;220 retest)221 exec $MAKE xcachetest "$@" TESTS="`grep '^/.*\.phpt$' php_test_results_*.txt | uniq | xargs`"222 ;;223 test)224 case "$1" in225 *.phpt)226 exec $MAKE xcachetest TEST_ARGS=-v TESTS="$*"227 ;;228 */)229 exec $MAKE xcachetest TESTS="$*"230 ;;231 *)232 exec $MAKE xcachetest233 ;;234 esac235 ;;236 esac237 # }}}238 # pick sapi {{{1239 case "$basename" in240 *-apache1*)241 cmd=($HOME/apache1/bin/httpd -X)242 ;;243 *-apache*)244 exit 1245 ;;246 *)247 case "$1" in248 fcgi)249 cmd=(./php-cgi -q -c devel.ini)250 set -- -b 1026251 ;;252 fpm)253 echo Starting fpm ...254 cmd=(./php-fpm -c devel.ini -y devel.fpm -g $(readlink -f $pidfile))255 set --256 ;;257 *)258 cmd=(./php-cgi -q -c devel.ini)259 ;;260 esac261 262 "${cmd[@]}" -v || true263 esac264 # }}}265 # pick action {{{1266 case "$action" in267 ltr*)268 export USE_ZEND_ALLOC=0269 tracer=(ltrace -s1024 -e malloc,realloc,free,write)270 ;;271 str*)272 tracer=(strace -s1024 -T)273 ;;274 gdb)275 #USE_ZEND_ALLOC=0276 tracer=(gdb --args)277 ;;278 val*)279 export USE_ZEND_ALLOC=0280 tracer=(valgrind --gen-suppressions=all)281 ;;282 esac283 284 # run {{{1285 export XCACHE_SKIP_FCGI_WARNING=1286 commandLine=("${tracer[@]}" "${cmd[@]}" "$@")287 288 case "${cmd[0]}" in289 *php-fpm*)290 stopfpm291 "${commandLine[@]}"292 echo -n "Ctrl-C to stop"293 trap stopfpm SIGINT SIGTERM exit294 cat > /dev/null || true295 stopfpm296 ;;297 *)298 exec "${commandLine[@]}"299 ;;300 esac301 # }}}
Note: See TracChangeset
for help on using the changeset viewer.

