Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Rahu
Feb 14, 2009


let me just check my figures real quick here
Grimey Drawer
I used gentoo for a while in high school when I was young and foolish.

It does not help you learn how to use Linux, it just teaches you "Oh that recent update broke something, better rebuild everything and hope that solves it"

Adbot
ADBOT LOVES YOU

hobbesmaster
Jan 28, 2008

OldAlias posted:

don't take the difficulty of building something stupid like gentoo on the desktop as a point of pride. there are use cases for the os, i know a few shops that use it in production as a server. as previously mentioned you can learn server things with much less headaches on almost any other operating system. if you don't understand much of what you're doing setting it up you aren't going to learn anything, or be magically more wise by virtue of using it. if you want tape together a bunch of components yourself at least use arch, you'll actually finish the install in an afternoon

why gentoo over centos or ugh, debian or ubuntu in tyool 2015

OldAlias
Nov 2, 2013

nebulous performance reasons afaik

OldAlias fucked around with this message at 01:04 on Jun 23, 2015

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

OldAlias posted:

nebulous performance reasons afaik

i'm reading this as no reason whatsoever

Notorious b.s.d.
Jan 25, 2003

by Reene
if we omit PAM everything runs faster!!!!

BobHoward
Feb 13, 2012

The only thing white people deserve is a bullet to their empty skull
fun fact. much of the binary code in a linux should arguably be compiled -Os or maybe -O1 because 99.9% of it is not an inner loop and being smaller will make this non critical code thrash cpu caches less and occupy less physical ram which will actually improve average system performance much more than the theoretical 2% gain from funrolling or w/e

the remaining code which is important to hyper optimize probably already has been, in a way where you get the right inner loop on many diff cpus without needing sep binaries for each. or that's how it works on good operation systems anyways

this is why Gentoo is, and always was, the equivalent of ricing

it's also why it's bullshit for anybody but the upstream developer of a package to control compiler options. they're in the best position by far to evaluate when and where to optimize effectively. (also they probably won't source patch critical security binaries with dumb bad poo poo that globally weakens ur rng)

what I'm saying is all Linux are a gentoo, it's just that gentoo is extra gentoo

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

literally every distro I ever encountered impaired Firefox perf (especially startup) by loving with heavily researched build config. at one point Fedora's binaries started up ~20% slower and were about as much worse on Sunspider, and they were generally pretty sane as measured against their peers

MrMoo
Sep 14, 2000

I think that is because the Moz use PGO and no-one else does.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

no, this is from long before we did PGO on Linux. it was mostly from breaking things out into more shared libraries, and sometimes from "making compilation options consistent with distro preferences". or taking out the symbol-trimming custom linker script because it interfered with their usual debug system packaging. or such.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

I mean at one point Netscape had a custom gcc (egcs) to reduce symbol table weight, but I didn't expect distros to care *that* much about their users' experience

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Subjunctive posted:

no, this is from long before we did PGO on Linux. it was mostly from breaking things out into more shared libraries, and sometimes from "making compilation options consistent with distro preferences". or taking out the symbol-trimming custom linker script because it interfered with their usual debug system packaging. or such.

wouldn't it be cool if you could ship your own binaries, since you're the application author and you sort of know how these things should be made

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Suspicious Dish posted:

wouldn't it be cool if you could ship your own binaries, since you're the application author and you sort of know how these things should be made

ewt wouldn't stand for it 20 years ago, and I won't stand for it now

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Subjunctive posted:

ewt wouldn't stand for it 20 years ago, and I won't stand for it now

who

Subjunctive
Sep 12, 2006

✨sparkle and shine✨


the one who wasn't Bob and wasn't not-that-djb

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

I imagine that they have paintings of them in the hallway at RHAT

Breakfast All Day
Oct 21, 2004

Subjunctive posted:

no, this is from long before we did PGO on Linux. it was mostly from breaking things out into more shared libraries, and sometimes from "making compilation options consistent with distro preferences". or taking out the symbol-trimming custom linker script because it interfered with their usual debug system packaging. or such.

i remember pitching my college roommate a linux distro/crazy infrastructure that did live PGO on almost everything with p2p optimization distribution, like at any given time some subset of your system packages were doing pgo based on your actual usage (with dumb stochastic bs), your results were distributed and matched with others based on system and usage profiles, so youd also be pulling new builds, verifying them and profiling them against your best all the time. i dont remember if pgo was the acronym of choice back then

i was on pills, had just taken advanced compilers, and had a bootstrap installed gentoo. a real fuckwit

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Subjunctive posted:

I imagine that they have paintings of them in the hallway at RHAT

nope, just a bunch of posters about Fedora and JBoss. i wasn't around during the jbj days.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Breakfast All Day posted:

i remember pitching my college roommate a linux distro/crazy infrastructure that did live PGO on almost everything with p2p optimization distribution, like at any given time some subset of your system packages were doing pgo based on your actual usage (with dumb stochastic bs), your results were distributed and matched with others based on system and usage profiles, so youd also be pulling new builds, verifying them and profiling them against your best all the time. i dont remember if pgo was the acronym of choice back then

