Skip to content

Commit deea0e9

Browse files
committed
Refactor phpenv-pear-setup script, disable system PHP support
1 parent eb5bedc commit deea0e9

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

bin/phpenv-pear-setup

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,51 @@ set -e
44

55
[ -n "$PHPENV_DEBUG" ] && set -x
66

7-
export PHP_PEAR_PHP_BIN=$(phpenv which php)
7+
if [ "$(phpenv version-name)" = "system" ]
8+
then
9+
echo "phpenv: this command used to configure only local versions, got 'system'" >&2
10+
echo "phpenv: to reset your personal $HOME/.pearrc just rename (remove) it" >&2
11+
exit 1
12+
fi
813

9-
PHPENV_ROOT="${PHPENV_ROOT:-$(phpenv root)}"
14+
PHP_PEAR_PHP_BIN="$(phpenv which php)"
15+
export PHP_PEAR_PHP_BIN
1016

1117
mkdir -p "$HOME/pear"
1218

13-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/etc/conf.d"
14-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/docs"
15-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/cfg"
16-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/data"
17-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/tests"
18-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/www"
19-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/php/man"
20-
mkdir -p "${PHPENV_ROOT}/versions/$(phpenv version-name)/etc/pearkeys"
19+
mkdir -p "$(phpenv prefix)/etc/conf.d"
20+
mkdir -p "$(phpenv prefix)/docs"
21+
mkdir -p "$(phpenv prefix)/cfg"
22+
mkdir -p "$(phpenv prefix)/data"
23+
mkdir -p "$(phpenv prefix)/tests"
24+
mkdir -p "$(phpenv prefix)/www"
25+
mkdir -p "$(phpenv prefix)/etc/pearkeys"
2126

2227
pear config-set auto_discover 1
23-
pear config-set preferred_state devel
28+
pear config-set preferred_state stable
2429

25-
pear config-set php_bin $(phpenv which php)
30+
pear config-set php_bin "$PHP_PEAR_PHP_BIN"
2631

2732
pear config-set download_dir "$HOME/pear"
28-
pear config-set php_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear"
29-
pear config-set ext_dir `$(phpenv which php-config) --extension-dir`
30-
pear config-set bin_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/bin"
31-
pear config-set doc_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/docs"
32-
pear config-set cfg_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/cfg"
33-
pear config-set data_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/data"
34-
pear config-set test_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/tests"
35-
pear config-set www_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/share/pear/www"
36-
pear config-set sig_keydir "${PHPENV_ROOT}/versions/$(phpenv version-name)/etc/pearkeys"
33+
pear config-set php_dir "$(phpenv prefix)/share/pear"
34+
pear config-set ext_dir "$($(phpenv which php-config) --extension-dir)"
35+
pear config-set bin_dir "$(phpenv prefix)/bin"
36+
pear config-set doc_dir "$(phpenv prefix)/docs"
37+
pear config-set cfg_dir "$(phpenv prefix)/cfg"
38+
pear config-set data_dir "$(phpenv prefix)/data"
39+
pear config-set test_dir "$(phpenv prefix)/tests"
40+
pear config-set www_dir "$(phpenv prefix)/www"
41+
pear config-set sig_keydir "$(phpenv prefix)/etc/pearkeys"
42+
43+
_version="$(phpenv which php-config) --version"
3744

3845
# Does not work on PHP 5.x
39-
if [ "$(echo `$(phpenv which php-config) --version` | cut -d '.' -f 1)" != "5" ]; then
40-
pear config-set man_dir "${PHPENV_ROOT}/versions/$(phpenv version-name)/php/man"
46+
if [ "$(echo "$_version" | cut -d '.' -f 1)" != "5" ]; then
47+
mkdir -p "$(phpenv prefix)/man"
48+
pear config-set man_dir "$(phpenv prefix)/man"
4149
fi
4250

43-
pear config-set php_ini "${PHPENV_ROOT}/versions/$(phpenv version-name)/etc/php.ini"
51+
unset _version
4452

53+
pear config-set php_ini "$(phpenv prefix)/etc/php.ini"
4554
pecl channel-update pecl.php.net || true

0 commit comments

Comments
 (0)