Live data from Hacker News

Linuxbrew – A fork of Homebrew for Linux

brew.sh

41–50 of 68 posts

Re: Linuxbrew – A fork of Homebrew for Linux

#41

Earlier quoted context omitted.

The whole point of Homebrew is: 1) To install things in userland 2) To make maintenance easier. Is there a Linux package manager that puts everything in userland in a place like /usr/local? If not, then it installs things into the operating system , essentially. And that is bad design, pure and simple. You're basically mutating your OS, with nondeterministic results- such as I often run into when I hit "update everyt…

The whole point of Homebrew is to be a package manager for OS X, and it's only popular because its the best of several shit options. That it installs things as a non-admin user is not specific or inherent to its goal.

> That it installs things as a non-admin user is not specific or inherent to its goal.

Yes, yes it is. I was there when it was originally released, and its most radical feature at the time (when root-installing package managers were prevalent) was the change of philosophy of putting things in userland.

And 99% of installable code should live in userland. Without admin privs.

Re: Linuxbrew – A fork of Homebrew for Linux

#42
post #23

Earlier quoted context omitted.

Honest question, in what way is brew faster, more flexible, or more reliable than apt-get or yum? I've had far more problems with it than I have its Linux brethren.

I have never hung my OS X boot simply by updating Homebrew packages. I have frequently hung up my Linux distro boot simply by apt-get updating. To the point that I now run all my Linux OS'es in a VM and take a snapshot prior to updating. Coming from a Mac background, this possibility is not only ridiculous , it's fucking unacceptable. And it happens BECAUSE apt-get and yum mutate the OS install instead of installing…

if something is stopping your OS from booting, it is part of the OS, and thus must be installed as part of the OS, and not as a user land tool.

Re: Linuxbrew – A fork of Homebrew for Linux

#43

This is totally silly. Homebrew isn't a very good package manager. When I used it at a previous job (the only time I've used OS X), it was quite unreliable. It would try to build most things from source (which sometimes failed), but then download pre-built binaries for others. IIRC, installing the MySQL package just downloaded a binary from Oracle, it wasn't even a binary pre-built and verified with Homebrew! I have…

The whole point of Homebrew is: 1) To install things in userland 2) To make maintenance easier. Is there a Linux package manager that puts everything in userland in a place like /usr/local? If not, then it installs things into the operating system , essentially. And that is bad design, pure and simple. You're basically mutating your OS, with nondeterministic results- such as I often run into when I hit "update everyt…

Nix

Re: Linuxbrew – A fork of Homebrew for Linux

#44

Earlier quoted context omitted.

The whole point of Homebrew is: 1) To install things in userland 2) To make maintenance easier. Is there a Linux package manager that puts everything in userland in a place like /usr/local? If not, then it installs things into the operating system , essentially. And that is bad design, pure and simple. You're basically mutating your OS, with nondeterministic results- such as I often run into when I hit "update everyt…

The whole point of Homebrew is to be a package manager for OS X, and it's only popular because its the best of several shit options. That it installs things as a non-admin user is not specific or inherent to its goal.

It's one of the key differences between Homebrew and existing OS X package managers (Macports, Fink) and they talk about it quite a lot on the homepage and installation instructions. IMHO one of the reasons it's more popular.

"The standard script installs Homebrew to /usr/local so that you don’t need sudo when you brew install"

https://github.com/Homebrew/homebrew/blob/master/share/doc/h...

"Homebrew installs packages to their own directory and then symlinks their files into /usr/local."

"Homebrew won’t install files outside its prefix, and you can place a Homebrew installation wherever you like."

http://brew.sh/

Re: Linuxbrew – A fork of Homebrew for Linux

#45

Earlier quoted context omitted.

I have never hung my OS X boot simply by updating Homebrew packages. I have frequently hung up my Linux distro boot simply by apt-get updating. To the point that I now run all my Linux OS'es in a VM and take a snapshot prior to updating. Coming from a Mac background, this possibility is not only ridiculous , it's fucking unacceptable. And it happens BECAUSE apt-get and yum mutate the OS install instead of installing…

if something is stopping your OS from booting, it is part of the OS, and thus must be installed as part of the OS, and not as a user land tool.

Sure, but having a separate package manager (or, at least, a distinct package management "realm") for pure userland things that cannot break the OS install so that you know when you install from it you will not break the install, even with dependencies that may get pulled in, is good for piece of mind.

It might be better to have a single package manager which supported bother user and OS packages, and clearly distinguished between them, but in the absence of that it is good to have a way to install what you intend to be user packages with an assurance that they won't be installing OS-level things that might break the OS install.

Even aside from this guarantee, its good to be able to install things for a user, but to have other users on the same machine whose environments are unaffected by the install.

Re: Linuxbrew – A fork of Homebrew for Linux

#46

Why exactly is this needed? Conflicting with the system's package manager is obviously the most problematic issue with porting homebrew to linux, and I can imagine there's many more caveats that would render such a thing pretty useless.

1) it puts software into /usr/local, in userland, which is safer from both an OS stability and security perspective, since 99% of installable software doesn't deserve to run as root anyway. And then it modifies the PATH so that the OS first looks there, making it supersede any OS-installed packages.

2) it uses git

3) it has a really nice Ruby DSL (probably lost on you)

