From 582ce875fbc411ac6cb144b02c250f615b24d6e3 Mon Sep 17 00:00:00 2001
From: "T. R. Bernstein" <137705289+trbernstein@users.noreply.github.com>
Date: Sat, 29 Jun 2024 01:54:15 +0200
Subject: [PATCH] Use single script for brew periodic tasks
---
modules/03-install-brew.sh | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/modules/03-install-brew.sh b/modules/03-install-brew.sh
index 7a86df1..7650c75 100755
--- a/modules/03-install-brew.sh
+++ b/modules/03-install-brew.sh
@@ -120,10 +120,25 @@ function createBrewCallerScript() {
umask 002
"$(getHomebrewRepositoryPath)/bin/brew" "\$@"
BREWCALLER
- chown ${username}:admin ${brewCallerPath}
+ chown root:admin ${brewCallerPath}
chmod ug+x,o-x ${brewCallerPath}
}
+function createBrewPeriodicScript() {
+ ensureLocalBinFolder
+ local scriptPath="/usr/local/bin/brew-periodic"
+ [ -f "${scriptPath}" ] && rm "${scriptPath}"
+ cat <<- BREWCALLER > ${scriptPath}
+ #!/usr/bin/env zsh
+ local brew='/usr/local/bin/brew'
+ \$brew update
+ \$brew upgrade --greedy
+ \$brew cleanup
+ BREWCALLER
+ chown root:admin ${scriptPath}
+ chmod ug=rx,o=r ${scriptPath}
+}
+
function installHomebrewCore() {
export NONINTERACTIVE=1
[ ! -d $(getHomebrewRepositoryPath) ] || return
@@ -146,8 +161,7 @@ function createLaunchDaemonsPlist() {
${launcherName}
ProgramArguments
- /usr/local/bin/brew
- ${brewCommand}
+ /usr/local/bin/brew-periodic
StartInterval
1800
@@ -166,8 +180,7 @@ function createLaunchDaemonsPlist() {
}
function installHomebrewUpdater() {
- createLaunchDaemonsPlist brew-updater update
- createLaunchDaemonsPlist brew-upgrader upgrade
+ createLaunchDaemonsPlist brew-periodic
return
}
@@ -180,7 +193,8 @@ function configure_system() {
ensureHomebrewLogDirectory || return 14
indicateActivity 'Install Homebrew core' installHomebrewCore || return 15
indicateActivity 'Create brew caller script' createBrewCallerScript || return 16
- indicateActivity 'Install Homebrew updater' installHomebrewUpdater || return 17
+ indicateActivity 'Create brew periodic script' createBrewPeriodicScript || return 17
+ indicateActivity 'Install Homebrew updater' installHomebrewUpdater || return 18
}
function getExecPrerequisites() {