Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

brew cask install little-snitch - "Filename has an unknown suffix" error #92674

Closed
6 tasks done
peterlewis opened this issue Nov 13, 2020 · 18 comments
Closed
6 tasks done
Labels

Comments

@peterlewis
Copy link
Contributor

peterlewis commented Nov 13, 2020

General troubleshooting steps

Description of issue

Okay, firstly apologies. This may be an inappropriate issue being raised, given that I'm now running Big Sur, but:

  1. When running Catalina I brew cask install little-snitch-ed
  2. When Big Sur came out I manually upgraded to Little Snitch 5
  3. When the cask was updated I decided to throw caution to the wind and brew cask uninstall little-snitch, intending to then do the next step
  4. Attempted brew cask install little-snitch

I've tried, the following, to no avail:

  • brew update-reset && brew update
  • brew cask uninstall --force little-snitch
  • brew cask zap --force little-snitch

I've also tried manually editing the formula to the 4.X version so that I can proceed through the workflow I did before I brew cask uninstall little-snitch to no avail.

There seems to be something left that it's trying to purge, to no avail. I'm understanding this to be the case from ==> Purging files for version 5.0.2 of Cask little-snitch when little-snitch is not deemed to be installed.

If I could please ask for someone's assistance on this, it would be tremendously appreciated! I totally appreciate that Big Sur is currently unsupported but this is doing my absolute nut and not sure it's Big Sur related specifically (I could be wrong). Have been attempted to resolve this specific issue for over three hours, now. Many thanks!

Command that failed

brew cask install little-snitch

Output of command with --verbose --debug

Have shortened unique folder names to xxx and yyy

==> Cask::Installer#install
==> Printing caveats
==> Cask::Installer#fetch
==> Downloading
==> Downloading https://www.obdev.at/downloads/littlesnitch/LittleSnitch-5.0.2.dmg
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/2.5.10-14-g8561fbf\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 11.0.1\)\ curl/7.64.1 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://www.obdev.at/downloads/littlesnitch/LittleSnitch-5.0.2.dmg
Already downloaded: /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
==> Checking quarantine support
/usr/bin/xattr
/usr/bin/swift /usr/local/Homebrew/Library/Homebrew/cask/utils/quarantine.swift
==> Quarantine is available.
==> Verifying Gatekeeper status of /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
/usr/bin/xattr -p com.apple.quarantine /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
==> /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg is quarantined
==> Downloaded to -> /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
tar tf /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/xz.rb
All Formula dependencies satisfied.
==> Verifying SHA-256 checksum for Cask 'little-snitch'.
==> Installing Cask little-snitch
==> Cask::Installer#stage
==> Extracting primary container
==> Using container class UnpackStrategy::Xz for /Users/peter/Library/Caches/Homebrew/downloads/810ca3f4ebdb527ef9c8799a7f6dae431b0029c480a0e41aa57f3a248ae3ac64--LittleSnitch-5.0.2.dmg
/usr/bin/env PATH=/usr/local/opt/xz/bin:/usr/local/Homebrew/Library/Homebrew/shims/scm:/usr/bin:/bin:/usr/sbin:/sbin unxz -T0 -- /var/folders/f5/xxx/T/yyy/LittleSnitch-5.0.2.dmg
unxz: /var/folders/f5/xxx/T/yyy/LittleSnitch-5.0.2.dmg: Filename has an unknown suffix, skipping
==> Purging files for version 5.0.2 of Cask little-snitch
Error: Failure while executing; `/usr/bin/env PATH=/usr/local/opt/xz/bin:/usr/local/Homebrew/Library/Homebrew/shims/scm:/usr/bin:/bin:/usr/sbin:/sbin unxz -T0 -- /var/folders/f5/xxx/T/yyy/LittleSnitch-5.0.2.dmg` exited with 2. Here's the output:
unxz: /var/folders/f5/xxx/T/yyy/LittleSnitch-5.0.2.dmg: Filename has an unknown suffix, skipping

