| 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 |
| 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 |
| 208 | | |
| 209 | | cmd=() |
| 210 | | tracer=() |
| 211 | | |
| 212 | | # run utils {{{1 |
| 213 | | case "$action" in |
| 214 | | dc) |
| 215 | | exec ./php-cli -c devel.ini ./bin/phpdc.phpr $@ | tee decompiled.php |
| 216 | | ;; |
| 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" in |
| 225 | | *.phpt) |
| 226 | | exec $MAKE xcachetest TEST_ARGS=-v TESTS="$*" |
| 227 | | ;; |
| 228 | | */) |
| 229 | | exec $MAKE xcachetest TESTS="$*" |
| 230 | | ;; |
| 231 | | *) |
| 232 | | exec $MAKE xcachetest |
| 233 | | ;; |
| 234 | | esac |
| 235 | | ;; |
| 236 | | esac |
| 237 | | # }}} |
| 238 | | # pick sapi {{{1 |
| 239 | | case "$basename" in |
| 240 | | *-apache1*) |
| 241 | | cmd=($HOME/apache1/bin/httpd -X) |
| 242 | | ;; |
| 243 | | *-apache*) |
| 244 | | exit 1 |
| 245 | | ;; |
| 246 | | *) |
| 247 | | case "$1" in |
| 248 | | fcgi) |
| 249 | | cmd=(./php-cgi -q -c devel.ini) |
| 250 | | set -- -b 1026 |
| 251 | | ;; |
| 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 | | esac |
| 261 | | |
| 262 | | "${cmd[@]}" -v || true |
| 263 | | esac |
| 264 | | # }}} |
| 265 | | # pick action {{{1 |
| 266 | | case "$action" in |
| 267 | | ltr*) |
| 268 | | export USE_ZEND_ALLOC=0 |
| 269 | | tracer=(ltrace -s1024 -e malloc,realloc,free,write) |
| 270 | | ;; |
| 271 | | str*) |
| 272 | | tracer=(strace -s1024 -T) |
| 273 | | ;; |
| 274 | | gdb) |
| 275 | | #USE_ZEND_ALLOC=0 |
| 276 | | tracer=(gdb --args) |
| 277 | | ;; |
| 278 | | val*) |
| 279 | | export USE_ZEND_ALLOC=0 |
| 280 | | tracer=(valgrind --gen-suppressions=all) |
| 281 | | ;; |
| 282 | | esac |
| 283 | | |
| 284 | | # run {{{1 |
| 285 | | export XCACHE_SKIP_FCGI_WARNING=1 |
| 286 | | commandLine=("${tracer[@]}" "${cmd[@]}" "$@") |
| 287 | | |
| 288 | | case "${cmd[0]}" in |
| 289 | | *php-fpm*) |
| 290 | | stopfpm |
| 291 | | "${commandLine[@]}" |
| 292 | | echo -n "Ctrl-C to stop" |
| 293 | | trap stopfpm SIGINT SIGTERM exit |
| 294 | | cat > /dev/null || true |
| 295 | | stopfpm |
| 296 | | ;; |
| 297 | | *) |
| 298 | | exec "${commandLine[@]}" |
| 299 | | ;; |
| 300 | | esac |
| 301 | | # }}} |