dependency hell OR it should not be this hard
guy keren
guy.choo.keren at gmail.com
Mon Aug 12 09:54:50 IDT 2019
this is software. software has bugs.
software packaging only seems simple - but in fact is really not,
because of the exponential amount of combinations that simply can't be
exhaustively tested, and because it depends on code written by thousands
of unrelated developers, that work on their own software, not on the
"linux disribution".
so occasionally you will have problems that you'll need to fix. how
often? it's really a matter of luck, factored by the amount of
configuration changes you do on your system.
--guy
On 12/08/2019 9:45 AM, Jeremy Hoyland 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
> <mailto: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
> <mailto:slitt at troubleshooters.com>> wrote:
>
> > On Sun, 11 Aug 2019 09:05:24 +0300
> > Shlomo Solomon <shlomo.solomon at gmail.com
> <mailto: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 <mailto: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 <mailto:Linux-il at cs.huji.ac.il>
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
>
> --
> --
> Jeremy Hoyland
> jhoyland at gmail.com <mailto:jhoyland at gmail.com>
>
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
More information about the Linux-il
mailing list