Homebrew / homebrew-cask

🍻 A CLI workflow for the administration of macOS applications distributed as binaries
https://brew.sh
BSD 2-Clause "Simplified" License
20.95k stars 10.74k forks source link

Sonixd: "Sonixd" is damaged and can't be opened (likely codesigning) #138474

Closed woodruffw closed 1 year ago

woodruffw commented 1 year ago

Verification

Description of issue

Installing Sonixd via brew install --cask succeeds, but fails to open with the following error dialog:

Screenshot 2022-12-24 at 4 56 41 PM

I'm filing this for visibility, but I'll also look into fixing it. My guess is that it's a codesigning bug, maybe because of application resources that have changed.

Host information:

Command that failed

brew install --cask sonixd

Output of command with --verbose --debug

/opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/3.6.16-8-g895d322\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 13.1\)\ curl/7.85.0 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://github.com/jeffvli/sonixd/releases/download/v0.15.3/Sonixd-0.15.3-mac-arm64.dmg
==> Cask::Installer#install
==> Printing caveats
==> Cask::Installer#fetch
==> Downloading https://github.com/jeffvli/sonixd/releases/download/v0.15.3/Sonixd-0.15.3-mac-arm64.dmg
/usr/bin/xattr -h
Already downloaded: /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> Checking quarantine support
/usr/bin/swift -target arm64-apple-macosx13 /opt/homebrew/Library/Homebrew/cask/utils/quarantine.swift
/usr/bin/xattr -p com.apple.quarantine /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> Quarantine is available.
==> Verifying Gatekeeper status of /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
hdiutil imageinfo -format /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg is quarantined
==> Verifying checksum for cask 'sonixd'
hdiutil attach -plist -nobrowse -readonly -mountrandom /private/tmp/d20221224-53085-178jp2j /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> Installing Cask sonixd
==> Cask::Installer#stage
==> Extracting primary container
==> Using container class UnpackStrategy::Dmg for /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
find . -print0
mkbom -s -i /private/tmp/20221224-53085-1cw3si8.list -- /private/tmp/20221224-53085-dhhni3.bom
ditto --bom /private/tmp/20221224-53085-dhhni3.bom -- /private/tmp/d20221224-53085-178jp2j/dmg.ErqJSw /private/tmp/d20221224-53085-ljn058
diskutil info -plist /private/tmp/d20221224-53085-178jp2j/dmg.ErqJSw
diskutil eject /private/tmp/d20221224-53085-178jp2j/dmg.ErqJSw
cp -pR /private/tmp/d20221224-53085-ljn058/Sonixd.app/. /opt/homebrew/Caskroom/sonixd/0.15.3/Sonixd.app
chmod -Rf +w /private/tmp/d20221224-53085-ljn058
/usr/bin/xattr -p com.apple.quarantine /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> Verifying Gatekeeper status of /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
/usr/bin/xattr -p com.apple.quarantine /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg
==> /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg is quarantined
==> Propagating quarantine from /Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg to /opt/homebrew/Caskroom/sonixd/0.15.3
/usr/bin/xargs -0 -- /bin/chmod -h u\+w
/usr/bin/xargs -0 -- /usr/bin/xattr -w com.apple.quarantine 0381\;63a7735e\;\;A3F977FB-4FA7-4902-9216-167E1AEBE811
==> Creating metadata directory: /opt/homebrew/Caskroom/sonixd/.metadata/0.15.3/20221224215755.670
==> Creating metadata subdirectory: /opt/homebrew/Caskroom/sonixd/.metadata/0.15.3/20221224215755.670/Casks
==> Installing artifacts
==> 2 artifacts defined
#<Cask::ArtifactSet: {#<Cask::Artifact::App:0x000000014ce72f00 @cask=#<Cask::Cask:0x000000014ccb36b0 @token="sonixd", @sourcefile_path=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks/sonixd.rb>, @source="cask \"sonixd\" do\n  arch arm: \"arm64\", intel: \"x64\"\n\n  version \"0.15.3\"\n  sha256 arm:   \"f2382d64fa216c7fb7734043c77be5b45e1dd5f214da3cca0a5d3c34c2e7acda\",\n         intel: \"384889e0abccdd75771624f874d812a1ed49f50e2f51af03e0bcb286940059dc\"\n\n  url \"https://github.com/jeffvli/sonixd/releases/download/v\#{version}/Sonixd-\#{version}-mac-\#{arch}.dmg\"\n  name \"Sonixd\"\n  desc \"Desktop client for Subsonic-API and Jellyfin music servers\"\n  homepage \"https://github.com/jeffvli/sonixd\"\n\n  app \"Sonixd.app\"\n\n  zap trash: [\n    \"~/Library/Application Support/Sonixd\",\n    \"~/Library/Caches/org.erb.sonixd\",\n    \"~/Library/Caches/org.erb.sonixd.ShipIt\",\n    \"~/Library/Preferences/org.erb.sonixd.plist\",\n    \"~/Library/Saved Application State/org.erb.sonixd.savedState\",\n  ]\nend\n", @tap=#<Tap:0x000000014cc00e48 @user="Homebrew", @repo="cask", @name="homebrew/cask", @full_name="Homebrew/homebrew-cask", @path=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask>, @alias_table=nil, @alias_reverse_table=nil, @formula_renames={}, @cask_dir=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks>>, @allow_reassignment=false, @block=#<Proc:0x000000014ccb3200@/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks/sonixd.rb:1>, @default_config=#<Cask::Config:0x000000014cc90408 @explicit={}>, @caskroom_path=#<Pathname:/opt/homebrew/Caskroom/sonixd>, @metadata_main_container_path=#<Pathname:/opt/homebrew/Caskroom/sonixd/.metadata>, @config=#<Cask::Config:0x000000014ce68a50 @explicit={}>, @dsl=#<Cask::DSL:0x000000014ce68820 @cask=#<Cask::Cask:0x000000014ccb36b0 ...>, @token="sonixd", @on_system_blocks_exist=true, @arch="arm64", @version="0.15.3", @sha256=#<Checksum:0x000000014ce680c8 @hexdigest="f2382d64fa216c7fb7734043c77be5b45e1dd5f214da3cca0a5d3c34c2e7acda">, @url=#<URL::DSL:0x000000014ce73950 @uri=#<URI::HTTPS https://github.com/jeffvli/sonixd/releases/download/v0.15.3/Sonixd-0.15.3-mac-arm64.dmg>, @verified=nil, @using=nil, @tag=nil, @branch=nil, @revisions=nil, @revision=nil, @trust_cert=nil, @cookies=nil, @referer=nil, @header=nil, @user_agent=:default, @data=nil, @only_path=nil, @specs={:user_agent=>:default}>, @name=["Sonixd"], @desc="Desktop client for Subsonic-API and Jellyfin music servers", @homepage="https://github.com/jeffvli/sonixd", @artifacts=#<Cask::ArtifactSet: {...}>, @language_eval=nil>, @download=#<Pathname:/Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg>>, @dsl_args=["Sonixd.app", {}], @source_string="Sonixd.app", @target_string="">, #<Cask::Artifact::Zap:0x000000014ce72938 @cask=#<Cask::Cask:0x000000014ccb36b0 @token="sonixd", @sourcefile_path=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks/sonixd.rb>, @source="cask \"sonixd\" do\n  arch arm: \"arm64\", intel: \"x64\"\n\n  version \"0.15.3\"\n  sha256 arm:   \"f2382d64fa216c7fb7734043c77be5b45e1dd5f214da3cca0a5d3c34c2e7acda\",\n         intel: \"384889e0abccdd75771624f874d812a1ed49f50e2f51af03e0bcb286940059dc\"\n\n  url \"https://github.com/jeffvli/sonixd/releases/download/v\#{version}/Sonixd-\#{version}-mac-\#{arch}.dmg\"\n  name \"Sonixd\"\n  desc \"Desktop client for Subsonic-API and Jellyfin music servers\"\n  homepage \"https://github.com/jeffvli/sonixd\"\n\n  app \"Sonixd.app\"\n\n  zap trash: [\n    \"~/Library/Application Support/Sonixd\",\n    \"~/Library/Caches/org.erb.sonixd\",\n    \"~/Library/Caches/org.erb.sonixd.ShipIt\",\n    \"~/Library/Preferences/org.erb.sonixd.plist\",\n    \"~/Library/Saved Application State/org.erb.sonixd.savedState\",\n  ]\nend\n", @tap=#<Tap:0x000000014cc00e48 @user="Homebrew", @repo="cask", @name="homebrew/cask", @full_name="Homebrew/homebrew-cask", @path=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask>, @alias_table=nil, @alias_reverse_table=nil, @formula_renames={}, @cask_dir=#<Pathname:/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks>>, @allow_reassignment=false, @block=#<Proc:0x000000014ccb3200@/opt/homebrew/Library/Taps/homebrew/homebrew-cask/Casks/sonixd.rb:1>, @default_config=#<Cask::Config:0x000000014cc90408 @explicit={}>, @caskroom_path=#<Pathname:/opt/homebrew/Caskroom/sonixd>, @metadata_main_container_path=#<Pathname:/opt/homebrew/Caskroom/sonixd/.metadata>, @config=#<Cask::Config:0x000000014ce68a50 @explicit={}>, @dsl=#<Cask::DSL:0x000000014ce68820 @cask=#<Cask::Cask:0x000000014ccb36b0 ...>, @token="sonixd", @on_system_blocks_exist=true, @arch="arm64", @version="0.15.3", @sha256=#<Checksum:0x000000014ce680c8 @hexdigest="f2382d64fa216c7fb7734043c77be5b45e1dd5f214da3cca0a5d3c34c2e7acda">, @url=#<URL::DSL:0x000000014ce73950 @uri=#<URI::HTTPS https://github.com/jeffvli/sonixd/releases/download/v0.15.3/Sonixd-0.15.3-mac-arm64.dmg>, @verified=nil, @using=nil, @tag=nil, @branch=nil, @revisions=nil, @revision=nil, @trust_cert=nil, @cookies=nil, @referer=nil, @header=nil, @user_agent=:default, @data=nil, @only_path=nil, @specs={:user_agent=>:default}>, @name=["Sonixd"], @desc="Desktop client for Subsonic-API and Jellyfin music servers", @homepage="https://github.com/jeffvli/sonixd", @artifacts=#<Cask::ArtifactSet: {...}>, @language_eval=nil>, @download=#<Pathname:/Users/william/Library/Caches/Homebrew/downloads/80236f7ac50cf9e747fe381814c5a7aca6b16aaac59b55ee6ef3978d4f0417bd--Sonixd-0.15.3-mac-arm64.dmg>>, @dsl_args=[{:trash=>["~/Library/Application Support/Sonixd", "~/Library/Caches/org.erb.sonixd", "~/Library/Caches/org.erb.sonixd.ShipIt", "~/Library/Preferences/org.erb.sonixd.plist", "~/Library/Saved Application State/org.erb.sonixd.savedState"]}], @directives={:trash=>["~/Library/Application Support/Sonixd", "~/Library/Caches/org.erb.sonixd", "~/Library/Caches/org.erb.sonixd.ShipIt", "~/Library/Preferences/org.erb.sonixd.plist", "~/Library/Saved Application State/org.erb.sonixd.savedState"], :signal=>[]}>}>
==> Installing artifact of class Cask::Artifact::App
==> Moving App 'Sonixd.app' to '/Applications/Sonixd.app'
/opt/homebrew/Library/Homebrew/shims/shared/git --version
🍺  sonixd was successfully installed!

Output of brew doctor --verbose

==> Cask Environment Variables:
BUNDLE_PATH
CHRUBY_VERSION
GEM_HOME
GEM_PATH
HOMEBREW_CASK_OPTS
LC_ALL
PATH
RBENV_VERSION
RUBYLIB
RUBYOPT
RUBYPATH
SHELL
==> $LOAD_PATHS
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/warning-1.3.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/tapioca-0.7.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/yard-sorbet-0.6.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/yard-0.9.28/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/spoom-1.1.11/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/thor-1.2.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-static-and-runtime-0.5.10461/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-0.5.10461/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-static-0.5.10461-universal-darwin-21/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/simplecov-cobertura-2.1.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/simplecov-0.21.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/simplecov_json_formatter-0.1.4/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/simplecov-html-0.12.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-macho-3.0.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-sorbet-0.6.11/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-rspec-2.16.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-rails-2.17.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-performance-1.15.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-1.40.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/unicode-display_width-2.3.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ruby-progressbar-1.11.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubocop-ast-1.24.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec_junit_formatter-0.6.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-wait-0.0.9/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-sorbet-1.9.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-retry-0.6.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-its-1.3.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-github-2.4.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ronn-0.7.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rexml-3.2.5/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rdiscount-2.2.7/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/rdiscount-2.2.7
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rbi-0.0.14/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/unparser-0.6.4/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rack-3.0.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/pry-0.14.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/plist-3.6.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/patchelf-1.4.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/parlour-8.0.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/sorbet-runtime-0.5.10461/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rainbow-3.1.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/parser-3.1.3.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/parallel_tests-3.13.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/parallel-1.22.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/mustache-1.1.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/method_source-1.0.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/mechanize-2.8.5/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/webrobots-0.1.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/webrick-1.7.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/rubyntlm-0.6.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/nokogiri-1.13.10-x86_64-darwin/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/racc-1.6.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/racc-1.6.1
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/net-http-persistent-4.0.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/net-http-digest_auth-1.4.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/mime-types-3.4.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/mime-types-data-3.2022.0105/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/json_schemer-0.2.24/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/uri_template-0.7.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/json-2.6.3
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/http-cookie-1.0.5/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/hpricot-0.8.6/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/hpricot-0.8.6
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/hana-1.3.7/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/elftools-1.2.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ecma-re-validator-0.4.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/regexp_parser-2.6.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/domain_name-0.5.20190701/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/unf-0.1.4/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/unf_ext-0.0.8.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/unf_ext-0.0.8.2
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/docile-1.4.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/did_you_mean-1.6.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/connection_pool-2.3.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/commander-4.6.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/highline-2.0.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/coderay-1.1.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/byebug-11.1.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/byebug-11.1.3
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.15.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/bootsnap-1.15.0
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/msgpack-1.6.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-21/2.6.0/msgpack-1.6.0
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bindata-2.4.14/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/ast-2.4.2/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/public_suffix-5.0.1/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/zeitwerk-2.6.6/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/tzinfo-2.0.5/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/minitest-5.16.3/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/i18n-1.12.0/lib
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby/2.6.0
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby/2.6.0/arm64e-darwin22
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby/2.6.0/universal-darwin22
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/arm64e-darwin22
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin22
/opt/homebrew/Library/Homebrew
==> Homebrew Version
3.6.16-8-g895d322
==> macOS
13.1
==> SIP
Enabled
==> Homebrew Cask Staging Location
/opt/homebrew/Caskroom
==> Homebrew Cask Taps:
/opt/homebrew/Library/Taps/homebrew/homebrew-cask (4132 casks)
Your system is ready to brew.

