]> git.pld-linux.org Git - packages/php.git/blob - dep-tests.sh
dep-tests.sh: move main to function
[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_session="spl $dep_spl"
8 dep_filter='pcre'
9 dep_eaccelerator='session'
10 dep_mysqlnd='hash'
11 dep_mysql="$dep_mysqlnd $with_mysqlnd"
12 dep_mysqli="$dep_spl spl $dep_mysqlnd $with_mysqlnd"
13 dep_pdo="$dep_spl spl"
14 dep_pdo_sqlite="$dep_pdo pdo"
15 dep_pdo_pgsql="$dep_pdo pdo"
16 dep_pdo_oci="$dep_pdo pdo"
17 dep_pdo_odbc="$dep_pdo pdo"
18 dep_pdo_firebird="$dep_pdo pdo"
19 dep_pdo_dblib="$dep_pdo pdo"
20 dep_pdo_mysql="$dep_pdo pdo $dep_mysqlnd $with_mysqlnd"
21 dep_simplexml="$dep_spl spl"
22 dep_imap="pcre"
23 dep_phar="$dep_spl spl hash"
24 dep_sqlite="$dep_pdo pdo"
25 dep_fileinfo="pcre"
26 dep_wddx='xml'
27 dep_xmlreader='dom'
28 dep_xmlrpc='xml'
29 dep_xsl='dom'
30 dep_snmp="$dep_spl spl snmp"
31 dep_opcache='pcre'
32
33 php=${PHP:-$(php-config --php-binary)}
34 ext_dir=${EXTENSION_DIR:-$(php-config --extension-dir)}
35 conf_dir=${CONFIG_DIR:-$(php-config --sysconfdir)/conf.d $(php-config --sysconfdir)/cli.d}
36
37 test_deps() {
38         tmpini=$(mktemp)
39
40         # poldek --sn ac-ready -u php-*
41         for ext in ${*:-$ext_dir/*.so}; do
42                 [ -f $ext ] || continue
43                 ext=${ext##*/}; ext=${ext%.so}
44
45                 deps=$(eval echo \$dep_$ext)
46                 # add ext itself, if already not in list (spl case)
47                 [[ $deps = *\ $ext\ * ]] || deps="$deps $ext"
48
49                 echo -n "$ext (deps: ${deps# })..."
50
51                 # special: opcache is listed as "Zend Opcache"
52                 [ "$ext" = "opcache" ] && ext="zend opcache"
53
54                 grep -rlE '^(zend_)?extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_ALL=C sort | xargs cat > $tmpini
55                 $php -n -d extension_dir=$ext_dir -c $tmpini -r "exit(extension_loaded('${ext}') ? 0 : 1);"
56                 rc=$?
57                 if [ $rc = 0 ]; then
58                         echo OK
59                 else
60                         echo FAIL
61                         echo "Failed config was:"
62                         cat $tmpini
63                 fi
64         done
65 }
66
67 test_deps "$@"
This page took 0.027135 seconds and 4 git commands to generate.