Files
runner-images/images/linux/scripts/installers/homebrew.sh
Aleksandr Chebotov b04de88f6e [Ubuntu] Install zstd homebrew (#3181)
* install zstd using brew

* fix typo

* remove Run-Command

* replace to Take-OutputPart

* create zstd symlinks
2021-04-14 19:34:49 +03:00

41 lines
1.6 KiB
Bash

#!/bin/bash -e
################################################################################
## File: homebrew.sh
## Desc: Installs the Homebrew on Linux
## Caveat: Brew MUST NOT be used to install any tool during the image build to avoid dependencies, which may come along with the tool
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/install.sh
# Install the Homebrew on Linux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
# Update /etc/environemnt
## Put HOMEBREW_* variables
brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment
# add brew executables locations to PATH
brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/')
prependEtcEnvironmentPath "$brew_path"
setEtcEnvironmentVariable HOMEBREW_NO_AUTO_UPDATE 1
setEtcEnvironmentVariable HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS 3650
# Validate the installation ad hoc
echo "Validate the installation reloading /etc/environment"
reloadEtcEnvironment
# Install additional brew packages
brew_packages=$(get_toolset_value .brew[].name)
for package in $brew_packages; do
echo "Install $package"
brew install $package
# create symlinks for zstd in /usr/local/bin
if [[ $package == "zstd" ]]; then
find $(brew --prefix)/bin -name *zstd* -exec sudo sh -c 'ln -s {} /usr/local/bin/$(basename {})' ';'
fi
done
invoke_tests "Tools" "Homebrew"