4) as I've mentioned elsewhere here, I've OFTEN hung my Linux distros on the next boot by doing a simple "apt-get update". This has NEVER happened in years of using Homebrew.

5) If you Linux folks had any sense of design (software or otherwise) to begin with, your OS wouldn't be primarily relegated to the backend, so the fact that you're one of dozens of people repeating the same "we don't need another package manager" doesn't surprise me in the least, because you guys wouldn't recognize a better design if it pulled up to you in a bus like this: https://www.youtube.com/watch?v=sLB-uMPj27s

Re: Linuxbrew – A fork of Homebrew for Linux

#47
Homebrew is not only a weak package manager, it is a dangerous package manager. No one makes it clear anywhere in the docs or on the site that it should never be used on a server or world-facing service...and people are using it for that.

Because it is installed in userland (its most advertised feature), it runs everything as the same user (probably an admin level user with sudo privileges). This throws away 40 years of basic UNIX security wisdom. All so you can install it without sudo.

I recently set out to make our software (and all of its dependencies) installable on Mac OS X. I tried Homebrew first, because it seems so popular and well-liked. But, it's just awful. Coming from a couple of decades using Linux package managers, it's like stepping into the stone age, and it's absurd to bring something that is vastly inferior to the existing options on Linux over. I even blogged about it, for a variety of reasons (mostly to warn people off of the thing): http://inthebox.webmin.com/homebrew-package-installation-for...

Frankly, this is like porting the DOS command line to Linux (which has probably happened at some point, but hopefully as a joke or to solve a specific problem).

So, if you're going to use this, know that it is for home use. If you are putting this on a server for installing services (as I found many people on the web doing with the Mac version) you are doing it so wrong.

Re: Linuxbrew – A fork of Homebrew for Linux

#48
post #23

Earlier quoted context omitted.

Honest question, in what way is brew faster, more flexible, or more reliable than apt-get or yum? I've had far more problems with it than I have its Linux brethren.

I have never hung my OS X boot simply by updating Homebrew packages. I have frequently hung up my Linux distro boot simply by apt-get updating. To the point that I now run all my Linux OS'es in a VM and take a snapshot prior to updating. Coming from a Mac background, this possibility is not only ridiculous , it's fucking unacceptable. And it happens BECAUSE apt-get and yum mutate the OS install instead of installing…

It rather sounds like your preference for brew is that brew is a user-level tool that can't update system packages. There's certainly a case to be made user-scoped package managers are valuable, but "my package manager is capable of updating everything including my kernel" is a feature, not a bug, IMO - brew's constant conflicts with OS X's Apple-provided toolchains should be more than sufficient evidence as to why.

apt-get et al are extremely capable package managers, and in my experience result in much more stable and consistent installs than brew does, specifically because it can be aware of things like OS-level dependencies which it can then manage.

Re: Linuxbrew – A fork of Homebrew for Linux

#49

Why exactly is this needed? Conflicting with the system's package manager is obviously the most problematic issue with porting homebrew to linux, and I can imagine there's many more caveats that would render such a thing pretty useless.

1) it puts software into /usr/local, in userland, which is safer from both an OS stability and security perspective, since 99% of installable software doesn't deserve to run as root anyway. And then it modifies the PATH so that the OS first looks there, making it supersede any OS-installed packages. 2) it uses git 3) it has a really nice Ruby DSL (probably lost on you) 4) as I've mentioned elsewhere here, I've OFTEN…

1) So /usr/local is now writable by users? Most software doesn't run as root regardless of where it's installed... I think you mean that you can install into a user prefix without admin privileges, which does make sense for certain packages (if different users require different versions, or something like that).

You can probably accomplish something similar with yum/rpm though by using the downloadonly plugin and using relocatable rpm's (though probably most distro rpm's are not relocatable, but that doesn't stop someone from creating a custom repository of relocatable rpm's and offering a script that does something like yum-downloader --resolve --destdir=~/.myrpms ; rpm --prefix=~/.local/ --dbpath=~/.myrpmdb -Uvh ~/.myrpms/* )

2) So? A repository of rpm specs or the debian equivalent could also be stored in git...

3) Maybe that's nicer, but it could probably build a .spec file (or the debian equivalent) as well in the same DSL which would be superior.

4) Probably because you never installed a kernel or other system package using homebrew

5) Yes homebrew, a third-party hacky collection of scripts necessary because OS X does not provide basic tools for managing software, is an example of superior OS design by Apple?

Re: Linuxbrew – A fork of Homebrew for Linux

#50

This is totally silly. Homebrew isn't a very good package manager. When I used it at a previous job (the only time I've used OS X), it was quite unreliable. It would try to build most things from source (which sometimes failed), but then download pre-built binaries for others. IIRC, installing the MySQL package just downloaded a binary from Oracle, it wasn't even a binary pre-built and verified with Homebrew! I have…

The whole point of Homebrew is: 1) To install things in userland 2) To make maintenance easier. Is there a Linux package manager that puts everything in userland in a place like /usr/local? If not, then it installs things into the operating system , essentially. And that is bad design, pure and simple. You're basically mutating your OS, with nondeterministic results- such as I often run into when I hit "update everyt…

>Is there a Linux package manager that puts everything in userland in a place like /usr/local?

GNU Guix and Nix.

I am a core developer for GNU Guix.

Post reply on HN