From 2bbdd2e44bd75b226215dae632f9edd612b03478 Mon Sep 17 00:00:00 2001 From: Sander Cox Date: Thu, 24 Aug 2023 12:31:30 +0200 Subject: [PATCH 1/4] Modern homebrew links cellarin /usr/local/opt too required for git --- brew-pkg.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/brew-pkg.rb b/brew-pkg.rb index 10c5b5f..e227e9d 100755 --- a/brew-pkg.rb +++ b/brew-pkg.rb @@ -85,6 +85,8 @@ def pkg safe_system "mkdir", "-p", "#{staging_root}/Cellar/#{formula.name}/" safe_system "rsync", "-a", "#{HOMEBREW_CELLAR}/#{formula.name}/#{dep_version}", "#{staging_root}/Cellar/#{formula.name}/" + safe_system "mkdir", "-p", "#{staging_root}/opt" + safe_system "ln", "-s", "../Cellar/#{formula.name}/#{dep_version}", "#{staging_root}/opt/#{formula.name}" end end From 6c4464ec79deac37703b323e5260b174872edb06 Mon Sep 17 00:00:00 2001 From: Sander Cox Date: Mon, 7 Oct 2024 23:04:12 +0200 Subject: [PATCH 2/4] fix: Use full package name for the package if package exists in multiple taps this is required --- brew-pkg.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/brew-pkg.rb b/brew-pkg.rb index e227e9d..9a95266 100755 --- a/brew-pkg.rb +++ b/brew-pkg.rb @@ -57,7 +57,7 @@ def pkg FileUtils.mkdir_p staging_root - pkgs = [f] + pkgs = [ARGV.last] # Add deps if we specified --with-deps pkgs += f.recursive_dependencies if ARGV.include? '--with-deps' From a0beef78ddf3e5436e4b682ddaedf6e9b036f32e Mon Sep 17 00:00:00 2001 From: Sander Cox Date: Thu, 28 Aug 2025 12:07:38 +0200 Subject: [PATCH 3/4] Require ohai --- brew-pkg.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/brew-pkg.rb b/brew-pkg.rb index 9a95266..78abb57 100755 --- a/brew-pkg.rb +++ b/brew-pkg.rb @@ -11,6 +11,7 @@ def with_deps? # cribbed Homebrew module code from brew-unpack.rb module Homebrew extend self + include Utils::Output::Mixin def pkg unpack_usage = <<-EOS Usage: brew pkg [--identifier-prefix] [--with-deps] [--without-kegs] formula From 1806ae01d7f450a6382068152fcb065b6832cf4d Mon Sep 17 00:00:00 2001 From: Sander Cox Date: Thu, 12 Feb 2026 14:16:05 +0100 Subject: [PATCH 4/4] openssl3 and ca_certificates use etc too ${HOMEBREW_PREFIX}/etc/openssl@3 is used for stuff as well not packaged yet so we add those folders to the list of stuff to package. --- brew-pkg.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/brew-pkg.rb b/brew-pkg.rb index 78abb57..75b2044 100755 --- a/brew-pkg.rb +++ b/brew-pkg.rb @@ -92,6 +92,16 @@ def pkg end + # Stage etc/ files for this formula (e.g. openssl@3 CA certs, config files) + # These live outside the Cellar at HOMEBREW_PREFIX/etc// + # and are typically created during `brew postinstall`. + etc_dir = File.join(HOMEBREW_PREFIX, "etc", formula.name) + if File.exist?(etc_dir) + ohai "Staging etc directory #{etc_dir}" + safe_system "mkdir", "-p", "#{staging_root}/etc/" + safe_system "rsync", "-a", "#{etc_dir}", "#{staging_root}/etc/" + end + # Write out a LaunchDaemon plist if we have one if formula.service? ohai "Plist found at #{formula.plist_name}, staging for /Library/LaunchDaemons/#{formula.plist_name}.plist"