-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
install: default repo to /usr/local/Homebrew. #60
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
Conversation
# the group is set to wheel by default for some reason | ||
sudo "/usr/sbin/chown", "#{ENV['USER']}:admin", HOMEBREW_PREFIX | ||
sudo "/usr/sbin/chown", "root:wheel", HOMEBREW_PREFIX | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's your thinking here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, cf Homebrew/brew#896
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tdsmith Yep. Basically: that's the default permissions so if this directory doesn't exist, let's restore them to avoid any weird changes in future.
I like this change. Can we think of any circumstances where someone is using |
Seems like a good idea, especially with Apple moving to lock down |
👍 on the idea. Owning less of |
ohai "This script will install:"
puts "#{HOMEBREW_PREFIX}/bin/brew"
puts "#{HOMEBREW_PREFIX}/share/doc/homebrew"
puts "#{HOMEBREW_PREFIX}/share/man/man1/brew.1"
puts "#{HOMEBREW_PREFIX}/share/zsh/site-functions/_brew"
puts "#{HOMEBREW_PREFIX}/etc/bash_completion.d/brew"
puts "#{HOMEBREW_REPOSITORY}/Library/..." We should be installing all these (except the last, which should probably be replaced with Also, after this change we're going to see weird paths like |
Yeh, this is somewhat possible but unavoidable. Thankfully the case where they use Oh, also: well done @chdiza, you changed the Homebrew default 😀 |
They are all installed by the later
Yep. A bit part of the motivation for this change is being able to move around the contents of our repository without dumping crap in |
Oh, good to know, that's good enough. |
This means that we can move stuff around inside the repository without causing conflicts on `update` or dumping things in `/usr/local` but keep all our existing bottles working as-is.
@apjanke what are you referring to here? |
@ilovezfs If nothing else: they reset permissions on every major OS upgrade which is a) annoying b) a bit of a sign that they don't consider our permission changes there to be desirable. |
Pretty sure that's basically unintentional since /usr/local doesn't even exist in the default installation. In any case, I'm not sure what's been achieved with respect to /usr/local unless the actual default non-relocatable bottle installation path changes. But increasing encapsulation of the brew repo is a sufficient reason even if I see nothing else being achieved. |
Yep, we're not changing the default there so there will still be |
Well of course, and I believe that's for good reasons. I might be wrong but I think even repairing disk permissions will restore ownership of |
This will remain. |
I'm not talking about changing Homebrew's default. Just saying from Apple's point of view it's certainly not desirable. |
FWIW, I think it would be good to start making a list somewhere of potential new locations so people can start cogitating on what actually is going to work best. |
I don't think that's going to change any time soon (perhaps ever) because it'd require rebuilding all our bottles and then remove us from the default search path from many other tools. |
I bet this "suddenly" becomes a priority for some unexpected reason. 🔮 |
This matches the upstream Homebrew installer changes doing the same (Homebrew/install#60). Don't move people's Homebrew installations around, though; respect their previous location and leave any migration to `brew update`.
Sweet! I guess I would like it to be |
If we had the resources I'd like to bottle/test two default prefixes where the bottle wasn't
|
It'll likely change in future but the previous reasoning was because you have |
What would already exist in |
In any case (heh heh), this is a nice change! 😄 |
I just meant the SIP introduced with El Capitan. Nothing new in Sierra AFAIK. |
@MikeMcQuaid does this PR have any consequences for what should/shouldn't be in https://github.com/Homebrew/brew/blob/master/.gitignore ? |
@ilovezfs Unfortunately not until at least after we do the migration and possibly never if we allow people to also keep |
Yeah that .gitignore freaks me out every time I look at it. |
@ilovezfs The best/worst thing is that |
Oh that's just stellar. |
Personal temptation is for us to do a hard migration without an opt-out. |
@DomT4 Sorry, I mean for people installed in non- |
This is great but why not use |
@sandstrom Personal preference and to match |
Also, look at the name of the organization ;) |
Homebrew is awesome so I won't argue (even though I disagree 😃 ). Is it configurable? |
I'm also in favour of a small letter 'homebrew', in fact I use it like that since the very beginning:
I'm very happy with that setup (keeps things nice and clean and clearly separated), so I'm rather afraid to Will it break/ mess up things? The to-be-killed root "support" is dangling like a Damocles sword too (but no way in hell I'll ever have any user owned files in /usr/local/ on a machine that is shared by multiple accounts) 😱 |
On a case-sensitive filesystem:
On a case-insensitive but case-preserving filesystem:
On a case-insensitive and case non-preserving filesystem: Excuse me? |
@zmwangx thanks! I was thinking more of an install flag/option, a prompt when installing or a cli message upon install pointing to docs/info on how to modify. |
@sandstrom We surely won't recommend that so putting it in the install script is out of question. We do link to https://github.com/Homebrew/brew/blob/master/docs/Installation.md#installation from http://brew.sh which gives alternative installation instructions, including installing to custom locations. Now |
You can install Homebrew wherever you like but the defaults will stay as-is, thanks! |
This means that we can move stuff around inside the repository without causing conflicts on
update
or dumping things in/usr/local
but keep all our existing bottles working as-is.CC @Homebrew/maintainers for thoughts because this is a pretty big change.