Output of brew tap

homebrew/cask
homebrew/core
woodruffw commented 1 year ago

Yep, looks like missing resources:

$ codesign --verify --verbose /Applications/Sonixd.app
/Applications/Sonixd.app: code has no resources but signature indicates they must be present
$ codesign -d --verbose /Applications/Sonixd.app
Executable=/Applications/Sonixd.app/Contents/MacOS/Sonixd
Identifier=Electron
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20400 size=1825 flags=0x20002(adhoc,linker-signed) hashes=54+0 location=embedded
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements=none
woodruffw commented 1 year ago

Upstream is tracking a similar issue (https://github.com/jeffvli/sonixd/issues/412), but I'm sure it's 100% the same: the error above indicates that the cask'd app does have a signature (but that resources needed for verification are missing), while upstream indicates that they haven't added codesigning yet.

woodruffw commented 1 year ago

Forcefully de-quarantining the application does work, however:

sudo xattr -r -d com.apple.quarantine /Applications/Sonixd.app
SMillerDev commented 1 year ago

Yeah, then there's no gatekeeper so no signing check

woodruffw commented 1 year ago

Yep, that's only a workaround. I'm not too familiar with how Cask signs for the applications, but from upstream it sounds like maybe the signature we're adding here doesn't fully encompass the application's resources. I'll look into it more.

woodruffw commented 1 year ago

@miccal: premature close I think: the default brew install --cask sonixd still results in a broken install on ARM Macs.

miccal commented 1 year ago

It is an issue with the code signing, so there is nothing we can do via Cask.

woodruffw commented 1 year ago

It is an issue with the code signing, so there is nothing we can do via Cask.

Gotcha. I thought Cask might be doing its own self-signing, but if that's not the case then this is purely upstream.

SMillerDev commented 1 year ago

Try running brew audit --cask --signing sonixd to verify. But Homebrew will never sign something it didn't create.