]> git.pld-linux.org Git - packages/php.git/blob - dep-tests.sh
- stack buffer overflow patch to socket_connect()
[packages/php.git] / dep-tests.sh
1 #!/bin/sh
2 # inter-dependencies checker.
3
4 with_mysqlnd=mysqlnd
5
6 dep_spl="pcre simplexml"
7 dep_filter='pcre'
8 dep_eaccelerator='session'
9 dep_mysql="$with_mysqlnd"
10 dep_mysqli="$dep_spl spl $with_mysqlnd"
11 dep_pdo="$dep_spl spl"
12 dep_pdo_sqlite="$dep_pdo pdo"
13 dep_pdo_pgsql="$dep_pdo pdo"
14 dep_pdo_oci="$dep_pdo pdo"
15 dep_pdo_odbc="$dep_pdo pdo"
16 dep_pdo_firebird="$dep_pdo pdo"
17 dep_pdo_dblib="$dep_pdo pdo"
18 dep_pdo_mysql="$dep_pdo pdo $with_mysqlnd"
19 dep_simplexml="$dep_spl spl"
20 dep_imap="pcre"
21 dep_phar="$dep_spl spl"
22 dep_sqlite="$dep_pdo pdo"
23 dep_fileinfo="pcre"
24 dep_wddx='xml'
25 dep_xmlreader='dom'
26 dep_xmlrpc='xml'
27 dep_xsl='dom'
28
29 php=${PHP:-$(php-config --php-binary)}
30 ext_dir=${EXTENSION_DIR:-$(php-config --extension-dir)}
31 conf_dir=${CONFIG_DIR:-$(php-config --sysconfdir)/conf.d $(php-config --sysconfdir)/cli.d}
32 tmpini=$(mktemp)
33
34 # poldek --sn ac-ready -u php-*
35 for ext in $ext_dir/spl.so; do
36         [ -f $ext ] || continue
37         ext=${ext##*/}; ext=${ext%.so}
38
39         deps=$(eval echo \$dep_$ext)
40         # add ext itself, if already not in list (spl case)
41         [[ $deps = *\ $ext\ * ]] || deps="$deps $ext"
42
43         echo -n "$ext (deps: ${deps# })..."
44
45         grep -rlE '^extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_CTYPE=C LC_ALL= sort | xargs cat > $tmpini
46         $php -n -d extension_dir=$ext_dir -c $tmpini -r "exit(extension_loaded('${ext}') ? 0 : 1);"
47         rc=$?
48         if [ $rc = 0 ]; then
49                 echo OK
50         else
51                 echo FAIL
52                 echo "Failed config was:"
53                 cat $tmpini
54         fi
55 done
56 rm -f $t
This page took 0.031929 seconds and 3 git commands to generate.