/usr/local/Homebrew/Library/Homebrew/system_command.rb:194:in `assert_success!'
/usr/local/Homebrew/Library/Homebrew/system_command.rb:62:in `run!'
/usr/local/Homebrew/Library/Homebrew/system_command.rb:37:in `run'
/usr/local/Homebrew/Library/Homebrew/system_command.rb:41:in `run!'
/usr/local/Homebrew/Library/Homebrew/system_command.rb:27:in `system_command!'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy/xz.rb:32:in `extract_to_dir'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:141:in `extract'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:148:in `block in extract_nestedly'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:145:in `extract_nestedly'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:200:in `extract_primary_container'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:79:in `stage'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:103:in `install'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:79:in `block in install_casks'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:78:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:78:in `install_casks'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:43:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:108:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:190:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:124:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:15:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:119:in `<main>'

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
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/spoom-1.0.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/thor-1.0.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/sorbet-runtime-stub-0.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ruby-macho-2.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-sorbet-0.5.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-rspec-2.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-performance-1.8.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/unicode-display_width-1.7.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ruby-progressbar-1.10.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-ast-1.1.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-wait-0.0.9/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-retry-0.6.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-its-1.3.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-3.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-mocks-3.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-expectations-3.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-core-3.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rspec-support-3.10.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ronn-0.7.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/regexp_parser-1.8.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rdiscount-2.2.0.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/rdiscount-2.2.0.2
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/pry-0.13.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/plist-3.5.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/patchelf-1.3.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/parlour-4.0.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rainbow-3.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/parser-2.7.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/parallel_tests-3.3.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/parallel-1.20.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mustache-1.1.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/method_source-1.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mechanize-2.7.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/webrobots-0.1.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ntlm-http-0.1.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/nokogiri-1.10.10/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/nokogiri-1.10.10
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mini_portile2-2.4.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/net-http-persistent-4.0.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/net-http-digest_auth-1.4.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mime-types-3.3.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mime-types-data-3.2020.0512/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/http-cookie-1.0.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/hpricot-0.8.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/hpricot-0.8.6
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/elftools-1.1.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/domain_name-0.5.20190701/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/unf-0.1.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/unf_ext-0.0.7.7/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/unf_ext-0.0.7.7
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/diff-lcs-1.4.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/connection_pool-2.2.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/commander-4.5.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/highline-2.0.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/colorize-0.8.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/coderay-1.1.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/codecov-0.2.12/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/simplecov-0.19.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/simplecov-html-0.12.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/docile-1.3.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/json-2.3.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/json-2.3.1
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/byebug-11.1.3/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/extensions/universal-darwin-19/2.6.0/byebug-11.1.3
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/bindata-2.4.8/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ast-2.4.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/activesupport-6.0.3.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/zeitwerk-2.4.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/tzinfo-1.2.7/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/thread_safe-0.3.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/minitest-5.14.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/i18n-1.8.5/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby
/Library/Ruby/Site/2.6.0
/Library/Ruby/Site/2.6.0/universal-darwin20
/Library/Ruby/Site
/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/universal-darwin20
/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/universal-darwin20
/usr/local/Homebrew/Library/Homebrew
==> Homebrew Version
2.5.10-14-g8561fbf
==> macOS
11.0.1
==> SIP
Enabled
==> Java
11.0.9
==> Homebrew Cask Staging Location
/usr/local/Caskroom
==> Homebrew Cask Taps:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask (3713 casks)
/usr/local/Homebrew/Library/Taps/danielbayley/homebrew-alfred (12 casks)
/usr/local/Homebrew/Library/Taps/peterlewis/homebrew-peterlewis (18 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions (166 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-fonts (1571 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-drivers (166 casks)
/usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk (43 casks)
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You are using macOS 11.0.
We do not provide support for this released but not yet supported version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or any other official channels. You are responsible for
resolving any issues you experience while you are running this
released but not yet supported version.

Output of brew tap

adoptopenjdk/openjdk
akx/things
brewsci/bio
danielbayley/alfred
github/gh
gnebbia/kb
homebrew/bundle
homebrew/cask
homebrew/cask-drivers
homebrew/cask-fonts
homebrew/cask-versions
homebrew/core
homebrew/services
koekeishiya/formulae
peterlewis/peterlewis
powershell/tap
schollz/tap
vitorgalvao/tiny-scripts
@peterlewis
Copy link
Contributor Author

As mentioned in #92692 (comment):

This may also help with #92674.

@miccal @reitermarkus - Just to report back my experience, regarding the above suggestion from @miccal and the result, in the context of resolving #92674:

  • I tested adding -Q and this just caused a never-ending loop of attempts, to no avail
  • I tested adding --no-warn and this too caused a never-ending loop of attempts
  • I tested both together, same outcome.

@core-code
Copy link
Contributor

i can confirm this issue

@peterlewis
Copy link
Contributor Author

i can confirm this issue

Ah lusciousness. I'm somewhat pleased it's not just me, although sorry to hear you're experiencing the same issue. I thought I'd mucked things up on my individual machine! 👍🏻

@core-code
Copy link
Contributor

core-code commented Nov 14, 2020

no need to be sorry i just installed it to confirm or deny the report to move things along here :)

@peterlewis
Copy link
Contributor Author

peterlewis commented Nov 14, 2020

Comparing LittleSnitch-5.0.1.dmg to LittleSnitch-5.0.2.dmg with WhatsYourSign, I notice there's a difference in item type:

  • LittleSnitch-5.0.1.dmg - zlib compressed data
  • LittleSnitch-5.0.2.dmg - xz compressed data

@core-code
Copy link
Contributor

i guess this is the problem

Using container class UnpackStrategy::Xz

should be using the DMG strategy

@peterlewis
Copy link
Contributor Author

peterlewis commented Nov 14, 2020

Firstly, out of an abundance of caution, I checked the integrity of the DMG, and all looks good and valid, having followed Objective Development's advice on checking download integrity:

codesign --verify -R="anchor apple generic and certificate leaf[subject.OU] = MLZF7K7B5R" ~/Downloads/LittleSnitch-5.0.2.dmg

Comparing the two DMGs with hdiutil reveals some more information:

hdiutil imageinfo Downloads/LittleSnitch-5.0.2.dmg
Format Description: UDIF read-only compressed (lzma)
...
Format: ULMO
hdiutil imageinfo Downloads/LittleSnitch-5.0.1.dmg
Format Description: UDIF read-only compressed (zlib)
...
Format: UDZO

A quick man hdiutil reveals the following:

macOS 10.15 added ULMO format images compressed with lzma. These images are smaller than comparable ULFO images compressed with lzfse. These images are not supported in-kernel, and are not usable on earlier OSes.

The 10.15 minimum requirement might also explain why @vitorgalvao found the DMG to be corrupt, as from this I speculate he may have been opening it from a 10.14 machine, perhaps?

Given that LS5 requires a minimum of Big Sur (11.0) to operate, I suppose it makes sense that they switched to this new format for the disk image.

As someone who knows very-little about this sort of thing, I suspect that something somewhere in brew is thinking these shiny new DMGs are XZ compressed and therefore not handling them appropriately? Certainly the previous tool I used to inspect them also alluded to XZ compression. A brief Google search brings up results that seem to indicate that XZ is based on the lzma algorithm.

Edit: LS confirmed via Twitter that move to ULMO/lzma was intentional and it results in a significantly smaller download (there's around a 10MB difference between LittleSnitch-5.0.1.dmg and LittleSnitch-5.0.2.dmg!).

@vitorgalvao
Copy link
Member

The 10.15 minimum requirement might also explain why @vitorgalvao found the DMG to be corrupt, as from this I speculate he may have been opening it from a 10.14 machine, perhaps?

Yep!

@miccal
Copy link
Member

miccal commented Nov 17, 2020

Having now upgraded to Big Sur, I can confirm this error, and all my investigations this far to rectify this have been in vain.

@peterlewis
Copy link
Contributor Author

peterlewis commented Nov 17, 2020

Ok. I'll prefix this with saying I know very-little about Ruby, but please do take a look at the following commit, which appears to fix the issue and allowed me to install little-snitch (5.0.2) without issue:

peterlewis/brew@29eccb1

No idea as to what else moving Dmg up the list might have broken, but thought I'd just let you know that it appears to resolve this specific issue!

@reitermarkus
Copy link
Member

I guess we have no other comment preventing Dmg from being moved before Xz. Mind submitting a PR @peterlewis?

@peterlewis
Copy link
Contributor Author

I guess we have no other comment preventing Dmg from being moved before Xz. Mind submitting a PR @peterlewis?

Sure thing! Draft PR in at Homebrew/brew#9161 - As I mentioned in the PR, I am not at all proficient in Ruby and have only tested this change on a single system running macOS Big Sur, so any and all advice/feedback would be appreciated!

@reitermarkus
Copy link
Member

reitermarkus commented Nov 17, 2020

Fixed in Homebrew/brew#9161.

@denkristoffer
Copy link
Contributor

I'm getting this exact error with 5.0.3. I checked the dmg and it's still XZ compressed data. Is anyone else seeing this problem now?

@miccal
Copy link
Member

miccal commented Nov 25, 2020

@denkristoffer please post the output of brew --version, thanks.

@denkristoffer
Copy link
Contributor

Homebrew 2.5.11
Homebrew/homebrew-core (git revision eb4ff; last commit 2020-11-26)
Homebrew/homebrew-cask (git revision e68da2; last commit 2020-11-26)

@miccal
Copy link
Member

miccal commented Nov 26, 2020

Ok, most likely the fix will be included when they bump up the version of Homebrew to 2.5.12., which should happen soon(ish).

@jonchang
Copy link
Contributor

2.5.12 is out now so brew update should fix these issues.

@Homebrew Homebrew locked as resolved and limited conversation to collaborators Dec 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

9 participants