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