Add docs/Linuxbrew.md#5483
Conversation
There was a problem hiding this comment.
A Linuxbrew installation does not use any libraries provided by your host system, except *glibc* and *gcc* if they are sufficiently current. Otherwise, versions of *glibc* and *gcc* may be installed in your home directory on an older distribution of Linux.
There was a problem hiding this comment.
First sentence:
Besides macOS, Homebrew also supports Linux and Windows 10+ (via its Windows Subsystem for Linux (WSL)).
There was a problem hiding this comment.
I'm inclined to remove the mention of macOS, as its stating the obvious to say that Homebrew runs on macOS.
There was a problem hiding this comment.
Maybe: "The Homebrew package manager may also be used on Linux and Windows 10+, using Windows Subsystem for Linux (WSL)."
There was a problem hiding this comment.
I'm inclined to remove the mention of macOS, as its stating the obvious to say that Homebrew runs on macOS.
Agreed.
does not require root access
does not use the root user
may be installed in your home directory
may be installed in your Homebrew prefix (or some similar wording that still works if Linuxbrew is installed outside the home directory)
if they are sufficiently current.
if they are new enough
There was a problem hiding this comment.
does not require root access.
does not use the root user.
went with does not require sudo.
There was a problem hiding this comment.
@sjackman I'm being pedantic but I think it's worth noting when things like sudo are mentioned that after installation it doesn't use it (ever) rather than doesn't require it (which sounds like it will if it can)
There was a problem hiding this comment.
Went with…
It can be installed in your home directory, in which case it does not use sudo.
…
The installation script installs Linuxbrew to /home/linuxbrew/.linuxbrew using sudo if possible and in your home directory at ~/.linuxbrew otherwise. Linuxbrew does not use sudo after installation.
There was a problem hiding this comment.
as well as macOS. -> as well as on macOS.?
Or maybe just remove that bit?
There was a problem hiding this comment.
It does seem like stating the obvious.
There was a problem hiding this comment.
There is an Installation page above for mac, should we add a comment there for a Linux installation? Or should we try to regroup both installation procedures in one page?
There was a problem hiding this comment.
Eventually I'd like the same installation procedure (one-line shell snippet) to be used for both macOS and Linux. In the mean time, https://linuxbrew.sh will be the go-to resource for installation instructions.
There was a problem hiding this comment.
Is that text not already somewhere else in the mac doc?
There was a problem hiding this comment.
It may be, but I don't think it hurts to reiterate the fact here as a feature of Linuxbrew.
There was a problem hiding this comment.
I concur with @iMichka: this section is redundant IMHO
There was a problem hiding this comment.
These features are particularly relevant to Linux users of Homebrew.
There was a problem hiding this comment.
Feels a bit weird to list features after install instructions
There was a problem hiding this comment.
Move Features above Install.
There was a problem hiding this comment.
This should go on the main homebrew readme page.
There was a problem hiding this comment.
Agreed, but it doesn't hurt to reiterate it here.
There was a problem hiding this comment.
"Linuxbrew category of Homebrew's Discourse"
There was a problem hiding this comment.
And this part can go on the main readme page too.
There was a problem hiding this comment.
We both use Bintray, and that's acknowledged already. Homebrew doesn't use CircleCI though, so here is a better spot for it.
There was a problem hiding this comment.
I suggest using ## Install: there should be only one header (# Linuxbrew) IMHO.
There was a problem hiding this comment.
In my opinion, <title> is for the title of the document, and <h1> (aka #) is for the first level of section headers.
There was a problem hiding this comment.
I agree with @maxim-belkin. This will look weird on docs.brew.sh otherwise.
There was a problem hiding this comment.
Alrighty. I'll give in… this time. =p
There was a problem hiding this comment.
, called bottles, ~> ("bottles") or ,aka "bottles", or ("bottles" in Homebrew terminology)
than ~> rather than
There was a problem hiding this comment.
I generally prefer parenthetical commas over parentheses in my writing. I don't feel strongly about this one. Perhaps
… binary packages (bottles) than installing …
There was a problem hiding this comment.
$ rg 'binary.*bottle|bottle.*binary'
diagnostic.rb: You can install Homebrew anywhere you want but some bottles (binary packages)
brew.sh:you being able to use all the binary packages (bottles) Homebrew provides. We
build_options.rb: # True if a {Formula} is being built as a bottle (i.e. binary package).
formula.rb: # When installing a bottle (binary package) from a local path this will be
cmd/vendor-install.sh:both Bintray (used for Homebrew bottles/binary packages) and GitHub
dev-cmd/bottle.rb:#: Generate a bottle (binary package) from a formula that was installed with
dev-cmd/bottle.rb: Generate a bottle (binary package) from a formula that was installed with
extend/os/linux/diagnostic.rb: You will be unable to use binary packages (bottles).
There was a problem hiding this comment.
Looks like parenthetical style for defining bottles is more common in the Homebrew codebase.
There was a problem hiding this comment.
if possible
when would it not be possible?
agreed with matching existing style
There was a problem hiding this comment.
The installation script installs Linuxbrew to
/home/linuxbrew/.linuxbrewif possible
when would it not be possible?
When the user does not have sudo permissions on their system.
There was a problem hiding this comment.
I suggest moving this snippet up to right below the # Install and then going into details about it...
There was a problem hiding this comment.
That's the text output by the installer script for both Homebrew and Linuxbrew.
There was a problem hiding this comment.
it just occurred to me... -d tests if directory exists. We need to test -d, -w, and -x
There was a problem hiding this comment.
If the directory exists, I prefer the user get an error message if it's not also -w or -x, as with the current code.
There was a problem hiding this comment.
These commands are meant to be run after a successful run of sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)", after which one of these two directories will exist.
There was a problem hiding this comment.
I prefer not to add scare quotes around each use of the word bottles.
There was a problem hiding this comment.
This seems to repeat stuff from above.
There was a problem hiding this comment.
I'm inclined to remove the mention of macOS, as its stating the obvious to say that Homebrew runs on macOS.
Agreed.
does not require root access
does not use the root user
may be installed in your home directory
may be installed in your Homebrew prefix (or some similar wording that still works if Linuxbrew is installed outside the home directory)
if they are sufficiently current.
if they are new enough
There was a problem hiding this comment.
Ideally use a Markdown file link here instead
There was a problem hiding this comment.
I agree with @maxim-belkin. This will look weird on docs.brew.sh otherwise.
There was a problem hiding this comment.
if possible
when would it not be possible?
agreed with matching existing style
There was a problem hiding this comment.
If a "best-effort basis" and no binary packages I think this should be stated by brew doctor and the pre-installation instructions (like on old versions of macOS)
There was a problem hiding this comment.
Okay. I'll address that in a separate PR.
There was a problem hiding this comment.
Personally I'm not sure the "pull requests would be welcome" part; it'd better be to suggest starting a dedicated fork like Tigerbrew and it could be merged back if it's used.
There was a problem hiding this comment.
Went with…
Linuxbrew does not currently support 32-bit x86 platforms. It would be possible for Linuxbrew to work on 32-bit x86 platforms with some effort. An interested and dedicated person could maintain a fork of Homebrew to develop support for 32-bit x86.
There was a problem hiding this comment.
This seems to repeat stuff from above.
There was a problem hiding this comment.
"Linuxbrew category of Homebrew's Discourse"
ef805ef to
9b09cdf
Compare
|
I believe I've addressed all your comments. Thanks for your feedback. Ready for re-review. |
9b09cdf to
98723c4
Compare
There was a problem hiding this comment.
[Linuxbrew category](https://discourse.brew.sh/c/linuxbrew) of [Homebrew's Discourse](proper-link-here) ?
98723c4 to
441d28d
Compare
441d28d to
f25eff1
Compare
brew stylewith your changes locally?brew testswith your changes locally?