Gentoo goes Binary (packages)

pnutzh4x0r@lemmy.ndlug.org to Linux@lemmy.ml – 271 points –
Gentoo goes Binary! – Gentoo Linux
gentoo.org

To speed up working with slow hardware and for overall convenience, we’re now also offering binary packages for download and direct installation! For most architectures, this is limited to the core system and weekly updates - not so for amd64 and arm64 however. There we’ve got a stunning >20 GByte of packages on our mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker. Gentoo stable, updated daily. Enjoy! And read on for more details!

61

Quite the statement that Gentoo has survived for so long compiling from source but, even with ever advancing processor speeds, they've finally gone "Nah... Takes to long. ".

I mean, I don't blame them. Yesterday I left my machine building a PyTorch package for 4 hours on a 12 core processor.

As a long-time Gentoo user the only packages where compile times (and RAM usage) really bother me are all the myriad of forks of that shitty Chrome browser engine (webkit-gtk, QtWebEngine, chromium,...) and LLVM and clang.

Chrome takes so much longer than the kernel somehow. There's also the occasional package that makes you build single-threaded because nobody has fixed some race condition in the build process.

More importantly Chrome takes so much longer than Firefox even though they essentially do the same things (or 95% the same things if you are nitpicky).

Yes, but Chromium is very easy to embed in applications. Mozilla has a history of creating and then abandoning embedding APIs every few years or so (and right now I think they have none).

It seems very hard to embed it anywhere considering everyone doing so forks the whole codebase. Besides, my point was about compile times, embedding APIs shouldn't take significantly longer to compile.

My beef tends to be with software out of FANGs. Big teams and huge codebase to match. Completely inpetetrable for the rest of us and, I suspect, far more code then there should be.

Chromium with wayland and X support is by far the greatest offender that I have found.

I once shredded an sdcard-as-home while trying to compile firefox. This is why i say the web is broken. Needs a fucking kernel++ to display webpages.

To be fair USB sticks and SD cards seem to fail when you stare at them a bit too intensely. I think it has been at least a decade since I bought a USB stick for OS installations that lasted for more than three installs (each a few months apart at least since the need does not arise that often).

To think the day Gentoo goes binary would finally come...

Next: Slackware get automatic dependency resolution

Well we've had binary packages for ages for big builds like firerox and default is still to use source packages.

Still I'm really excited for this, having the whole, or big parts of the package tree, will speed up initial installations by a lot on weak arm systems for example. Now initial installation can be done quick and later you could still compile stuff yourself for the full gentoo experience.

Heretics! The true chosen use Exherbo!

