Hummingbird icon indicating copy to clipboard operation
Hummingbird copied to clipboard

Homebrew got another cask called hummingbird

Open FredrikWendt opened this issue 1 year ago • 11 comments

Hummingbird was just uninstalled from a brew upgrade. Instead, a VPN client was installed.

https://github.com/Homebrew/homebrew-cask/pull/143791#issuecomment-1521797262

I would've preferred getting Hummingbird (the app from this repo) from the upstream/central Homebrew-cask repo.

FredrikWendt avatar Apr 25 '23 13:04 FredrikWendt

Seems like it's related to this: https://github.com/finestructure/Hummingbird/pull/43

I presume brew install finestructure/hummingbird/hummingbird isn't working?

finestructure avatar Apr 25 '23 16:04 finestructure

Yes, this has created a mess with brew wanting to update based on the other package's version number and I don't know how to clean it up.

SCR-20230502-htzl

reagle avatar May 02 '23 12:05 reagle

This comment seems to indicate that the full cask name should work: https://github.com/Homebrew/homebrew-cask/pull/143791#issuecomment-1522299028

Hope that helps!

finestructure avatar May 03 '23 06:05 finestructure

The full cask name works, yes.

The bug here lies with how Homebrew deals with

brew install finestructure/hummingbird/hummingbird
brew upgrade hummingbird

... which works just fine, until another app shows up in the ecosystem with the same name.

Homebrew maintainer @reitermarkus agrees this is a bug:
https://github.com/Homebrew/homebrew-cask/pull/145837#issuecomment-1522339937

FredrikWendt avatar May 03 '23 17:05 FredrikWendt

As an aside, I'm surprised this is the first time this ever happened.

reagle avatar May 03 '23 18:05 reagle

I just went to a computer I haven't touch in a while and see the following, is this still this issue?

==> Found outdated apps
     Cask         Current  Latest  A/U    Result
1/1  hummingbird  3.3.0    1.3.0        [OUTDATED]

Do you want to upgrade 1 app or enter [i]nteractive mode [y/i/N]? Y
==> Upgrading hummingbird to 1.3.0
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/d08e0c7f9f36629e8d3245f8b
Already downloaded: /Users/reagle/Library/Caches/Homebrew/downloads/9b26e8c9e4681b9f79220043789c5a8196c452c64c702475b04fc83081096cb5--hummingbird.rb
Error: Download failed on Cask 'hummingbird' with message: Failure while executing; `/usr/bin/env /opt/homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.0.28-67-ge9ac36a\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 13.4.1\)\ curl/7.88.1 --header Accept-Language:\ en --retry 3 --fail --location --silent --head https://eddie.website/repository/hummingbird/1.3.0/hummingbird-macos-arm64-notarized-1.3.0.zip` exited with 35. Here's the output:
curl: (35) Recv failure: Connection reset by peer

reagle avatar Jul 14 '23 13:07 reagle

I don't know if there's anything I could/should be doing to fix this. My understanding is it's an upstream problem. Does using the full cask name still work as a work-around?

finestructure avatar Jul 15 '23 06:07 finestructure

Using the full cask name helps at installation, but often breaks at upgrade. Homebrew uninstalls finestructure/hummingbird, and installs the other package. :-(

FredrikWendt avatar Jan 29 '24 19:01 FredrikWendt

This is becoming really annoying. Would it be possible to call the cask hbird, or create a real homebrew package with a name that doesn't collide with a package (actually cask) registered in upstream Homebrew?

Every "brew upgrade" will pull down the other cask (a VPN software), not this window move/resizing cask, and install that package instead. There is no way to "freeze" a cask, and Homebrew will never even try to add support for that (see https://github.com/Homebrew/homebrew-cask/issues/90242).

Essentially, this lovely piece of software can only be installed with Homebrew once, but will stop working at your first run of "brew upgrade", rendering this cask essentially useless with lots of extra manual work everytime anyone wants to "brew upgrade". The ease of automation that this cask once brought, is completely gone.

I suggest you either remove this cask and inform us "no, sorry, we don't care about simple installation and upgrades via Homebrew" or fix this properly so that it works as intended. This cask is severely broken/essentially useless as it stands, IMO.

FredrikWendt avatar Feb 16 '24 07:02 FredrikWendt

It usually ends up in this mess:

ceda@studiom1 ~ % brew upgrade
==> Downloading https://formulae.brew.sh/api/formula.jws.json

==> Downloading https://formulae.brew.sh/api/cask.jws.json

==> Casks with 'auto_updates true' or 'version :latest' will not be upgraded; pass `--greedy` to upgrade them.
==> Upgrading 1 outdated package:
hummingbird 3.3.0 -> 1.3.0
==> Upgrading hummingbird
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/1c3a282c45890bc7cfeb57e75ba552b4a96976a6/Casks/h/hummingbi
Already downloaded: /Users/ceda/Library/Caches/Homebrew/downloads/153d82a1968cdfa1e41a0ae3b08e56dd06be040fe1734884ddecf55f19d2573a--hummingbird.rb
==> Downloading https://eddie.website/repository/hummingbird/1.3.0/hummingbird-macos-arm64-notarized-1.3.0.zip
Already downloaded: /Users/ceda/Library/Caches/Homebrew/downloads/42276369502109d4b1866283ab22bb7e6b09e28593926594907b1a2130782739--hummingbird-macos-arm64-notarized-1.3.0.zip
==> Purging files for version 1.3.0 of Cask hummingbird
Error: hummingbird: It seems the App source '/Applications/Hummingbird.app' is not there.
ceda@studiom1 ~ % brew install finestructure/hummingbird/hummingbird
==> Upgrading 1 outdated package:
finestructure/hummingbird/hummingbird 3.3.0 -> 3.3.0
==> Upgrading hummingbird
==> Downloading https://finestructure.co/s/Hummingbird-330.zip
Already downloaded: /Users/ceda/Library/Caches/Homebrew/downloads/359f6180570711d5a1d20643b5ef948968d1e4583ff85ff81450945ff437d398--Hummingbird-3.3.0.zip
==> Purging files for version 3.3.0 of Cask hummingbird
Error: finestructure/hummingbird/hummingbird: It seems the App source '/Applications/Hummingbird.app' is not there.

FredrikWendt avatar Feb 16 '24 07:02 FredrikWendt

Hummingbird isn't really something that'll get updated a lot. The only future changes I can see is if macOS versions would break it. I use it all the time, on all my machines, so this doesn't mean it's "stale". On the contrary, it's just "complete".

So I'm not sure if installing it via Homebrew is such a huge gain then since it's a one-off action and you might as well just download the binary.

If this continues to be an issue for people, I'm tempted to simply remove the cask.

finestructure avatar Feb 16 '24 09:02 finestructure