I’m especially concerned about it being somehow broken, unwieldy, insecure or privacy-invasive.

Case in point; at times I have to rely on a Chromium-based browser if a website decides to misbehave on a Firefox-based browser. Out of the available options I gravitate towards Brave as it seems like the least bad out of the bunch.

Unfortunately, their RPM-package leaves a lot to be desired and has multiple times just been awful to deal with. So much so that I have been using another Chromium-based browser instead that’s available directly from my distro’s repos. But…, I would still switch to Brave in an instant if Brave was found in my distro’s repos. A quick search on repology.org reveals that an up-to-date Brave is packaged in the AUR (unsurprisingly), Manjaro and Homebrew. I don’t feel like changing distros for the sake of a single program, but adding Homebrew to my arsenal of universal package managers doesn’t sound that bad. But, not all universal package managers are created equal, therefore I was interested to know how Homebrew fares compared to the others and if it handles the packaging of the browser without blemishing the capabilities of the browser’s sandbox.


P.S. I expect people to recommend me Distrobox instead. Don’t worry, I have been a staunch user of Distrobox for quite a while now. I have also run Brave through an Arch-distrobox in the past. But due to some concerns I’ve had, I chose to discontinue this. Btw, its Flatpak package ain’t bad either. But unfortunately it’s not official, so I choose to not make use of it for that reason.

  • Krause [he/him]
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    edit-2
    1 year ago

    I tried Homebrew once in a VM and didn’t like it, I felt it was too invasive.

    1. https://github.com/Homebrew/install/blob/85c5f4b57452dbd1c7ebc01a021548d2ceaf2b64/install.sh#L173

    Why does it create another user and put files under /home/linuxbrew/? Answer:

    The script installs Homebrew to its default, supported, best prefix (/opt/homebrew for Apple Silicon, /usr/local for macOS Intel and /home/linuxbrew/.linuxbrew for Linux) so that you don’t need sudo after Homebrew’s initial installation when you brew install.

    Where’s the logic in that? Why not just install to the user’s home directory so that you don’t even need root access in the first place?

    1. https://github.com/Homebrew/install/blob/85c5f4b57452dbd1c7ebc01a021548d2ceaf2b64/install.sh#L222

    Why is sudo hard-coded? Answer: it’s to prevent people from using doas and other sudo alternatives.

    1. https://docs.brew.sh/Installation#untar-anywhere-unsupported

    Why is installing from the tarball unsupported and so frowned upon? FFS isn’t this just supposed to be a package manager? Why is everything so complicated and opinionated when compared to pip, cargo, Flatpak, etc? Compare this mess to Golang’s install and uninstall process where you literally just need to tar -xzf a file or rm -rf a directory.

    • alt@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Wow, great comment! Much appreciated!

      Where’s the logic in that? Why not just install to the user’s home directory so that you don’t even need root access in the first place?

      Excellent remark! Wow, that by itself already wrote it off for me.

      Why is sudo hard-coded? Answer: it’s to prevent people from using doas and other sudo alternatives.

      Another home-run! Especially as I’ve been a staunch user of doas for quite a while now and wouldn’t like to give up on that. Thank you so much for informing me on this!

      Your third point is also interesting to ponder upon, though it wasn’t as impactful to me personally as the previous two were.

      I would like to thank you once again for your astoundingly awesome insights on this matter! This comment has definitely contributed the most in me letting go of the thought of using Homebrew entirely (while some others already informed me that GUI-apps (mostly) can’t be installed from Homebrew to function on Linux anyways).