(No, seriously, this is fine. And there's nothing keeping people from doing full source-based still.)

literally 2 days ago i tried installing gentoo in a vm but gave up because it would take too long to compile... and now this??? guess my timing was pretty bad

if i did use gentoo, i'd probably compile smaller programs from source and bigger things like kernel and web browser i would use as binaries.

Wouldn't the larger ones be the ones you'd get the most benefit from compiling?

Not really I think optimizing it gives you small performance gains.

Seems kinda pointless to compile most packages unless there are specific performance optimizations or non-default features that can be enabled. I think the way I would use this would be to do binary by default and build only on the occasional instance there is a tangible benefit.

Gentoo "purist": "Welp, Gentoo is now officially dead."

Non-gentoo user: "Welp, Gentoo is now just another Arch fork LMAO!"

Non-gentoo user: “Welp, Gentoo is now just another Arch fork LMAO!”

To be fair, you can still build packages and fine-tune the builds with the Emerge system flags, which is sort-of Gentoo's killer feature. It is just that they have recognized that most people will install probably 99% of all software without changing the default flags, and so why not give them those packages pre-built.

So I guess this make Gentoo more similar to Nix OS or Guix OS but without the high-tech package manager and dependency resolution.

I stopped using Gentoo because compiling everything was a major waste of time, but I have missed world files since then. This is a great reason to reconsider Gentoo for my next machine.

FWIW, Alpine Linux has a nice world file, too. And I am continually impressed by the selection of up to date packages in their Edge repos.

Can the file be split into different files like in Gentoo? I used to have different files for basic stuff, gaming, hardware specific, etc, so I could keep the parts of the Configs I wanted from one machine to another.

If so I'll definitely check it out, been meaning to try Alpine since for what I understand it's not GNU, right? Which should put a final nail in the GNU+Linux copy pasta hahahah.

I don't think apk would check multiple files for the world. But you could maintain them outside the apk mechanisms, just concatenating them into a single file, with tup/make/sh/whatever.

Alpine Linux is the most sane distro I tried. The absence of glibc brought limitations unfortunately, but it is the fault of developers that uses that shit instead of pure libc.

But why? Isn't building from sources the whole point of Gentoo?

For the ability to mix and match. Makes it easy for newcomers.

There are Gentoo distros that have binary packages, and Funtoo (a Gentoo-based distro that's 64-bit only) even suggests using Flatpak for certain software that needs 32-bit resources like Steam. Hell, you can install Flatpak on Gentoo if you want. Gentoo also provided binary packages in the past but only for a few packages (mainly web browsers, but annoyingly not qtwebengine. maybe that's changed here.)

Gentoo is more about having fine-grained control of your system than anything else nowadays. If that's what you want, go ahead! For most people, Arch or even something with less control like Ubuntu or Fedora will suffice.

I think I will revert some deviations from the default useflag settings to use the binary versions of some browsers.

I think it's a good move. It doesn't take anything away from people who want to keep compiling everything, but now people on especially old laptops can enjoy the distro too.

Though I will probably continue being a void user this makes me want to use gentoo more then it did before.

Love this change. I wonder if I can install a binary-based Gentoo distro and gradually progress from there, if I wanted to, with locally compiled packages that partially replace the binaries. I hope this is not an all-or-nothing situation, so better read the announcement.

EDIT: Hey, yes we can!

So.... Bentoo? Bintoo?

Gen-toobin

The distro for white water rafters.

I've been a Gentoo user since 2004 or so and used to crosscompile binaries in like 2006 for all of my systems including some sparc and ppc builds on my main servers. It was glorious. I adore Gentoo for portage and the ability to dream up a set of OS decisions and then actually do it, dog food and all. I'll probably never not have some form of a Gentoo system within reach but mostly for nostalgic reasons but VMs and containers now fill my needs.

Been using Gentoo on my server for over a decade now and probably won't ever leave the compiling front, especially with a 12-core/24-thread CPU making it go as quick as regular binary updates on my mint laptop... But that being said, in happy to see them considering to do this. It'll bring in some folks who are afraid of (or just dislike) compiling everything from source. I think the biggest packages that'd benefit from this are definitely the browsers and desktop environments.

Isn't the reason everyone says they use Gentoo is because of "all the optimisations" but if you're not compiling for your specific hardware doesn't that go out the window?

If someone claims to do it for "all the optimizations", you can immediately assume they are full of shit. If anything, the true gain is the control over the features to compile or not compile into your packages.

I'm also wondering who this is actually for. There's no shortage of binary distributions, I thought Gentoo's whole use case was if you want to compile everything.

I can see it working if one wants to customize the compilation flags of a few packages they have strong opinions on, but otherwise don't care about the rest of the system. Sort of like the binary cache in NixOS, where by default you use the binary cache, but you can customize parts of your system triggering a source-based installation for that parts.

Not necessarily. You probably want to optimize the kernel and a few packages. Then there are some apps where you want to build them with specific features. Then there’s a bunch of stuff that takes forever to build where a binary would be convenient. Flags and optimizations aren’t that important for KDE frameworks or Firefox.

Offering binaries is a really nice middle ground. Gentoo makes it so easy to build custom packages from source but it’s always been all or nothing. I don’t want to wait 2-3 hours building updated libraries or Firefox every time there’s a patch.

Personally, I would be interested in a distro that had binary packages, easy builds like Gentoo and something like Arch’s AUR.

Hm? Didn't they already offer binary packages for a while now?

The official binhost project has been an experimental thing until now, I've personally been using it for the year on multiple machines, but it's not been something that you can just enable. And it's definitely not been something that's come pre-prepared in the stage 3.

Good, I might try it now.

When you have more life behind you than ahead of you, time suddenly becomes precious.

Wow, when I went to bed yesterday it was only December 28, but now it is somehow already April 1!

that makes it usable! might give it a try.

This is what Gentoo needed. I've been using it for a long time and love it as it is but sometimes when there's a bunch of slot conflicts or a compile error it makes me wish I just dealt with binaries instead. Now that we have the best of both worlds, it will make Gentoo appeal to a wider userbase and make it less painful to use on older hardware.

This might get me to switch to Gentoo. I just broke my Arch again, so this is the perfect time...

If you like having more finetuned control, Gentoo is pretty neat.

I'm enthralled by this. It really makes it easier to support other people's gentoo installations while allowing one to still optimise the ever last drop of life blood out of one's own packages! Love to see it!

That weirdly makes me wanna try it less. That was it's whole thing. It's a convenient thing tho

Wait, didn't Gentoo have a binary cache? I seem to remember many years ago that I used one..

Outside of the whole compiling from source thing, What are selling points of Gentoo over Arch?

Seems most Gentoo users I've ran into are either diehards about compiling their own packages or they've simply used it for over a decade and are super familiar with it.