I've been an Ubuntu user for years. I've dealt with and have ultimately accepted most of its problems:
- The NIH attitude and the shitty Ubuntu-specific software.
MIR is still mostly vaporware, fortunately. I don't use Unity, but it's also become stable after a few years of "testing". (Packaging the latest trunk and waiting for bug reports from users.)
At least the upstart maintainer had enough humor to call his C utility librarylibnih
. - The behemoth Launchpad, basically unmaintained for years.
Sometimes I think the sole reason why the Launchpad bug tracker was developed is to make the incredibly user-hostile Debian bug tracker look more appealing, because at least bugs don't get lost and ignored there for decades and at least you can't accidentally file a bug against an umbrella project whose administrator is a bot than against the actual, (sometimes) actively maintained package.
And if you've ever had the misfortune to have to use the Launchpad translation interface, I feel sorry for you.
Not to mention the fact that Launchpad still requires you to use Bazaar, a version control software discontinued years ago. (To be fair, Bazaar itself is/was not that bad.)
But hey, there's a web interface, there are PPAs, so that's something, right? - The broken patches.
They would frequently introduce bugs into perfectly fine Debian packages when trying to make them compatible with their NIH bullshit software. Just remove the patch, upload the fixed package to your PPA and use that. Or use the PPA of the person who has already done that before you. "Easy", right?
But this latest release really makes my blood boil.
First of all, their release upgrade script didn't even work at the time 16.10 was officially released. And I don't mean "doesn't work" as in "had a bug", I mean "doesn't work" as in "contains invalid Python". Let that sink in for a second: They're releasing a new version, and the upgrade script doesn't even fucking compile.
Then, I noticed I had a new subfolder in /usr. It has the beatiful name /usr/@DATADIRNAME@. I wish I was making this up. How can you break your packaging scripts that badly and not even fucking notice it within one month after the release?
Today I found out that their libc++ packages are completely broken as well. It is impossible to successfully link a program against the packaged libc++
.
You simply install clang
and libc++-dev
and everything is alright, right? Wrong! Because of course they forgot to include an internal header, so you get the awesome error message:
/usr/include/c++/v1/cxxabi.h:21:10: fatal error: '__cxxabi_config.h' file not found
#include <__cxxabi_config.h>
You then have to figure out that there's another package called libc++abi-dev
, which libc++-dev
of course doesn't depend on, because FUCK YOU, that's why. And then maybe, after a few minutes of pulling out your hair and looking at weird error messages, you can start to compile your program with clang and link against libc++, right?
Wrong again! Haha, nope, it still won't find the header. Maybe the package installed it in the wrong directory? Who knows, and at this point I honestly don't care anymore.
How can you be that bad at packaging? How can you fail that badly at creating a usable Linux distro?