Add blackfire to linux install

Add logging about install process

Fix formating of semversion blackfire

Only add version when needed

Pass phpversion
This commit is contained in:
Jaapio
2020-02-25 22:09:10 +01:00
parent 03fd0b8719
commit dc9461a053
6 changed files with 85 additions and 0 deletions

View File

@ -155,6 +155,20 @@ export async function addExtensionLinux(
const prefix = await utils.getExtensionPrefix(ext_name);
let install_command = '';
switch (true) {
// match blackfire... blackfire-1.31.0
case /^blackfire(-\d+\.\d+\.\d+)?$/.test(extension):
script +=
'\nsh ' +
path.join(__dirname, '../src/scripts/ext/blackfire.sh') +
' ' +
version +
' ' +
(await utils.getMinorVersion(version)).replace('.', '');
if (ext_version) {
script += ' ' + ext_version;
}
return;
// match pre-release versions
case /.*-(beta|alpha|devel|snapshot)/.test(version_extension):
script +=

View File

@ -0,0 +1,23 @@
add_log() {
mark=$1
subject=$2
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"
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
}
phpversion=$2
blackfireVersion=${3:-1.31.0}
ini_file="/etc/php/$1/cli/conf.d/50-blackfire.ini"
tick="✓"
cross="✗"
(curl -A "Github action" -o /tmp/blackfire.so -L -s https://packages.blackfire.io/binaries/blackfire-php/$blackfireVersion/blackfire-php-linux_amd64-php-$phpversion.so >/dev/null 2>&1 && \
sudo mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so >/dev/null 2>&1 && \
echo "extension=blackfire.so" | sudo tee -a "$ini_file" >/dev/null 2>&1 && \
add_log "$tick" "blackfire" "Installed and enabled") || \
add_log "$cross" "blackfire" "Could not install blackfire"

View File

@ -261,3 +261,14 @@ export async function suppressOutput(os_version: string): Promise<string> {
);
}
}
export async function getMinorVersion(version: string): Promise<string> {
const regex = /^\d+\.\d+/;
const match = version.match(regex);
if (match === null) {
return version;
}
return match[0];
}