Skip to content

Add docs/Linuxbrew.md#5483

Merged
sjackman merged 1 commit into
Homebrew:masterfrom
sjackman:docs-linuxbrew
Jan 7, 2019
Merged

Add docs/Linuxbrew.md#5483
sjackman merged 1 commit into
Homebrew:masterfrom
sjackman:docs-linuxbrew

Conversation

@sjackman

@sjackman sjackman commented Jan 4, 2019

Copy link
Copy Markdown
Contributor
  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example.
  • Have you successfully run brew style with your changes locally?
  • Have you successfully run brew tests with your changes locally?

@sjackman sjackman self-assigned this Jan 4, 2019
Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First sentence:

Besides macOS, Homebrew also supports Linux and Windows 10+ (via its Windows Subsystem for Linux (WSL)).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm inclined to remove the mention of macOS, as its stating the obvious to say that Homebrew runs on macOS.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe: "The Homebrew package manager may also be used on Linux and Windows 10+, using Windows Subsystem for Linux (WSL)."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does not require root access.

does not use the root user.

went with does not require sudo.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as well as macOS. -> as well as on macOS.?
Or maybe just remove that bit?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does seem like stating the obvious.

Comment thread docs/README.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"and Windows 10".

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that text not already somewhere else in the mac doc?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be, but I don't think it hurts to reiterate the fact here as a feature of Linuxbrew.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I concur with @iMichka: this section is redundant IMHO

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These features are particularly relevant to Linux users of Homebrew.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels a bit weird to list features after install instructions

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move Features above Install.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go on the main homebrew readme page.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, but it doesn't hurt to reiterate it here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Linuxbrew category of Homebrew's Discourse"

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this part can go on the main readme page too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We both use Bintray, and that's acknowledged already. Homebrew doesn't use CircleCI though, so here is a better spot for it.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest using ## Install: there should be only one header (# Linuxbrew) IMHO.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion, <title> is for the title of the document, and <h1> (aka #) is for the first level of section headers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @maxim-belkin. This will look weird on docs.brew.sh otherwise.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alrighty. I'll give in… this time. =p

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

, called bottles, ~> ("bottles") or ,aka "bottles", or ("bottles" in Homebrew terminology)
than ~> rather than

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I generally prefer parenthetical commas over parentheses in my writing. I don't feel strongly about this one. Perhaps

… binary packages (bottles) than installing …

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ 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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like parenthetical style for defining bottles is more common in the Homebrew codebase.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if possible

when would it not be possible?

agreed with matching existing style

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The installation script installs Linuxbrew to /home/linuxbrew/.linuxbrew if possible

when would it not be possible?

When the user does not have sudo permissions on their system.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest moving this snippet up to right below the # Install and then going into details about it...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why *Next steps*?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the text output by the installer script for both Homebrew and Linuxbrew.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sudo -> sudo ?

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it just occurred to me... -d tests if directory exists. We need to test -d, -w, and -x

@sjackman sjackman Jan 4, 2019

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if neither exist?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Bottles"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer not to add scare quotes around each use of the word bottles.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to repeat stuff from above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deleted.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally use a Markdown file link here instead

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @maxim-belkin. This will look weird on docs.brew.sh otherwise.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if possible

when would it not be possible?

agreed with matching existing style

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if neither exist?

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. I'll address that in a separate PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, thanks.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to repeat stuff from above.

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Linuxbrew category of Homebrew's Discourse"

Comment thread docs/README.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"and Windows 10".

@sjackman

sjackman commented Jan 4, 2019

Copy link
Copy Markdown
Contributor Author

I believe I've addressed all your comments. Thanks for your feedback. Ready for re-review.

@MikeMcQuaid MikeMcQuaid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @sjackman!

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sudo -> sudo ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went with sudo

Comment thread docs/Linuxbrew.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Linuxbrew category](https://discourse.brew.sh/c/linuxbrew) of [Homebrew's Discourse](proper-link-here) ?

@sjackman
sjackman merged commit 464b41e into Homebrew:master Jan 7, 2019
@sjackman
sjackman deleted the docs-linuxbrew branch January 7, 2019 17:45
@lock lock Bot added the outdated PR was locked due to age label Feb 6, 2019
@lock lock Bot locked as resolved and limited conversation to collaborators Feb 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

outdated PR was locked due to age

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants