add Homebrew on Linux (#589)

* Add homebrew installation and validation scripts

* Update `/etc/environment` in `updatepath.sh` script

Keep this code for sake of compatibility with the existing installation logic. It will be changed in its own PR

* Remove env. variables from homebrew validation task

* Move reboot to the dedicated script and task

Co-authored-by: Sergey Dolin <v-sedoli@micorosoft.com>
This commit is contained in:
Sergey Dolin
2020-04-10 14:20:16 +05:00
committed by GitHub
parent 14491c1a23
commit e1fb068300
8 changed files with 186 additions and 3 deletions

View File

@@ -0,0 +1,36 @@
#!/bin/bash
################################################################################
## File: homebrew.sh
## Desc: Installs the Homebrew on Linux
################################################################################
# Source the helpers
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/etc-environment.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)
# Make brew files and directories writable by any user
sudo chmod -R o+w $HOMEBREW_PREFIX
# 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/')
addEtcEnvironmentPathElement "$brew_path"
# Validate the installation ad hoc
echo "Validate the installation reloading /etc/environment"
reloadEtcEnvironment
if ! command -v brew; then
echo "brew was not installed"
exit 1
fi
# Document the installed version
echo "Document the installed version"
DocumentInstalledItem "Homebrew on Linux ($(brew -v 2>&1))"