mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 23:36:21 +07:00 
			
		
		
		
	Improve PECL support
This commit is contained in:
		
							
								
								
									
										8
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -2882,7 +2882,7 @@ async function addExtensionDarwin(extension_csv, version) { | |||||||
|                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'darwin'); |                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'darwin'); | ||||||
|                 return; |                 return; | ||||||
|             // match pre-release versions. For example - xdebug-beta |             // match pre-release versions. For example - xdebug-beta | ||||||
|             case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |             case /.*-(stable|beta|alpha|devel|snapshot|rc|preview)/.test(version_extension): | ||||||
|                 add_script += await utils.joins('\nadd_unstable_extension', ext_name, ext_version, ext_prefix); |                 add_script += await utils.joins('\nadd_unstable_extension', ext_name, ext_version, ext_prefix); | ||||||
|                 return; |                 return; | ||||||
|             // match semver |             // match semver | ||||||
| @ -2948,8 +2948,8 @@ async function addExtensionWindows(extension_csv, version) { | |||||||
|                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'win32'); |                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'win32'); | ||||||
|                 return; |                 return; | ||||||
|             // match pre-release versions. For example - xdebug-beta |             // match pre-release versions. For example - xdebug-beta | ||||||
|             case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |             case /.*-(stable|beta|alpha|devel|snapshot)/.test(version_extension): | ||||||
|                 add_script += await utils.joins('\nAdd-Extension', ext_name, ext_version); |                 add_script += await utils.joins('\nAdd-Extension', ext_name, ext_version.replace('stable', '')); | ||||||
|                 break; |                 break; | ||||||
|             // match semver without state |             // match semver without state | ||||||
|             case /.*-\d+\.\d+\.\d+$/.test(version_extension): |             case /.*-\d+\.\d+\.\d+$/.test(version_extension): | ||||||
| @ -3029,7 +3029,7 @@ async function addExtensionLinux(extension_csv, version) { | |||||||
|                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'linux'); |                 add_script += await utils.customPackage(ext_name, 'ext', extension, 'linux'); | ||||||
|                 return; |                 return; | ||||||
|             // match pre-release versions. For example - xdebug-beta |             // match pre-release versions. For example - xdebug-beta | ||||||
|             case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |             case /.*-(stable|beta|alpha|devel|snapshot|rc|preview)/.test(version_extension): | ||||||
|                 add_script += await utils.joins('\nadd_unstable_extension', ext_name, ext_version, ext_prefix); |                 add_script += await utils.joins('\nadd_unstable_extension', ext_name, ext_version, ext_prefix); | ||||||
|                 return; |                 return; | ||||||
|             // match semver versions |             // match semver versions | ||||||
|  | |||||||
| @ -43,7 +43,9 @@ export async function addExtensionDarwin( | |||||||
|         ); |         ); | ||||||
|         return; |         return; | ||||||
|       // match pre-release versions. For example - xdebug-beta |       // match pre-release versions. For example - xdebug-beta | ||||||
|       case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |       case /.*-(stable|beta|alpha|devel|snapshot|rc|preview)/.test( | ||||||
|  |         version_extension | ||||||
|  |       ): | ||||||
|         add_script += await utils.joins( |         add_script += await utils.joins( | ||||||
|           '\nadd_unstable_extension', |           '\nadd_unstable_extension', | ||||||
|           ext_name, |           ext_name, | ||||||
| @ -135,11 +137,11 @@ export async function addExtensionWindows( | |||||||
|         ); |         ); | ||||||
|         return; |         return; | ||||||
|       // match pre-release versions. For example - xdebug-beta |       // match pre-release versions. For example - xdebug-beta | ||||||
|       case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |       case /.*-(stable|beta|alpha|devel|snapshot)/.test(version_extension): | ||||||
|         add_script += await utils.joins( |         add_script += await utils.joins( | ||||||
|           '\nAdd-Extension', |           '\nAdd-Extension', | ||||||
|           ext_name, |           ext_name, | ||||||
|           ext_version |           ext_version.replace('stable', '') | ||||||
|         ); |         ); | ||||||
|         break; |         break; | ||||||
|       // match semver without state |       // match semver without state | ||||||
| @ -246,7 +248,9 @@ export async function addExtensionLinux( | |||||||
|         ); |         ); | ||||||
|         return; |         return; | ||||||
|       // match pre-release versions. For example - xdebug-beta |       // match pre-release versions. For example - xdebug-beta | ||||||
|       case /.*-(beta|alpha|devel|snapshot)/.test(version_extension): |       case /.*-(stable|beta|alpha|devel|snapshot|rc|preview)/.test( | ||||||
|  |         version_extension | ||||||
|  |       ): | ||||||
|         add_script += await utils.joins( |         add_script += await utils.joins( | ||||||
|           '\nadd_unstable_extension', |           '\nadd_unstable_extension', | ||||||
|           ext_name, |           ext_name, | ||||||
|  | |||||||
| @ -112,7 +112,7 @@ enable_extension() { | |||||||
|  |  | ||||||
| # Function to configure PECL. | # Function to configure PECL. | ||||||
| configure_pecl() { | configure_pecl() { | ||||||
|   if ! [ -e /tmp/pecl_config ] && command -v pecl >/dev/null; then |   if ! [ -e /tmp/pecl_config ] && command -v pecl >/dev/null && command -v pear >/dev/null; then | ||||||
|     for script in pear pecl; do |     for script in pear pecl; do | ||||||
|       sudo "$script" config-set php_ini "${pecl_file:-$ini_file}" |       sudo "$script" config-set php_ini "${pecl_file:-$ini_file}" | ||||||
|       sudo "$script" channel-update "$script".php.net |       sudo "$script" channel-update "$script".php.net | ||||||
| @ -124,7 +124,7 @@ configure_pecl() { | |||||||
| # Function to get the PECL version of an extension. | # Function to get the PECL version of an extension. | ||||||
| get_pecl_version() { | get_pecl_version() { | ||||||
|   extension=$1 |   extension=$1 | ||||||
|   stability="$(echo "$2" | grep -m 1 -Eio "(alpha|beta|rc|snapshot|preview)")" |   stability="$(echo "$2" | grep -m 1 -Eio "(stable|alpha|beta|rc|snapshot|preview)")" | ||||||
|   pecl_rest='https://pecl.php.net/rest/r/' |   pecl_rest='https://pecl.php.net/rest/r/' | ||||||
|   response=$(get -s -n "" "$pecl_rest$extension"/allreleases.xml) |   response=$(get -s -n "" "$pecl_rest$extension"/allreleases.xml) | ||||||
|   pecl_version=$(echo "$response" | grep -m 1 -Eio "([0-9]+\.[0-9]+\.[0-9]+${stability}[0-9]+)") |   pecl_version=$(echo "$response" | grep -m 1 -Eio "([0-9]+\.[0-9]+\.[0-9]+${stability}[0-9]+)") | ||||||
| @ -137,6 +137,7 @@ get_pecl_version() { | |||||||
| # Function to install PECL extensions and accept default options | # Function to install PECL extensions and accept default options | ||||||
| pecl_install() { | pecl_install() { | ||||||
|   local extension=$1 |   local extension=$1 | ||||||
|  |   configure_pecl >/dev/null 2>&1 | ||||||
|   yes '' 2>/dev/null | sudo pecl install -f "$extension" >/dev/null 2>&1 |   yes '' 2>/dev/null | sudo pecl install -f "$extension" >/dev/null 2>&1 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -138,7 +138,6 @@ setup_php() { | |||||||
|   scan_dir=$(php --ini | grep additional | sed -e "s|.*: s*||") |   scan_dir=$(php --ini | grep additional | sed -e "s|.*: s*||") | ||||||
|   sudo mkdir -m 777 -p "$ext_dir" "$HOME/.composer" |   sudo mkdir -m 777 -p "$ext_dir" "$HOME/.composer" | ||||||
|   semver=$(php -v | head -n 1 | cut -f 2 -d ' ') |   semver=$(php -v | head -n 1 | cut -f 2 -d ' ') | ||||||
|   if [[ ! "$version" =~ $old_versions ]]; then configure_pecl >/dev/null 2>&1; fi |  | ||||||
|   sudo cp "$dist"/../src/configs/*.json "$RUNNER_TOOL_CACHE/" |   sudo cp "$dist"/../src/configs/*.json "$RUNNER_TOOL_CACHE/" | ||||||
|   add_log "$tick" "PHP" "$status PHP $semver" |   add_log "$tick" "PHP" "$status PHP $semver" | ||||||
| } | } | ||||||
|  | |||||||
| @ -160,9 +160,7 @@ add_devtools() { | |||||||
|   fi |   fi | ||||||
|   sudo update-alternatives --set php-config /usr/bin/php-config"$version" >/dev/null 2>&1 |   sudo update-alternatives --set php-config /usr/bin/php-config"$version" >/dev/null 2>&1 | ||||||
|   sudo update-alternatives --set phpize /usr/bin/phpize"$version" >/dev/null 2>&1 |   sudo update-alternatives --set phpize /usr/bin/phpize"$version" >/dev/null 2>&1 | ||||||
|   if command -v pecl >/dev/null; then |  | ||||||
|   configure_pecl >/dev/null 2>&1 |   configure_pecl >/dev/null 2>&1 | ||||||
|   fi |  | ||||||
|   add_log "${tick:?}" "$tool" "Added $tool $semver" |   add_log "${tick:?}" "$tool" "Added $tool $semver" | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -174,7 +172,6 @@ setup_nightly() { | |||||||
| # Function to setup PHP 5.3, PHP 5.4 and PHP 5.5. | # Function to setup PHP 5.3, PHP 5.4 and PHP 5.5. | ||||||
| setup_old_versions() { | setup_old_versions() { | ||||||
|   run_script "php5-ubuntu" "$version" |   run_script "php5-ubuntu" "$version" | ||||||
|   configure_pecl |  | ||||||
|   release_version=$(php -v | head -n 1 | cut -d' ' -f 2) |   release_version=$(php -v | head -n 1 | cut -d' ' -f 2) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Shivam Mathur
					Shivam Mathur