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 09:53:08 IDT 2019


After more than 20 years using Linux, I have ABSOLUTELY no thoughts
about moving to Windows. My point was that a new user might be daunted
by dependency hell. Whether we like it or not, Windows is the de-facto
OS and if we want to see people moving to Linux, it's got to be better.


 

On Mon, 12 Aug 2019 09:45:26 +0300
Jeremy Hoyland <jhoyland at gmail.com> wrote:

> Just to comment on your original post.
> Don't think for one moment that things are any better in Windows.
> The difference with APT issues is that there *is* something you can do
> about it, and ultimately, the problem is resolvable by you.
> In Windows things look a lot prettier, but I have often had an
> installer fail with no reason given and then automatically roll-back
> with no recourse. The solutions there often required manual editing
> of the registry. I prefer APT any day.
> 
> On Mon, 12 Aug 2019 at 08:18, Shlomo Solomon
> <shlomo.solomon at gmail.com> wrote:
> 
> > 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
> >
> > _______________________________________________
> > 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