dependency hell OR it should not be this hard

dependency hell OR it should not be this hard

Shlomo Solomon shlomo.solomon at gmail.com
Mon Aug 12 08:17:54 IDT 2019


Thanks for your VERY detailed reply. Some of it was "over my head", but
relevant and true - although I personally like and use KDE despite it
being quite bloated for many years now. 

As an aside - I got rid of KMail, Akonadi and all their "friends" years
ago. It's hard to believe that an email program has about 80
dependencies and "suggests" another 20 packages!!! 

As I wrote, I intentionally did not include too many details about the
problem since I was not really looking for a solution.

The short version - this seemed to be caused by a broken dependency and
neither apt-get or dpkg were able to solve this until I manually
deleted a few post-install scripts. So the "blame" should probably fall
on the way apt-get and dpkg handle dependencies and/or such scripts,
and not so much on the Kubuntu maintainers. 

Although I did save the relevant apt and dpkg logs, I don't think
that contacting the Kubuntu maintainers will help because they will
probably "blame" the software developers who packaged the monodevelop
IDE (and provided there own PPA) - which never worked for me in the
first place so I probably should have uninstalled it months ago :-).  



On Sun, 11 Aug 2019 21:17:39 -0400
Steve Litt <slitt at troubleshooters.com> wrote:

> On Sun, 11 Aug 2019 09:05:24 +0300
> Shlomo Solomon <shlomo.solomon at gmail.com> wrote:
> 
> > Let me start by saying that I'm not looking for a solution - I
> > solved my problem. I'm just angry and letting off some steam.   
> 
> [snip successful attempts using a ~10 step apt/dpkg witch's brew]
> 
> I feel your pain. Probably we all do.
> 
> And it's likely the better people to let off steam at would be:
> 
> 1) The maintainers of your distro
> 
> 2) The maintainers of your "Desktop Environment", if any
> 
> 3) The authors of the software concerned
> 
> 
> DISTRO:
> 
> Your complaint isn't very detailed, but the fact that you needed apt
> to fix it suggests you're using a Debian derived distro. Most Debian
> extension distros, such as Ubuntu, Mint and Knoppix, add
> hypercomplexity in order to make them more magically "we do it all
> for you" and "user friendly", or just to make things look pretty.
> 
> Debian itself, once a simplistic distro, has been slowly complexifying
> itself, first by defaulting to selecting of that ball of
> confusion Gnome3, which itself has been complexifying at a remarkable
> rate, and then by pledging allegiance to systemd: The ultimate ball of
> confusion.
> 
> About the only apt packaged distro I could recommend today, from a
> dependency-sanity point of view, would be Devuan, which rejected
> both Gnome3 and systemd.
> 
> I find it amusing that Debian's solution to substituting a non-systemd
> init system involves a many-step raindance where you pin this package
> and hold back that package.
> 
> Of course, Redhat and Redhat-derived distros are worse.
> 
> Tell your distro maintainers to quit making package recommends into
> hard requirements, and to find better solutions than secret apt
> meetings with secret dpkg handshakes, or else consider not packaging
> it at all. There are usually substitutes and equivalents.
> 
> 
> DESKTOP ENVIRONMENTS:
> 
> Desktop environments, which bind a window manager and a bunch of
> applications together, including all sorts of interdependencies and
> promiscuous communications inside and outside of dbus, were obviously
> a bad idea from the beginning, for people who want to control their
> computers rather than the other way around.
> 
> If you use a desktop environment, write to them and tell them to
> reduce promiscuous communication and dependencies. They'll laugh at
> you, of course: Their purpose on this earth is to create obscenely
> interdependent black boxes.
> 
> You can avoid a lot of this by going back to a window manager and
> selecting your applications a-la-carte, trying mightily not to include
> desktop environment apps. If enough people were to do this (not very
> likely, most people are wedded to their "we do it all for you"
> environments), the "desktop environments" might catch on and put more
> of a priority on modularity and thin interfaces (or no interfaces
> where not needed).
> 
> I kicked KDE and every KDE app and library off my computer in
> 2012-2013, and lived to tell about it. I've never used Gnome3, and
> slowly but surely I've been kicking its apps and libraries off my
> computer. Now I boss my computer around, not the other way around.
> 
> 
> THE SOFTWARE AUTHORS:
> 
> True story. When using Python writing a piece of free software
> intended to be used by others, I needed one minor but not obvious how
> to code functionality. So I asked how to code it on the Python IRC
> channel. Not one answer, but three or four people told me to use some
> ginormous library, itself having lots of dependencies, that was not
> part of the standard Python distribution.
> 
> I explained that I didn't need all that stuff, I just needed this one
> functionality. I didn't want my users to have to integrate this
> library into their systems. "No problem", one of the IRC denizens
> proclaimed, "that's what the Python <whatever> is for: You can build
> your own Python interpreter for your one application, and ship the
> interpreter along with the app". Look at your computer's clock: This
> is not an April Fools joke, this happened.
> 
> If course I said "no", and then the real abuse happened, with the
> usual "don't reinvent the wheel" and "scared to learn new things" and
> a new creative diss: "Real programmers try new packages just to get
> familiar with them, it's a real opportunity!"
> 
> Unfortunately, these guys weren't unusual. Way too many programmers,
> in the name of avoiding reinventing the wheel, integrate somebody
> else's wheel, when all they needed was an easily available single
> spoke. You know who suffers? The distro maintainers and the users.
> 
> All too many developers put absolutely zero priority on simplicity.
> The slightest improvement in "pretty", or the slightest "improvement"
> to keep the user from having to use a text editor, is perfect
> justification to bring in a gargantuan software library with poorly
> documented API, lots of child dependencies, grandchild dependencies,
> and who knows how far down the tree it goes. And at any given time,
> at least one dependency of that software dependency tree gets buggy or
> goes unmaintained or sets a dependency on something so modern it won't
> work with your distro, and you get to use a 10 step apt/dpkg
> choreography.
> 
> Tell the software authors your objections to gratuitous dependency
> inclusions, as well as unnecessary and unhelpful communications with
> barely related software. Tell them you choose software to work and
> keep on working, not to be pretty or spare you from using an editor. 
> 
> And then do what you told them: When evaluating free software
> alternatives, significantly downvote those with too many, or
> unnecessary, dependencies. And if the simpler software lacks a feature
> you need, you can usually kludge it together with a couple
> shellscripts and maybe some Python/Perl/Ruby/Lua/awk/grep/sed. We all
> hate to kludge, but I think the ultimate kludge is some conceited
> developer requiring 100K lines of imported code to give a couple
> features he could have done in 100 lines of self-written code, if
> he'd bothered.
> 
> I copied the GoLUG mailing list because it's my home-town LUG, and the
> Devuan mailing list because they're the one direct Debian fork
> that eschews unnecessary dependencies and intermodular communications.
> Notice that some forks and extensions of Devuan also keep complexity
> to a minimum.
> 
> SteveT
> 
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il



-- 
Shlomo Solomon
http://the-solomons.net
Claws Mail 3.16.0 - Kubuntu 18.04



More information about the Linux-il mailing list