Kumba wrote: ... the package manager ...
There. Right there, you put your finger on it, and this is probably why there will never again be a Linux I can stand.
"Package manager." FUCK PACKAGE MANAGERS !!!
The "tree" (/usr/portage right now, though that may change) is just a collection of build instructions. I.e., if you want to compile software A, odds are likely you'll need to have software B, C, and W already built. So really, all Portage is, is a glorified dependency solver with extra bits like tracking what files were installed and where, so it can remove them later on if needed. Not everyone likes Portage (the name for the primary package manager in Gentoo, not the tree of ebuilds; yes it's a touch confusing), so one guy went off and wrote his own, called Paludis. So Gentoo even gives users choice there, too.
That said, there's nothing wrong with the general concept of a package manager. Ultimately, all it's doing is following instructions. Source-based distros like Gentoo just allow a lot
more functionality because you are giving the user control of what to compile. Binary distros are more limited because of just simple combinatorial insanity -- choices have to be made somewhere, and sometimes, those choices don't go over well with the users (like Debian switching to systemd for Jessie). How a distro handles the making of those choices is often where the conflict lies (again, Debian's method for handling the systemd thing pissed off a *lot* of people).
But the package manager itself? It's actually innocent. Surprisingly.
hamei wrote:Sounds like Gentoo might be nifty.
Then what ?
Yeah. A huge shitpile of applications designed and built by chimpanzees poured over the top.
What if I don't want atk anywhere near my computer ? thanks much but I am not crippled.
What if I can't stand CUPS ?
Why the hell should I want Truetype when Type1 is what real printers use ? When Type1 is better ? When X supports Type1 without six more layers of shit ?
I could continue for a week :P
Then don't build atk and its related dependencies. Or CUPS, or truetype fonts, or X entirely, etc. That's the awesomeness behind USE flags:https://wiki.gentoo.org/wiki/Handbook:X86/Working/USE
Downside is, there's almost 10,000 USE flags, so for the person who really
wants to control things, they'll spend a lot of time reading over both global flags (those which affect multiple packages in the tree) and local flags (those which are specific to a small handful of packages, or individual packages only). This is where binary distros win out, as most people just don't want to invest the time into completely tailoring an OS to their liking. They're more apt to accept the defaults and just "get used to it", they figure, like everyone else.
I personally don't use CUPS, nor atk. I pretty much eliminate all sound-related packages entirely from my main Linux system. But, you have to watch what you merge, as sometimes, a package update adds a new dependency on something you don't want. So a lot of users always test an update by passing the '-p' flag to emerge to see what actions emerge would take for the parameters given to it. Others pass the '-a' flag, which causes emerge to prompt the user for every package merge.
hamei wrote:The point, to me, is that the operating system itself can be mucho nifty (this seems to be where all the Loonies with taste hide out), but if the applications are trash, what's the point ?
The Desktop, in LoonixLand, has become nothing but a mass of Windows wannabe apps, except with no quality control.
There's really no good answer for "Linux on the Desktop". Humans love to copy what works, and give Microsoft credit, Windows does work, and works very well. The NT Kernel especially is a piece of work. Side-effect of Windows being successful is people copy it. Some do it poorly, while others do it well. The nice thing, though, is users have the choice to choose what interface they want to run. The downside is, unlike most other Linux/UNIX/BSD packages, Getting X to work is often an exercise in futility and voodoo sacrifices. And then, you go to try and figure out how sound works, and next thing you know, Windows is getting reinstalled.
Also, a lot of free software is coded by one or two people. Sometimes, it's just a project that they started for themselves and later decided to dump it out to the rest of the world (ironically, this is how Linux got started). Other times, they want to really make a polished product for some kind of motivation. That means further lack of consistency between projects.
hamei wrote:They need to get away from package managers entirely, instead put the work into making the build system robust, reliable, flexible, and functional.
Again, it's not package managers that are the real fault. Linux is the way it is because it's extremely heterogenous. Lots of little parts each doing their own thing w/o really considering what every other part (mostly) is doing, let alone what the whole organism is try to do. Imagine a Linux distro as an OS designed by intelligent cats (no, not the Kilrathi). It's very....ADHD.
hamei wrote:And we need a penalty box for anyone who says, "Works in gcc !" -- a line from each ankle to the stern of Arneson's speedboat, fifteen minutes on the Bay. There's nothing like a 50 mph power enema to teach people to keep their stupid trap shut :D
gcc is still the only free, multiplatform, multiarch C/C++/Ada/Java/Fortran compiler out there. Clang/LLVM is coming along nicely, but it's still not there yet, especially on the other, non-Intel architectures. There's a lot of work and effort going into making Clang more robust, and for once, gcc will have some serious competition, which is a good thing.