i was on pills, had just taken advanced compilers, and had a bootstrap installed gentoo. a real fuckwit

I think there was a Linux distro that was based around this idea for like 15 minutes until they realized they'd need network infra more sophisticated than a cdrom.com mirror and faded below the threshold of slow Slashdot news days.

confidential to SD: Erik Troan

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Suspicious Dish posted:

nope, just a bunch of posters about Fedora and JBoss. i wasn't around during the jbj days.

jbj is latter-day, man. I'm talking about Mother's Day poo poo.

keymaster02
Mar 11, 2014

I had sex with a 32-year old at 16. SA is run by SJWs. Liking 16-year olds is not pedophilia. I hate your pronoun. I like young boys. I donate to the NAACP and probably NAMBLA too.

Notorious b.s.d. posted:

if we omit PAM everything runs faster!!!!

On a machine dedicated to gaming, you can just set init=/usr/bin/xinit

ZShakespeare
Jul 20, 2003

The devil can cite Scripture for his purpose!

Wintering Stinkbug posted:

On a machine dedicated to gaming, you can just install windows

fixed

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

yeah, dedicated gaming system is just about the worst application of general purpose desktop Linux.

crazypenguin
Mar 9, 2005
nothing witty here, move along

Suspicious Dish posted:

wouldn't it be cool if you could ship your own binaries, since you're the application author and you sort of know how these things should be made

i was really happy when Linus bitched about this at debconf. of course, the result has been fuckall happening.

the only movement I've seen on it was that stupid idea to use containers. hey guys, instead of making our software not suck and assume hard paths like /usr/share/gtk, let's just containerize everything and download gigabytes to make each individual desktop app work. totally great idea.

Soricidus
Oct 21, 2010
freedom-hating statist shill
clearly the best way to implement application bundles is for every application to bundle its own linux distro

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

crazypenguin posted:

i was really happy when Linus bitched about this at debconf. of course, the result has been fuckall happening.

the only movement I've seen on it was that stupid idea to use containers. hey guys, instead of making our software not suck and assume hard paths like /usr/share/gtk, let's just containerize everything and download gigabytes to make each individual desktop app work. totally great idea.

nobody thinks this

crazypenguin
Mar 9, 2005
nothing witty here, move along

Suspicious Dish posted:

nobody thinks this

did I misinterpret this?

http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html

quote:

In the example above, we have three vendor operating systems installed. All of them in three versions, and one even in a beta version. We have four system instances around. Two of them of Fedora, maybe one of them we usually boot from, the other we run for very specific purposes in an OS container. We also have the runtimes for two GNOME releases in multiple versions, plus one for KDE. Then, we have the development trees for one version of KDE and GNOME around, as well as two apps, that make use of two releases of the GNOME runtime. Finally, we have the home directories of two users.

Now, with the name-spacing concepts we introduced above, we can actually relatively freely mix and match apps and OSes, or develop against specific frameworks in specific versions on any operating system. It doesn't matter if you booted your ArchLinux instance, or your Fedora one, you can execute both LibreOffice and Firefox just fine, because at execution time they get matched up with the right runtime, and all of them are available from all the operating systems you installed.

To me that sounds like Firefox gets developed against Fedora, so to install firefox under this scheme on debian or whatever, first download an entire fedora OS image.

maybe the idea is that apps will only depend against runtimes or something?

crazypenguin
Mar 9, 2005
nothing witty here, move along
okay, yeah, it looks like runtimes as the only deps for apps.

hmm, maybe this is alright, except for the btrfs bit. that's still a completely stupid pile of crap just to work around hard-coded paths in shared object files. :colbert:

evol262
Nov 30, 2010
#!/usr/bin/perl
It's mostly to work around hard dependencies on library versions, not paths.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

crazypenguin posted:

okay, yeah, it looks like runtimes as the only deps for apps.

hmm, maybe this is alright, except for the btrfs bit. that's still a completely stupid pile of crap just to work around hard-coded paths in shared object files. :colbert:

Note that we're really pushing xdg-app as the real implementation, which doesn't use btrfs. I don't know if Lennart is still pushing his btrfs system.

crazypenguin
Mar 9, 2005
nothing witty here, move along
i don't think so, it's really about paths.

the trouble is that we currently do things like name a package "gtk-2.0-0" and thus it owns that name under /usr/lib and such, even though its gtk 2.20.1-ubuntu6.

skipping the runtime stuff and just talking packages, if we installed everything to, say, /usr/pkg/gtk/2.20.1-ubuntu6/{bin,lib,include,share}, then that could co-exist with any other version including -ubuntu7 just fine.

all our troubles stem from wanting one thing to own the name "gtk-2.0-0" in /usr/lib and one package putting its data under /usr/share and so on.

and this btrfs approach is ignoring and not fixing that problem, and just heaping more abstraction layers on instead.

Suspicious Dish posted:

Note that we're really pushing xdg-app as the real implementation, which doesn't use btrfs. I don't know if Lennart is still pushing his btrfs system.

