]>
Commit | Line | Data |
---|---|---|
debbc45e | 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_oci="$dep_pdo pdo" | |
12 | dep_pdo_odbc="$dep_pdo pdo" | |
13 | dep_pdo_firebird="$dep_pdo pdo" | |
14 | dep_pdo_dblib="$dep_pdo pdo" | |
15 | dep_pdo_mysql="$dep_pdo pdo" | |
16 | dep_simplexml="$dep_spl spl" | |
17 | dep_sqlite="$dep_pdo pdo" | |
18 | dep_wddx='xml' | |
19 | dep_xmlreader='dom' | |
20 | dep_xmlrpc='xml' | |
21 | dep_xsl='dom' | |
22 | ||
23 | php=${PHP:-$(php-config --php-binary)} | |
24 | ext_dir=${EXTENSION_DIR:-$(php-config --extension-dir)} | |
25 | conf_dir=${CONFIG_DIR:-$(php-config --sysconfdir)/conf.d $(php-config --sysconfdir)/cli.d} | |
26 | tmpini=$(mktemp) | |
27 | ||
28 | # poldek --sn ac-ready -u php-* | |
29 | for ext in $ext_dir/*.so; do | |
30 | [ -f $ext ] || continue | |
31 | ext=${ext##*/}; ext=${ext%.so} | |
32 | ||
33 | deps=$(eval echo \$dep_$ext) | |
34 | # add ext itself, if already not in list (spl case) | |
35 | [[ $deps = *$ext* ]] || deps="$deps $ext" | |
36 | ||
37 | echo -n "$ext (deps: ${deps# })..." | |
38 | ||
39 | grep -rlE '^extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_CTYPE=C LC_ALL= sort | xargs cat > $tmpini | |
40 | $php -n -d extension_dir=$ext_dir -c $tmpini -r "exit(extension_loaded('${ext}') ? 0 : 1);" | |
41 | rc=$? | |
42 | if [ $rc = 0 ]; then | |
43 | echo OK | |
44 | else | |
45 | echo FAIL | |
46 | echo "Failed config was:" | |
47 | cat $tmpini | |
48 | fi | |
49 | done | |
50 | rm -f $t |