mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-20 04:26:25 +00:00
feat: add brew-update-service-install
This commit is contained in:
+9
-3
@@ -160,7 +160,7 @@ __bootstrap_webi() {
|
||||
webi_download() {
|
||||
# determine the url to download
|
||||
if [ -n "${1-}" ]; then
|
||||
my_url="$1"
|
||||
my_url="${1}"
|
||||
else
|
||||
if [ "error" = "$WEBI_CHANNEL" ]; then
|
||||
# TODO pass back requested OS / Arch / Version
|
||||
@@ -177,11 +177,17 @@ __bootstrap_webi() {
|
||||
|
||||
# determine the location to download to
|
||||
if [ -n "${2-}" ]; then
|
||||
my_dl="$2"
|
||||
my_dl="${2}"
|
||||
else
|
||||
my_dl="${WEBI_PKG_PATH}/$WEBI_PKG_FILE"
|
||||
fi
|
||||
|
||||
if [ -n "${3-}" ]; then
|
||||
my_dl_name="${3}"
|
||||
else
|
||||
my_dl_name="${PKG_NAME}"
|
||||
fi
|
||||
|
||||
WEBI_PKG_DOWNLOAD="${my_dl}"
|
||||
export WEBI_PKG_DOWNLOAD
|
||||
|
||||
@@ -190,7 +196,7 @@ __bootstrap_webi() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Downloading $PKG_NAME from"
|
||||
echo "Downloading ${my_dl_name} from"
|
||||
echo "$my_url"
|
||||
|
||||
# It's only 2020, we can't expect to have reliable CLI tools
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
|
||||
main() { (
|
||||
sed '1,/^#~\/.local\/bin\/brew-updater/d' "${0}" > ~/.local/bin/brew-update-hourly
|
||||
chmod a+x ~/.local/bin/brew-update-hourly
|
||||
|
||||
env PATH="$PATH" serviceman add --user \
|
||||
--name sh.brew.updater -- \
|
||||
~/.local/bin/brew-update-hourly
|
||||
); }
|
||||
|
||||
if main; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#~/.local/bin/brew-updater
|
||||
#!/bin/sh
|
||||
#set -e
|
||||
set -u
|
||||
|
||||
if test -e ~/.config/envman/PATH.env; then
|
||||
# shellcheck disable=SC1090
|
||||
. ~/.config/envman/PATH.env
|
||||
fi
|
||||
|
||||
while true; do
|
||||
my_start="$(date '+%s')"
|
||||
|
||||
my_date="$(date '+%F %T')"
|
||||
echo "[$my_date] Updating brew..."
|
||||
brew update
|
||||
echo ''
|
||||
|
||||
my_end="$(date '+%s')"
|
||||
my_elapsed="$((my_end - my_start))"
|
||||
my_date="$(date '+%F %T')"
|
||||
echo "[$my_date] Updated in ${my_elapsed}s."
|
||||
|
||||
echo "[$my_date] Cleaning up..."
|
||||
brew cleanup
|
||||
|
||||
echo "[$my_date] Waiting 24 hours..."
|
||||
my_wait="$((24 * 60 * 60))"
|
||||
sleep "$my_wait"
|
||||
done
|
||||
+16
-5
@@ -7,9 +7,9 @@ _install_brew() {
|
||||
# Straight from https://brew.sh
|
||||
#/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
||||
|
||||
if [ "Darwin" = "$(uname -s)" ]; then
|
||||
if test "Darwin" = "$(uname -s)"; then
|
||||
needs_xcode="$(/usr/bin/xcode-select -p > /dev/null 2> /dev/null || echo "true")"
|
||||
if [ -n "${needs_xcode}" ]; then
|
||||
if test -n "${needs_xcode}"; then
|
||||
echo ""
|
||||
echo ""
|
||||
echo "ERROR: Run this command to install XCode Command Line Tools first:"
|
||||
@@ -20,11 +20,11 @@ _install_brew() {
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
if [ -z "$(command -v gcc)" ]; then
|
||||
if ! command -v gcc > /dev/null; then
|
||||
echo >&2 "Warning: to install 'gcc' et al on Linux use the built-in package manager."
|
||||
echo >&2 " For example, try: sudo apt install -y build-essential"
|
||||
fi
|
||||
if [ -z "$(command -v git)" ]; then
|
||||
if ! command -v git > /dev/null; then
|
||||
echo >&2 "Error: to install 'git' on Linux use the built-in package manager."
|
||||
echo >&2 " For example, try: sudo apt install -y git"
|
||||
exit 1
|
||||
@@ -32,7 +32,7 @@ _install_brew() {
|
||||
fi
|
||||
|
||||
# From Straight from https://brew.sh
|
||||
if ! [ -d "$HOME/.local/opt/brew" ]; then
|
||||
if ! test -d "$HOME/.local/opt/brew"; then
|
||||
echo "Installing to '$HOME/.local/opt/brew'"
|
||||
echo ""
|
||||
echo "If you prefer to have brew installed to '/usr/local' cancel now and do the following:"
|
||||
@@ -44,6 +44,13 @@ _install_brew() {
|
||||
git clone --depth=1 https://github.com/Homebrew/brew "$HOME/.local/opt/brew"
|
||||
fi
|
||||
|
||||
rm -rf "$HOME/.local/bin/brew-update-service-install"
|
||||
webi_download \
|
||||
"$WEBI_HOST/packages/brew/brew-update-service-install" \
|
||||
"$HOME/.local/bin/brew-update-service-install" \
|
||||
brew-update-service-install
|
||||
chmod a+x "$HOME/.local/bin/brew-update-service-install"
|
||||
|
||||
webi_path_add "$HOME/.local/opt/brew/bin"
|
||||
export PATH="$HOME/.local/opt/brew/bin:$PATH"
|
||||
|
||||
@@ -60,6 +67,10 @@ _install_brew() {
|
||||
# shellcheck disable=2016
|
||||
echo ' /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"'
|
||||
echo ""
|
||||
|
||||
echo "To register 'brew update' as a hourly system service:"
|
||||
echo " brew-update-service-install"
|
||||
echo ""
|
||||
}
|
||||
|
||||
_install_brew
|
||||
|
||||
Reference in New Issue
Block a user