From e2f0e877a8c43099e10eb3f224460a1c47b2091a Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Mon, 7 Jul 2025 14:06:00 -0500 Subject: [PATCH 1/6] Added: lib/vanagon/platform/defaults/osx-14-x86_64.rb Check if homebrew already exists to skip the homebrew install and sudo commands to allow non-root execution --- lib/vanagon/platform/defaults/osx-14-x86_64.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/vanagon/platform/defaults/osx-14-x86_64.rb b/lib/vanagon/platform/defaults/osx-14-x86_64.rb index 96fae493..732ef774 100644 --- a/lib/vanagon/platform/defaults/osx-14-x86_64.rb +++ b/lib/vanagon/platform/defaults/osx-14-x86_64.rb @@ -14,10 +14,15 @@ plat.provision_with "sudo dscl . -create /Users/test NFSHomeDirectory /Users/test" plat.provision_with "sudo dscl . -passwd /Users/test password" plat.provision_with "sudo dscl . -merge /Groups/admin GroupMembership test" - plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username" - plat.provision_with "mkdir -p /etc/homebrew" + plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/username > /dev/null" + plat.provision_with "sudo mkdir -p /etc/homebrew" plat.provision_with "cd /etc/homebrew" - plat.provision_with "createhomedir -c -u test" - plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"') + plat.provision_with "sudo createhomedir -c -u test" + if File.directory?("/usr/local/var/homebrew") + plat.provision_with "sudo chown -R test /usr/local/var/homebrew" + plat.provision_with "sudo chown -R test /usr/local/share/zsh /usr/local/share/zsh/site-functions" + else + plat.provision_with %Q(sudo su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"') + end plat.vmpooler_template "macos-14-x86_64" end From 0b06fa4d98d58b8d33c80e69c9835cd6ab089bce Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Tue, 8 Jul 2025 13:06:24 -0500 Subject: [PATCH 2/6] Fixed: more sudo chown for test user --- lib/vanagon/platform/defaults/osx-14-x86_64.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/vanagon/platform/defaults/osx-14-x86_64.rb b/lib/vanagon/platform/defaults/osx-14-x86_64.rb index 732ef774..f233784c 100644 --- a/lib/vanagon/platform/defaults/osx-14-x86_64.rb +++ b/lib/vanagon/platform/defaults/osx-14-x86_64.rb @@ -19,8 +19,8 @@ plat.provision_with "cd /etc/homebrew" plat.provision_with "sudo createhomedir -c -u test" if File.directory?("/usr/local/var/homebrew") - plat.provision_with "sudo chown -R test /usr/local/var/homebrew" - plat.provision_with "sudo chown -R test /usr/local/share/zsh /usr/local/share/zsh/site-functions" + plat.provision_with "sudo chown -R test /usr/local/var/homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions \ + /usr/local/etc/bash_completion.d /usr/local/lib/pkgconfig /usr/local/share/aclocal /usr/local/share/locale" else plat.provision_with %Q(sudo su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"') end From 15f94ca987b06630e447e184c75be8d6467f4add Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Tue, 8 Jul 2025 13:06:36 -0500 Subject: [PATCH 3/6] Fixed: sudo su test -c --- lib/vanagon/platform/osx.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vanagon/platform/osx.rb b/lib/vanagon/platform/osx.rb index 3b217ca2..270b7331 100644 --- a/lib/vanagon/platform/osx.rb +++ b/lib/vanagon/platform/osx.rb @@ -10,7 +10,7 @@ def install_build_dependencies(list_build_dependencies) <<-HERE.undent mkdir -p /etc/homebrew cd /etc/homebrew - su test -c '#{@brew} install #{list_build_dependencies.join(' ')}' + sudo su test -c '#{@brew} install #{list_build_dependencies.join(' ')}' HERE end From 85c06ba26c48b777f40dd700d6535e2a1be32cbc Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Wed, 9 Jul 2025 15:45:03 -0500 Subject: [PATCH 4/6] Changed: lib/vanagon/utilities.rb Attempting to force tls_1.3 --- lib/vanagon/utilities.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/vanagon/utilities.rb b/lib/vanagon/utilities.rb index c0ea15d9..6d18d885 100644 --- a/lib/vanagon/utilities.rb +++ b/lib/vanagon/utilities.rb @@ -54,6 +54,7 @@ def http_request_generic(url, type, payload = {}.to_json, header = nil) # ruboco uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == 'https' + http.ssl_version = :TLSv1_3 case type.downcase when "get" From a7dfd0968e194f60ed3f8b60e56228c7a7769705 Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Thu, 10 Jul 2025 12:58:18 -0500 Subject: [PATCH 5/6] Adding: lib/vanagon/platform/defaults/osx-14-x86_64.rb additional directory check for homebrew install --- lib/vanagon/platform/defaults/osx-14-x86_64.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vanagon/platform/defaults/osx-14-x86_64.rb b/lib/vanagon/platform/defaults/osx-14-x86_64.rb index f233784c..aeb81c73 100644 --- a/lib/vanagon/platform/defaults/osx-14-x86_64.rb +++ b/lib/vanagon/platform/defaults/osx-14-x86_64.rb @@ -18,7 +18,7 @@ plat.provision_with "sudo mkdir -p /etc/homebrew" plat.provision_with "cd /etc/homebrew" plat.provision_with "sudo createhomedir -c -u test" - if File.directory?("/usr/local/var/homebrew") + if File.directory?("/usr/local/var/homebrew") || File.directory?("/usr/local/Homebrew") plat.provision_with "sudo chown -R test /usr/local/var/homebrew /usr/local/share/zsh /usr/local/share/zsh/site-functions \ /usr/local/etc/bash_completion.d /usr/local/lib/pkgconfig /usr/local/share/aclocal /usr/local/share/locale" else From 02a0ac4506ed3462a627b4d874570e71cd343af1 Mon Sep 17 00:00:00 2001 From: Shaun Rutherford Date: Thu, 10 Jul 2025 12:59:34 -0500 Subject: [PATCH 6/6] revert --- lib/vanagon/utilities.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/vanagon/utilities.rb b/lib/vanagon/utilities.rb index 6d18d885..c0ea15d9 100644 --- a/lib/vanagon/utilities.rb +++ b/lib/vanagon/utilities.rb @@ -54,7 +54,6 @@ def http_request_generic(url, type, payload = {}.to_json, header = nil) # ruboco uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == 'https' - http.ssl_version = :TLSv1_3 case type.downcase when "get"