Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

Allow searching/installing Homebrew Casks #34496

Closed
wants to merge 1 commit into from
Closed

Allow searching/installing Homebrew Casks #34496

wants to merge 1 commit into from

Conversation

MikeMcQuaid
Copy link
Member

People want to install things like GIMP using Homebrew so let's make it easier for them to find a decent installation method.

I'm interested from input from @Homebrew/owners and @rolandwalker on the general approach here. I'd love to see us move the projects a bit closer together.

@MikeMcQuaid MikeMcQuaid mentioned this pull request Nov 27, 2014
@DomT4
Copy link
Member

DomT4 commented Nov 27, 2014

I whinge about some of this to Mike, so to punt things out into the open and express a desire to see them fixed and help fix them where I can. These are just my views, and I'm willing to bend and discuss on them, or just be giggled at. Whatever is best, really.

  • The Caskroom ideally needs to move away from fluid download links. Fluid download links are:
  1. Difficult to maintain - work out what broke and why, and how to fix it, and what to report upstream.
  2. Impossible to checksum and if you're gonna distribute binaries you should be checksumming them. We're aiming for a better experience than browsers deliver, and security is part of that. This isn't a small issue; some 770 Casks have no checksum mechanism in place.
  3. How do you work out what version something is? If a user hasn't had a piece of software updated for weeks or months? If that download link is fluid, Bob could have installed Chromium yesterday and it could have broken, but Sandra could have installed Chromium 8 weeks ago and not been updated since, and her Chromium just broke too, so how do you deal with those situations?
  • The licensing stuff really needs to be cleared up. Some of the stuff is labelled with licenses, some of the stuff is explicitly labelled as "Meh, who knows", and some of it is labelled :closed. IMO, shipping closed source software without explicit upstream permission is asking for legal trouble, and given Github's (understandable) DMCA policy, it only takes one complaint that can't be rebuffed to have the repository temporarily spirited away. The law here, both in the US & EU is incredibly broad in favour of the license holder, and I question whether the risks are worth the convenience without some measure in place to mitigate those risks. Homebrew had a license discussion in Licenses in Formulae #34272 that may or may not be interesting.

Other than those niggles, I think further meshing of Homebrew and the Caskroom is a great idea, and mutually beneficial. If this goes ahead, I'd love to see the two projects more actively point towards each other as a better solution for x,y,z than they can offer. (i.e. Homebrew core provides a better experience with .app bundles that require a "make" step. The Caskroom provides a better experience of delivering upstream pre-created .app bundles and making it super-easy to download and get something working in under a minute).

As a disclaimer, I'm pretty much Homebrew's resident paranoid guy. If something can be made more secure, I'll push hard for it. The maintainers tend to reign me in when I get out of control on that 😉.

@rolandwalker
Copy link
Contributor

@MikeMcQuaid Hi! system is not such an awful hack here. @phinze and I both concluded that the original decision to be required into Homebrew was an error (the domains are different enough that it is all pain, no gain).

The command-line interface is and should be the guaranteed API for both projects. Per Homebrew/homebrew-cask#5080 we would like to untangle the Ruby backends for sanity's sake, but we would also be keen to improve interop.

@DomT4 we started adding license values 8 weeks ago (Homebrew/homebrew-cask#6431), and progress has been very good. :unknown exists as a value because license is a required stanza. I would be happy to further discuss this and our ongoing work re: version :latest Casks in an on-topic location.

@MikeMcQuaid
Copy link
Member Author

@rolandwalker I guess my main question for you: would you be 😄/😭 if we started doing this?

@DomT4
Copy link
Member

DomT4 commented Nov 27, 2014

@DomT4 we started adding license values 8 weeks ago

Oh, Apologies if it seemed like I was judging here. I have nothing but ❤️ for the Caskroom, bar the issues I raised above. I'm less concerned about the implementation and more concerned about the legal questions around shipping closed source software, that's my concern. I just didn't want anyone to get left in a position where 6 months down the line anyone is fighting a takedown, you guys have worked too hard to deserve that sort of thing. That was my worry, not an intended criticism of the Cask team or the desire to implement license stanzas.

@rolandwalker
Copy link
Contributor

@MikeMcQuaid I think interop is great – let's make it work, on both ends if needed.

@MikeMcQuaid
Copy link
Member Author

Do any of @Homebrew/owners have thoughts on this? If not, I'll probably merge something less hideous at some point.

People want to install things like GIMP using Homebrew so let's make it
easier for them to find a decent installation method.
@MikeMcQuaid MikeMcQuaid changed the title Allow searching/installing Homebrew Casks (WIP). Allow searching/installing Homebrew Casks Nov 28, 2014
@MikeMcQuaid
Copy link
Member Author

Pushed a cleaner version.

@MikeMcQuaid
Copy link
Member Author

Will probably merge this early next week if there's no objections.

@tdsmith
Copy link
Contributor

tdsmith commented Nov 29, 2014

👍 on integration; it's clear to me from watching Twitter that many people use Homebrew and Homebrew Cask together IRL and they complement each other in useful ways.

It would be nice to hide this non-fatal error in the case where homebrew-cask is already installed:

darkside:local tim$ brew install Caskroom/cask/gimp
==> Installing brew-cask from caskroom/homebrew-cask
Error: brew-cask-0.46.0 already installed
To install this version, first `brew unlink brew-cask'
==> Downloading http://download.gimp.org/pub/gimp/v2.8/osx/gimp-2.8.14.dmg
...

@MikeMcQuaid
Copy link
Member Author

It would be nice to hide this non-fatal error in the case where homebrew-cask is already installed:

Will do. The next thing I'd like to handle (in another PR) is allowing e.g. brew install gimp to install Gimp straight from Homebrew cask and allow tap_migrations.rb to migrate people to Cask installs of software.

@MikeMcQuaid
Copy link
Member Author

This might actually be a nice experiment to start the work on decoupling the formula folder e.g. being able to brew install gcc48 without needing a physical symlink to be present in Library/Formula

@MikeMcQuaid MikeMcQuaid deleted the cask-integration branch November 30, 2014 17:59
MikeMcQuaid added a commit that referenced this pull request Nov 30, 2014
People want to install things like GIMP using Homebrew so let's make it
easier for them to find a decent installation method.

Closes #34496.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
sDaniel pushed a commit to sDaniel/homebrew that referenced this pull request Dec 2, 2014
People want to install things like GIMP using Homebrew so let's make it
easier for them to find a decent installation method.

Closes Homebrew#34496.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
@Homebrew Homebrew locked and limited conversation to collaborators Feb 17, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants