Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85c85a5e80 | ||
|
|
b83ecf6516 | ||
|
|
3889930672 | ||
|
|
856f51422a | ||
|
|
433ad04028 | ||
|
|
605190577f | ||
|
|
c9c7f46e4a | ||
|
|
f8a779e926 | ||
|
|
e6f991baca | ||
|
|
ae6ab46fa7 | ||
|
|
45a6c5d1b0 | ||
|
|
1bb6ef39a5 | ||
|
|
1416aa2f0a | ||
|
|
b6cddae599 | ||
|
|
e533bf04be | ||
|
|
5455a76d14 | ||
|
|
5569fdb345 | ||
|
|
8f2173c938 | ||
|
|
4f1ed26934 | ||
|
|
b7c89266f6 |
@@ -1 +1 @@
|
|||||||
2.7.1
|
3.0.0
|
||||||
|
|||||||
28
CHANGES.adoc
28
CHANGES.adoc
@@ -1,5 +1,33 @@
|
|||||||
= Changes
|
= Changes
|
||||||
|
|
||||||
|
== 11.1.0 (2021-01-03)
|
||||||
|
|
||||||
|
* Added caffeination to restore process - Brooke Kuhlmann
|
||||||
|
* Updated boot disk instructions for main disk format - Brooke Kuhlmann
|
||||||
|
* Updated troubleshooting documentation - Brooke Kuhlmann
|
||||||
|
* Removed README Startup Security Utility documentation - Brooke Kuhlmann
|
||||||
|
|
||||||
|
== 11.0.0 (2020-12-30)
|
||||||
|
|
||||||
|
* Fixed Circle CI configuration for Bundler config path - Brooke Kuhlmann
|
||||||
|
* Added Circle CI explicit Bundle install configuration - Brooke Kuhlmann
|
||||||
|
* Updated to Git Lint 2.0.0 - Brooke Kuhlmann
|
||||||
|
* Updated to Ruby 3.0.0 - Brooke Kuhlmann
|
||||||
|
|
||||||
|
== 10.0.0 (2020-11-15)
|
||||||
|
|
||||||
|
* Added macOS Big Sur support
|
||||||
|
* Updated project documentation to conform to Rubysmith template
|
||||||
|
* Updated to Git Lint 1.3.0
|
||||||
|
* Updated to Ruby 2.7.2
|
||||||
|
|
||||||
|
== 9.0.0 (2020-09-12)
|
||||||
|
|
||||||
|
* Fixed Homebrew cask verifier deprecation warning
|
||||||
|
* Removed Homebrew Mecurial formula verification check
|
||||||
|
* Removed unnecessary verifier code comments
|
||||||
|
* Refactored utility basename and extension utilities
|
||||||
|
|
||||||
== 8.2.0 (2020-07-22)
|
== 8.2.0 (2020-07-22)
|
||||||
|
|
||||||
* Fixed project requirements
|
* Fixed project requirements
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ an appointed representative at an online or offline event.
|
|||||||
== Enforcement
|
== Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community
|
||||||
leaders responsible for enforcement at link:mailto:brooke@alchemists.io?subject=Conduct[Alchemists].
|
leaders responsible for enforcement at link:mailto:brooke@alchemists.io?subject=Conduct[Brooke Kuhlmann].
|
||||||
|
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and security of the reporter of any
|
All community leaders are obligated to respect the privacy and security of the reporter of any
|
||||||
@@ -102,7 +103,7 @@ disparagement of classes of individuals.
|
|||||||
|
|
||||||
This Code of Conduct is adapted from the
|
This Code of Conduct is adapted from the
|
||||||
link:https://www.contributor-covenant.org/version/2/0/code_of_conduct.html[Contributor Covenant,
|
link:https://www.contributor-covenant.org/version/2/0/code_of_conduct.html[Contributor Covenant,
|
||||||
version 2.0].
|
Version 2.0].
|
||||||
|
|
||||||
Community Impact Guidelines were inspired by link:https://github.com/mozilla/diversity[Mozilla's
|
Community Impact Guidelines were inspired by link:https://github.com/mozilla/diversity[Mozilla's
|
||||||
code of conduct enforcement ladder].
|
code of conduct enforcement ladder].
|
||||||
|
|||||||
2
Gemfile
2
Gemfile
@@ -3,4 +3,4 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "rake", "~> 13.0"
|
gem "rake", "~> 13.0"
|
||||||
gem "git-lint", "~> 1.0"
|
gem "git-lint", "~> 2.0"
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ additional liability.
|
|||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
Copyright link:https://www.alchemists.io[Alchemists].
|
Copyright 2016 link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
||||||
compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]
|
compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]
|
||||||
|
|||||||
70
README.adoc
70
README.adoc
@@ -46,30 +46,18 @@ image::https://www.alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,
|
|||||||
|
|
||||||
== Requirements
|
== Requirements
|
||||||
|
|
||||||
. link:https://www.apple.com/macos/catalina[macOS]
|
. link:https://www.apple.com/macos/big-sur[macOS Big Sur]
|
||||||
. link:https://developer.apple.com/xcode[Xcode]
|
. link:https://developer.apple.com/xcode[Xcode]
|
||||||
|
|
||||||
== Setup
|
== Setup
|
||||||
|
|
||||||
=== Production
|
|
||||||
|
|
||||||
To install, run:
|
To install, run:
|
||||||
|
|
||||||
[source,bash]
|
[source,bash]
|
||||||
----
|
----
|
||||||
git clone https://github.com/bkuhlmann/mac_os.git
|
git clone https://github.com/bkuhlmann/mac_os.git
|
||||||
cd mac_os
|
cd mac_os
|
||||||
git checkout 8.2.0
|
git checkout 11.1.0
|
||||||
----
|
|
||||||
|
|
||||||
=== Development
|
|
||||||
|
|
||||||
To contribute, run:
|
|
||||||
|
|
||||||
[source,bash]
|
|
||||||
----
|
|
||||||
git clone https://github.com/bkuhlmann/mac_os.git
|
|
||||||
cd mac_os
|
|
||||||
----
|
----
|
||||||
|
|
||||||
== Usage
|
== Usage
|
||||||
@@ -140,8 +128,9 @@ macOS Boot Disk Usage:
|
|||||||
2. Reboot the machine.
|
2. Reboot the machine.
|
||||||
3. Hold down the OPTION key before the Apple logo appears.
|
3. Hold down the OPTION key before the Apple logo appears.
|
||||||
4. Select the USB boot disk from the menu.
|
4. Select the USB boot disk from the menu.
|
||||||
5. Use Disk Utility to format the machine's drive as "APFS (Encrypted)".
|
5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.
|
||||||
6. Install the new operating system.
|
6. Use Disk Utility to create a single "APFS" drive as a "GUID Partition Table".
|
||||||
|
7. Install the new operating system.
|
||||||
|
|
||||||
macOS Reinstall:
|
macOS Reinstall:
|
||||||
1. Click the Apple icon from the operating system main menu.
|
1. Click the Apple icon from the operating system main menu.
|
||||||
@@ -151,32 +140,6 @@ macOS Reinstall:
|
|||||||
5. Use the dialog options to launch Disk Utility, reinstall the system, etc.
|
5. Use the dialog options to launch Disk Utility, reinstall the system, etc.
|
||||||
....
|
....
|
||||||
|
|
||||||
Depending on your security settings, you might need to use the Startup
|
|
||||||
Security Utility before using the Boot Disk (see below).
|
|
||||||
|
|
||||||
=== https://support.apple.com/en-us/HT208198[Startup Security Utility]
|
|
||||||
|
|
||||||
With newer hardware, you should be running with the Apple T2 Security Chip (found via → About This
|
|
||||||
Mac → Overview → System Report → Controller). In order to boot your machine using the Boot Disk,
|
|
||||||
you’ll need to _temporarily_ disable the default security settings as follows:
|
|
||||||
|
|
||||||
* Turn on or restart your Mac, then press and hold `COMMAND + R` immediately after seeing the Apple
|
|
||||||
logo.
|
|
||||||
* Select Utilities → Startup Security Utility from the main menu.
|
|
||||||
* Click _Turn Off Firmware Password_.
|
|
||||||
* Select _Secure Boot: No Security_.
|
|
||||||
* Select _External Boot: Allow booting from external media_.
|
|
||||||
* Quit the utility and restart the machine.
|
|
||||||
|
|
||||||
You’ll now be able to boot your system with the Boot Disk (see above).
|
|
||||||
|
|
||||||
After the new operating system has been installed via the Boot Disk, _ensure you return to the
|
|
||||||
Startup Security Utility and re-enable the following settings_:
|
|
||||||
|
|
||||||
* Click _Turn On Firmware Password_.
|
|
||||||
* Select _Secure Boot: Full Security_.
|
|
||||||
* Select _External Boot: Disallow booting from external or removable media_.
|
|
||||||
|
|
||||||
=== Customization
|
=== Customization
|
||||||
|
|
||||||
All executable scripts can be found in the `bin` folder:
|
All executable scripts can be found in the `bin` folder:
|
||||||
@@ -206,6 +169,12 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
|
|||||||
|
|
||||||
== Troubleshooting
|
== Troubleshooting
|
||||||
|
|
||||||
|
* When using link:https://pi-hole.net[Pi-hole], make sure to temporarily disable prior to upgrading
|
||||||
|
as you might experience various errors with Apple not able to detect an internet connection which
|
||||||
|
prevents the installer from working.
|
||||||
|
* When using the boot disk and the installer fails in some catestrophic manner, reboot the machine
|
||||||
|
into recovery mode (i.e. `COMMAND + R`) to download and install the last operating system used.
|
||||||
|
You can also use `COMMAND + OPTION + R` to attemp to download the latest operating system.
|
||||||
* When using the boot disk, you might experience a situation where you see a black screen with a
|
* When using the boot disk, you might experience a situation where you see a black screen with a
|
||||||
white circle and diagonal line running through it. This means macOS lost or can’t find the boot
|
white circle and diagonal line running through it. This means macOS lost or can’t find the boot
|
||||||
disk for some reason. To correct this, shut down and boot up the system again while holding down
|
disk for some reason. To correct this, shut down and boot up the system again while holding down
|
||||||
@@ -213,13 +182,16 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
|
|||||||
happen a few times before releasing the keys. This will clear the system NVRAM/PRAM. At this point
|
happen a few times before releasing the keys. This will clear the system NVRAM/PRAM. At this point
|
||||||
you can shut down and restart the system following the boot disk instructions (the boot disk will
|
you can shut down and restart the system following the boot disk instructions (the boot disk will
|
||||||
be recognized now).
|
be recognized now).
|
||||||
* Sometimes, when installing XCode development tools (i.e. the `t` option), not all of the macOS
|
|
||||||
headers will be installed. This can cause issues with compiling and building native packages. For
|
== Development
|
||||||
example: `fatal error: 'stdio.h' file not found`. This can happen due to an intermittent bug with
|
|
||||||
the XCode installer. To fix this, you’ll need to install this package:
|
To contribute, run:
|
||||||
`/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`. Depending on
|
|
||||||
your system, the version might differ, so look for a `*.pkg` in the
|
[source,bash]
|
||||||
`/Library/Developer/CommandLineTools/Packages` folder.
|
----
|
||||||
|
git clone https://github.com/bkuhlmann/mac_os.git
|
||||||
|
cd mac_os
|
||||||
|
----
|
||||||
|
|
||||||
== Versioning
|
== Versioning
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,9 @@ printf " 1. Insert the USB boot disk into the machine to be upgraded.\n"
|
|||||||
printf " 2. Reboot the machine.\n"
|
printf " 2. Reboot the machine.\n"
|
||||||
printf " 3. Hold down the OPTION key before the Apple logo appears.\n"
|
printf " 3. Hold down the OPTION key before the Apple logo appears.\n"
|
||||||
printf " 4. Select the USB boot disk from the menu.\n"
|
printf " 4. Select the USB boot disk from the menu.\n"
|
||||||
printf " 5. Use Disk Utility to format the machine's drive as \"APFS (Encrypted)\".\n"
|
printf " 5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.\n"
|
||||||
printf " 6. Install the new operating system.\n"
|
printf " 6. Use Disk Utility to create a single \"APFS\" drive as a \"GUID Partition Table\".\n"
|
||||||
|
printf " 7. Install the new operating system.\n"
|
||||||
printf "\nmacOS Reinstall:\n"
|
printf "\nmacOS Reinstall:\n"
|
||||||
printf " 1. Click the Apple icon from the operating system main menu.\n"
|
printf " 1. Click the Apple icon from the operating system main menu.\n"
|
||||||
printf " 2. Select the \"Restart...\" menu option.\n"
|
printf " 2. Select the \"Restart...\" menu option.\n"
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Ruby Install
|
name: Ruby Install
|
||||||
command: |
|
command: |
|
||||||
curl https://cache.ruby-lang.org/pub/ruby/${CI_RUBY_VERSION::-2}/ruby-$CI_RUBY_VERSION.tar.bz2 > ../ruby-$CI_RUBY_VERSION.tar.gz
|
|
||||||
cd ..
|
cd ..
|
||||||
tar --extract --bzip2 --verbose --file ruby-$CI_RUBY_VERSION.tar.gz
|
curl https://cache.ruby-lang.org/pub/ruby/${CI_RUBY_VERSION::-2}/ruby-$CI_RUBY_VERSION.tar.gz > ruby-$CI_RUBY_VERSION.tar.gz
|
||||||
|
tar --extract --gzip --verbose --file ruby-$CI_RUBY_VERSION.tar.gz
|
||||||
cd ruby-$CI_RUBY_VERSION
|
cd ruby-$CI_RUBY_VERSION
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
@@ -48,7 +48,8 @@ jobs:
|
|||||||
name: Bundler Install
|
name: Bundler Install
|
||||||
command: |
|
command: |
|
||||||
gem update --system
|
gem update --system
|
||||||
bundle install --path vendor/bundle
|
bundle config set path "vendor/bundle"
|
||||||
|
bundle install
|
||||||
|
|
||||||
- type: cache-save
|
- type: cache-save
|
||||||
name: Bundler Store
|
name: Bundler Store
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ export -f install_program
|
|||||||
# Parameters: $1 (required) - Repository URL, $2 (required) - Install path, $3 (optional) - Git clone options.
|
# Parameters: $1 (required) - Repository URL, $2 (required) - Install path, $3 (optional) - Git clone options.
|
||||||
install_git_app() {
|
install_git_app() {
|
||||||
local repository_url="$1"
|
local repository_url="$1"
|
||||||
local app_name=$(get_file_name "$2")
|
local app_name=$(get_basename "$2")
|
||||||
local install_path="$2"
|
local install_path="$2"
|
||||||
local options="--quiet"
|
local options="--quiet"
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ export -f install_git_project
|
|||||||
# Parameters: $1 (required) - URL, $2 (required) - Install path.
|
# Parameters: $1 (required) - URL, $2 (required) - Install path.
|
||||||
install_file() {
|
install_file() {
|
||||||
local file_url="$1"
|
local file_url="$1"
|
||||||
local file_name=$(get_file_name "$1")
|
local file_name=$(get_basename "$1")
|
||||||
local install_path="$2"
|
local install_path="$2"
|
||||||
|
|
||||||
if [[ ! -e "$install_path" ]]; then
|
if [[ ! -e "$install_path" ]]; then
|
||||||
@@ -206,7 +206,7 @@ export -f download_file
|
|||||||
# Parameters: $1 (required) - Application source path, $2 (required) - Application name.
|
# Parameters: $1 (required) - Application source path, $2 (required) - Application name.
|
||||||
install_app() {
|
install_app() {
|
||||||
local install_root=$(get_install_root "$2")
|
local install_root=$(get_install_root "$2")
|
||||||
local file_extension=$(get_file_extension "$2")
|
local file_extension=$(get_extension "$2")
|
||||||
|
|
||||||
printf "Installing: $install_root/$2...\n"
|
printf "Installing: $install_root/$2...\n"
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ process_option() {
|
|||||||
bin/setup_software
|
bin/setup_software
|
||||||
clean_work_path;;
|
clean_work_path;;
|
||||||
'R')
|
'R')
|
||||||
|
caffeinate_machine
|
||||||
bin/restore_backup;;
|
bin/restore_backup;;
|
||||||
'c')
|
'c')
|
||||||
verify_homebrew_formulas
|
verify_homebrew_formulas
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
|
||||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia"
|
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Big Sur.app/Contents/Resources/createinstallmedia"
|
||||||
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
|
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
|
||||||
export MAC_OS_WORK_PATH=/tmp/downloads
|
export MAC_OS_WORK_PATH=/tmp/downloads
|
||||||
export MAC_OS_CONFIG_PATH="../mac_os-config"
|
export MAC_OS_CONFIG_PATH="../mac_os-config"
|
||||||
|
|||||||
@@ -2,6 +2,19 @@
|
|||||||
|
|
||||||
# Defines general utility functions.
|
# Defines general utility functions.
|
||||||
|
|
||||||
|
# Caffeinate machine.
|
||||||
|
caffeinate_machine() {
|
||||||
|
local pid=$(pgrep -x caffeinate)
|
||||||
|
|
||||||
|
if [[ -n "$pid" ]]; then
|
||||||
|
printf "Machine is already caffeinated!\n"
|
||||||
|
else
|
||||||
|
caffeinate -s -u -d -i -t 3153600000 > /dev/null &
|
||||||
|
printf "Machine caffeinated.\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export -f caffeinate_machine
|
||||||
|
|
||||||
# Answers the full install path (including file name) for file name.
|
# Answers the full install path (including file name) for file name.
|
||||||
# Parameters: $1 (required) - The file name.
|
# Parameters: $1 (required) - The file name.
|
||||||
get_install_path() {
|
get_install_path() {
|
||||||
@@ -17,24 +30,11 @@ clean_work_path() {
|
|||||||
}
|
}
|
||||||
export -f clean_work_path
|
export -f clean_work_path
|
||||||
|
|
||||||
# Caffeinate machine.
|
|
||||||
caffeinate_machine() {
|
|
||||||
local pid=$(pgrep -x caffeinate)
|
|
||||||
|
|
||||||
if [[ -n "$pid" ]]; then
|
|
||||||
printf "Whoa, tweaker, machine is already caffeinated!\n"
|
|
||||||
else
|
|
||||||
caffeinate -s -u -d -i -t 3153600000 > /dev/null &
|
|
||||||
printf "Machine caffeinated.\n"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
export -f caffeinate_machine
|
|
||||||
|
|
||||||
# Answers the root install path for file name.
|
# Answers the root install path for file name.
|
||||||
# Parameters: $1 (required) - The file name.
|
# Parameters: $1 (required) - The file name.
|
||||||
get_install_root() {
|
get_install_root() {
|
||||||
local file_name="$1"
|
local file_name="$1"
|
||||||
local file_extension=$(get_file_extension "$file_name")
|
local file_extension=$(get_extension "$file_name")
|
||||||
|
|
||||||
# Dynamically build the install path based on file extension.
|
# Dynamically build the install path based on file extension.
|
||||||
case $file_extension in
|
case $file_extension in
|
||||||
@@ -52,10 +52,17 @@ get_install_root() {
|
|||||||
}
|
}
|
||||||
export -f get_install_root
|
export -f get_install_root
|
||||||
|
|
||||||
|
# Answers the file or directory basename.
|
||||||
|
# Parameters: $1 (required) - The file path.
|
||||||
|
get_basename() {
|
||||||
|
printf "${1##*/}" # Answers file or directory name.
|
||||||
|
}
|
||||||
|
export -f get_basename
|
||||||
|
|
||||||
# Answers the file extension.
|
# Answers the file extension.
|
||||||
# Parameters: $1 (required) - The file name.
|
# Parameters: $1 (required) - The file name.
|
||||||
get_file_extension() {
|
get_extension() {
|
||||||
local name=$(get_file_name "$1")
|
local name=$(get_basename "$1")
|
||||||
local extension="${1##*.}" # Excludes dot.
|
local extension="${1##*.}" # Excludes dot.
|
||||||
|
|
||||||
if [[ "$name" == "$extension" ]]; then
|
if [[ "$name" == "$extension" ]]; then
|
||||||
@@ -64,11 +71,4 @@ get_file_extension() {
|
|||||||
printf "$extension"
|
printf "$extension"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
export -f get_file_extension
|
export -f get_extension
|
||||||
|
|
||||||
# Answers the file name.
|
|
||||||
# Parameters: $1 (required) - The file path.
|
|
||||||
get_file_name() {
|
|
||||||
printf "${1##*/}" # Answers file or directory name.
|
|
||||||
}
|
|
||||||
export -f get_file_name
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ verify_homebrew_formulas() {
|
|||||||
local applications="$(brew list)"
|
local applications="$(brew list)"
|
||||||
|
|
||||||
while read line; do
|
while read line; do
|
||||||
# Skip blank or comment lines.
|
|
||||||
if [[ "$line" == "brew install"* ]]; then
|
if [[ "$line" == "brew install"* ]]; then
|
||||||
local application=$(printf "$line" | awk '{print $3}')
|
local application=$(printf "$line" | awk '{print $3}')
|
||||||
|
|
||||||
@@ -18,11 +17,6 @@ verify_homebrew_formulas() {
|
|||||||
application="gnupg"
|
application="gnupg"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Exception: "hg" is the binary but is listed as "mercurial".
|
|
||||||
if [[ "$application" == "hg" ]]; then
|
|
||||||
application="mercurial"
|
|
||||||
fi
|
|
||||||
|
|
||||||
verify_listed_application "$application" "${applications[*]}"
|
verify_listed_application "$application" "${applications[*]}"
|
||||||
fi
|
fi
|
||||||
done < "$MAC_OS_CONFIG_PATH/bin/install_homebrew_formulas"
|
done < "$MAC_OS_CONFIG_PATH/bin/install_homebrew_formulas"
|
||||||
@@ -35,23 +29,11 @@ export -f verify_homebrew_formulas
|
|||||||
verify_homebrew_casks() {
|
verify_homebrew_casks() {
|
||||||
printf "\nChecking Homebrew casks...\n"
|
printf "\nChecking Homebrew casks...\n"
|
||||||
|
|
||||||
local applications="$(brew cask list)"
|
local applications="$(brew list --cask)"
|
||||||
|
|
||||||
while read line; do
|
while read line; do
|
||||||
# Skip blank or comment lines.
|
|
||||||
if [[ "$line" == "brew cask install"* ]]; then
|
if [[ "$line" == "brew cask install"* ]]; then
|
||||||
local application=$(printf "$line" | awk '{print $4}')
|
local application=$(printf "$line" | awk '{print $4}')
|
||||||
|
|
||||||
# Skip: Only necessary for the purpose of licensing system preference.
|
|
||||||
if [[ "$application" == "witch" ]]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Skip: Bug with Homebrew Cask as these apps never show up as installed.
|
|
||||||
if [[ "$application" == "skitch" || "$application" == "openemu" ]]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
verify_listed_application "$application" "${applications[*]}"
|
verify_listed_application "$application" "${applications[*]}"
|
||||||
fi
|
fi
|
||||||
done < "$MAC_OS_CONFIG_PATH/bin/install_homebrew_casks"
|
done < "$MAC_OS_CONFIG_PATH/bin/install_homebrew_casks"
|
||||||
@@ -67,7 +49,6 @@ verify_app_store_applications() {
|
|||||||
local applications="$(mas list)"
|
local applications="$(mas list)"
|
||||||
|
|
||||||
while read line; do
|
while read line; do
|
||||||
# Skip blank or comment lines.
|
|
||||||
if [[ "$line" == "mas install"* ]]; then
|
if [[ "$line" == "mas install"* ]]; then
|
||||||
local application=$(printf "$line" | awk '{print $3}')
|
local application=$(printf "$line" | awk '{print $3}')
|
||||||
verify_listed_application "$application" "${applications[*]}"
|
verify_listed_application "$application" "${applications[*]}"
|
||||||
@@ -99,7 +80,6 @@ verify_applications() {
|
|||||||
|
|
||||||
# For each application name, check to see if the application is installed. Otherwise, skip.
|
# For each application name, check to see if the application is installed. Otherwise, skip.
|
||||||
for name in $file_names; do
|
for name in $file_names; do
|
||||||
# Pass the key value to verfication.
|
|
||||||
verify_application "${!name}"
|
verify_application "${!name}"
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -111,8 +91,6 @@ export -f verify_applications
|
|||||||
# Parameters: $1 (required) - The file name.
|
# Parameters: $1 (required) - The file name.
|
||||||
verify_application() {
|
verify_application() {
|
||||||
local file_name="$1"
|
local file_name="$1"
|
||||||
|
|
||||||
# Display the missing install if not found.
|
|
||||||
local install_path=$(get_install_path "$file_name")
|
local install_path=$(get_install_path "$file_name")
|
||||||
|
|
||||||
if [[ ! -e "$install_path" ]]; then
|
if [[ ! -e "$install_path" ]]; then
|
||||||
@@ -143,7 +121,6 @@ export -f verify_extensions
|
|||||||
verify_path() {
|
verify_path() {
|
||||||
local path="$1"
|
local path="$1"
|
||||||
|
|
||||||
# Display the missing path if not found.
|
|
||||||
if [[ ! -e "$path" ]]; then
|
if [[ ! -e "$path" ]]; then
|
||||||
printf " - Missing: $path\n"
|
printf " - Missing: $path\n"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user