Update README and licensing information

This commit is contained in:
Shivam Mathur
2020-07-20 11:50:58 +05:30
parent d2f865c91a
commit 25d9bbc737
5 changed files with 76 additions and 40 deletions

View File

@ -8,8 +8,14 @@ Param (
# Function to log result of a operation.
Function Add-Log($mark, $subject, $message) {
$code = if ($mark -eq $cross) { "31" } else { "32" }
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" $code $mark $subject $message
if ($mark -eq $tick) {
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $mark $subject $message
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "ioncube" "Click to read the ioncube loader license information"
Get-Content $ext_dir\ioncube\LICENSE.txt
Write-Output "::endgroup::"
} else {
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "31" $mark $subject $message
}
}
$tick = ([char]8730)
@ -36,7 +42,7 @@ try {
Copy-Item $ext_dir\ioncube\ioncube_loader_win_$version.dll $ext_dir\php_ioncube.dll
}
"zend_extension=$ext_dir\php_ioncube.dll`r`n" + (Get-Content $php_dir\php.ini -Raw) | Set-Content $php_dir\php.ini
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $tick "ioncube" $status
Add-Log $tick "ioncube" $status
} catch {
Add-Log $cross "ioncube" "Could not install ioncube on PHP $($installed.FullVersion)"
}

View File

@ -5,6 +5,9 @@ add_log() {
message=$3
if [ "$mark" = "$tick" ]; then
printf "\033[32;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "$message"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "ioncube" "Click to read the ioncube loader license information"
cat /tmp/ioncube/LICENSE.txt
echo "::endgroup::"
else
printf "\033[31;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "$message"
fi
@ -18,7 +21,7 @@ check_extension() {
# Function to install ioncube.
install_ioncube() {
if [ ! -e $ext_dir/ioncube.so ]; then
if [ ! -e "$ext_dir/ioncube.so" ]; then
os_name='lin'
status='Installed and enabled'
[ "$(uname -s)" = "Darwin" ] && os_name='mac'

View File

@ -11,35 +11,58 @@ Param (
$version
)
# Function to log result of a operation.
Function Add-Log($mark, $subject, $message) {
if ($mark -eq $tick) {
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $mark $subject $message
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" $extension "Click to read the $extension related license information"
printf "Oracle Instant Client package is required for %s extension.\n" $extension
printf "It is provided under the Oracle Technology Network Development and Distribution License.\n"
printf "Refer to: \033[35;1m%s \033[0m\n" "https://www.oracle.com/downloads/licenses/instant-client-lic.html"
Write-Output "::endgroup::"
} else {
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "31" $mark $subject $message
}
}
$tick = ([char]8730)
$cross = ([char]10007)
$php_dir = 'C:\tools\php'
$status = 'Enabled'
if($env:RUNNER -eq 'self-hosted') { $php_dir = "$php_dir$version" }
$ext_dir = "$php_dir\ext"
if(-not(Test-Path $php_dir\oci.dll)) {
$suffix = 'windows'
if(-not([Environment]::Is64BitOperatingSystem) -or $version -lt '7.0') {
$suffix = 'nt'
$installed = Get-Php -Path $php_dir
try
{
if (-not(Test-Path $php_dir\oci.dll)) {
$suffix = 'windows'
if (-not([Environment]::Is64BitOperatingSystem) -or $version -lt '7.0')
{
$suffix = 'nt'
}
Invoke-WebRequest -UseBasicParsing -Uri https://download.oracle.com/otn_software/nt/instantclient/instantclient-basiclite-$suffix.zip -OutFile $php_dir\instantclient.zip
Expand-Archive -Path $php_dir\instantclient.zip -DestinationPath $php_dir -Force
Copy-Item $php_dir\instantclient*\* $php_dir
}
Invoke-WebRequest -UseBasicParsing -Uri https://download.oracle.com/otn_software/nt/instantclient/instantclient-basiclite-$suffix.zip -OutFile $php_dir\instantclient.zip
Expand-Archive -Path $php_dir\instantclient.zip -DestinationPath $php_dir -Force
Copy-Item $php_dir\instantclient*\* $php_dir
if ($extension -eq "pdo_oci") {
Enable-PhpExtension pdo_oci -Path $php_dir
} else {
$status = 'Installed and enabled'
$ociVersion = '2.2.0'
if ($version -eq '7.0')
{
$ociVersion = '2.1.8'
}
elseif ($version -lt '7.0')
{
$ociVersion = '2.0.12'
}
$ociUrl = Get-PeclArchiveUrl oci8 $ociVersion $installed
Invoke-WebRequest -UseBasicParsing -Uri $ociUrl -OutFile $php_dir\oci8.zip
Expand-Archive -Path $php_dir\oci8.zip -DestinationPath $ext_dir -Force
Add-Content -Value "`r`nextension=php_oci8.dll" -Path $php_dir\php.ini
}
Add-Log $tick $extension $status
} catch {
Add-Log $cross $extension "Could not install $extension on PHP $($installed.FullVersion)"
}
if ($extension -eq "pdo_oci") {
Enable-PhpExtension pdo_oci -Path $php_dir
} else {
$ociVersion = '2.2.0'
if ($version -eq '7.0')
{
$ociVersion = '2.1.8'
}
elseif ($version -lt '7.0')
{
$ociVersion = '2.0.12'
}
$PhpVersion = Get-Php -Path $php_dir
$ociUrl = Get-PeclArchiveUrl oci8 $ociVersion $phpVersion
Invoke-WebRequest -UseBasicParsing -Uri $ociUrl -OutFile $php_dir\oci8.zip
Expand-Archive -Path $php_dir\oci8.zip -DestinationPath $ext_dir -Force
Add-Content -Value "`r`nextension=php_oci8.dll" -Path $php_dir\php.ini
}
printf "\033[%s;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "32" $tick $extension "Enabled"

View File

@ -5,6 +5,11 @@ add_log() {
message=$3
if [ "$mark" = "$tick" ]; then
printf "\033[32;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "$message"
printf "::group::\033[34;1m%s \033[0m\033[90;1m%s \033[0m\n" "$ext" "Click to read the $ext related license information"
printf "Oracle Instant Client package is required for %s extension.\n" "$ext"
printf "It is provided under the Oracle Technology Network Development and Distribution License.\n"
printf "Refer to: \033[35;1m%s \033[0m\n" "https://www.oracle.com/downloads/licenses/instant-client-lic.html"
echo "::endgroup::"
else
printf "\033[31;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "$message"
fi
@ -102,6 +107,7 @@ install_dependencies() {
install_extension() {
if ! [ -e "$ext_dir/$ext.so" ]; then
(
status='Installed and enabled'
phpize_orig=$(get_phpize)
tag=$(get_tag)
get_php
@ -121,6 +127,7 @@ ext=$1
version=$2
tick='✓'
cross='✗'
status='Enabled'
oracle_home='/opt/oracle'
oracle_client=$oracle_home/instantclient
runner="${runner:-github}" && RUNNER="${RUNNER:-github}"
@ -130,4 +137,4 @@ ext_dir=$(php -i | grep "extension_dir => /" | sed -e "s|.*=> s*||")
install_client >/dev/null 2>&1
install_dependencies >/dev/null 2>&1
install_extension >/dev/null 2>&1
(check_extension "$ext" && add_log "$tick" "$ext" "Installed and enabled") || add_log "$cross" "$ext" "Could not install $ext"
(check_extension "$ext" && add_log "$tick" "$ext" "$status") || add_log "$cross" "$ext" "Could not install $ext"