I'll put it on my todo list to check out. haven't seen anything about it yet. thanks.

crazypenguin
Mar 9, 2005
nothing witty here, move along
from the xdg-app page:

quote:

A runtime provides a well-defined environment that an app can run in. Examples would be "GNOME 3.14" or "KDE 5.6". A runtime can be thought of as a /usr filesystem with fixed contents. When a bundled app gets run, the runtime it needs gets mounted at /usr.

this is exactly what I was initially afraid of. how is this not essentially going to be an os per application if it's providing all of /usr?

Sapozhnik
Jan 2, 2005

Nap Ghost
Not all of /usr, just enough to run applications that can connect to a display server and sound server running outside the runtime, with stuff like fonts presumably bind-mounted in.

At first read it does look like "Launching firefox causes a gigantic fully loaded bloated and isolated Ubungu VM to get loaded and then firefox to get launched from there" but it is actually nicer than that

The real problem is that this model is too heavyweight for things that aren't desktop or server applications. Like you couldn't sanely use this to install nc or whatever.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

crazypenguin posted:

all our troubles stem from wanting one thing to own the name "gtk-2.0-0" in /usr/lib and one package putting its data under /usr/share and so on.

no, the problems stem from gtk not taking binary compatibility seriously so the packages in the OS can be updated without every goddamn app breaking

you'll note that Apple doesn't ship 15 different versions of AppKit or UIKit in one OS, that's because new versions are sufficiently compatible with code built against old versions (and extensively tested for that before release)

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

crazypenguin posted:

this is exactly what I was initially afraid of. how is this not essentially going to be an os per application if it's providing all of /usr?

it will be an OS per application and it will be hilariously terrible

the solution is to take binary compatibility of libraries seriously

one of the only unixoid libraries I've found that seems to is, surprisingly, libssh2. they made some mistakes in their API (using unsigned int for sizes instead of size_t) and they've chosen to preserve them due to binary compatibility. (I've asked them to make that configurable so we can at least use the right types in situations where we don't need bincompat)

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Subjunctive posted:

I mean at one point Netscape had a custom gcc (egcs) to reduce symbol table weight, but I didn't expect distros to care *that* much about their users' experience

if distros cared about user experience they wouldn't make linux

Sapozhnik
Jan 2, 2005

Nap Ghost

eschaton posted:

no, the problems stem from gtk not taking binary compatibility seriously so the packages in the OS can be updated without every goddamn app breaking

sd can you please beat your former red hat colleagues over the head with this post thx

"oh it's just the interface for putting windows and buttons on screen nbd we can break that poo poo constantly and nobody will care"

evol262
Nov 30, 2010
#!/usr/bin/perl

Mr Dog posted:

sd can you please beat your former red hat colleagues over the head with this post thx

No. Breaking poo poo in minor updates and having qa miss it is a time honored practice.

But really, the auto depsolver is reasonably good.

Apple doesn't have a lot of problems because they keep the public API pretty stable. You're just as hosed as Linux if you rely on private/undocumented stuff, because keeping that stable/backwards compatible means hamstringing yourself. Also, .app containers basically being chroots with full deps inside them helps an awful lot.

crazypenguin posted:

i don't think so, it's really about paths.

the trouble is that we currently do things like name a package "gtk-2.0-0" and thus it owns that name under /usr/lib and such, even though its gtk 2.20.1-ubuntu6.

skipping the runtime stuff and just talking packages, if we installed everything to, say, /usr/pkg/gtk/2.20.1-ubuntu6/{bin,lib,include,share}, then that could co-exist with any other version including -ubuntu7 just fine.

all our troubles stem from wanting one thing to own the name "gtk-2.0-0" in /usr/lib and one package putting its data under /usr/share and so on.
And you expect the linker to resolve this sanely how? Explicit -ubuntu7 names? Packaging binaries in /use/pkg/ubuntu7/bin
... with LD_LIBRARY_PATH or a chroot? How is that not just as lovely as Lennart's idea? Or containers?

hobbesmaster
Jan 28, 2008

just statically link everything, what could go wrong?

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

tried it, the distros split it back out

Adbot
ADBOT LOVES YOU

crazypenguin
Mar 9, 2005
nothing witty here, move along

evol262 posted:

And you expect the linker to resolve this sanely how? Explicit -ubuntu7 names? Packaging binaries in /use/pkg/ubuntu7/bin
... with LD_LIBRARY_PATH or a chroot? How is that not just as lovely as Lennart's idea? Or containers?

you'd use the normal, existing so names. it's perfectly possible already for rpath to do this sensibly already.

App bundle binaries use rpath to look things up locally, and locally are symlinks to the correct so files in the correct packages.

so basically under /usr/pkg/yosposbithc/1.0.0/lib/libgtk-2.0-0.so -> /usr/pkg/gtk/2.20.1-ubuntu6/lib/whatsever.so.

so at install time, the correct dependencies are installed, and the correct symlinks created to the exact package version, and then it's just a normal program you just run. no env vars, no container setup. just a program.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply