Re: dependency hell OR it should not be this hard

Jeremy Hoyland <[email protected]> Mon, 12 Aug 2019 09:45:26 +0300
Newsgroups gmane.linux.region.israel,gmane.org.user-groups.linux.golug,gmane.linux.devuan.devel
Message-ID <CAGZ9y3c+4Kjz441NX-5kiOyJxUR2qHhch1ysyLO5t_k1-a6DCA@mail.gmail.com>
--===============7406647155371988044==
Content-Type: multipart/alternative; boundary="000000000000236b4a058fe5df1e"

--000000000000236b4a058fe5df1e
Content-Type: text/plain; charset="UTF-8"

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 <[email protected]>
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 <[email protected]> wrote:
>
> > On Sun, 11 Aug 2019 09:05:24 +0300
> > Shlomo Solomon <[email protected]> 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
> > [email protected]
> > 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
> [email protected]
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>


-- 
--
Jeremy Hoyland
[email protected]

--000000000000236b4a058fe5df1e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Just to comment on your original post.<div>Don&#39;t think=
 for one moment that things are any better in Windows.<br>The difference wi=
th APT issues is that there <i>is</i>=C2=A0something you can do about it, a=
nd ultimately, the problem is resolvable by you.</div><div>In Windows thing=
s look a lot prettier, but I have often had an installer fail with no reaso=
n given and then automatically roll-back with no recourse.<br>The solutions=
 there often required manual editing of the registry.<br>I prefer APT any d=
ay.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gma=
il_attr">On Mon, 12 Aug 2019 at 08:18, Shlomo Solomon &lt;<a href=3D"mailto=
:[email protected]">[email protected]</a>&gt; wrote:<br></div=
><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border=
-left:1px solid rgb(204,204,204);padding-left:1ex">Thanks for your VERY det=
ailed reply. Some of it was &quot;over my head&quot;, but<br>
relevant and true - although I personally like and use KDE despite it<br>
being quite bloated for many years now. <br>
<br>
As an aside - I got rid of KMail, Akonadi and all their &quot;friends&quot;=
 years<br>
ago. It&#39;s hard to believe that an email program has about 80<br>
dependencies and &quot;suggests&quot; another 20 packages!!! <br>
<br>
As I wrote, I intentionally did not include too many details about the<br>
problem since I was not really looking for a solution.<br>
<br>
The short version - this seemed to be caused by a broken dependency and<br>
neither apt-get or dpkg were able to solve this until I manually<br>
deleted a few post-install scripts. So the &quot;blame&quot; should probabl=
y fall<br>
on the way apt-get and dpkg handle dependencies and/or such scripts,<br>
and not so much on the Kubuntu maintainers. <br>
<br>
Although I did save the relevant apt and dpkg logs, I don&#39;t think<br>
that contacting the Kubuntu maintainers will help because they will<br>
probably &quot;blame&quot; the software developers who packaged the monodev=
elop<br>
IDE (and provided there own PPA) - which never worked for me in the<br>
first place so I probably should have uninstalled it months ago :-).=C2=A0 =
<br>
<br>
<br>
<br>
On Sun, 11 Aug 2019 21:17:39 -0400<br>
Steve Litt &lt;<a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a>&gt; wrote:<br>
<br>
&gt; On Sun, 11 Aug 2019 09:05:24 +0300<br>
&gt; Shlomo Solomon &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt; wrote:<br>
&gt; <br>
&gt; &gt; Let me start by saying that I&#39;m not looking for a solution - =
I<br>
&gt; &gt; solved my problem. I&#39;m just angry and letting off some steam.=
=C2=A0 =C2=A0<br>
&gt; <br>
&gt; [snip successful attempts using a ~10 step apt/dpkg witch&#39;s brew]<=
br>
&gt; <br>
&gt; I feel your pain. Probably we all do.<br>
&gt; <br>
&gt; And it&#39;s likely the better people to let off steam at would be:<br=
>
&gt; <br>
&gt; 1) The maintainers of your distro<br>
&gt; <br>
&gt; 2) The maintainers of your &quot;Desktop Environment&quot;, if any<br>
&gt; <br>
&gt; 3) The authors of the software concerned<br>
&gt; <br>
&gt; <br>
&gt; DISTRO:<br>
&gt; <br>
&gt; Your complaint isn&#39;t very detailed, but the fact that you needed a=
pt<br>
&gt; to fix it suggests you&#39;re using a Debian derived distro. Most Debi=
an<br>
&gt; extension distros, such as Ubuntu, Mint and Knoppix, add<br>
&gt; hypercomplexity in order to make them more magically &quot;we do it al=
l<br>
&gt; for you&quot; and &quot;user friendly&quot;, or just to make things lo=
ok pretty.<br>
&gt; <br>
&gt; Debian itself, once a simplistic distro, has been slowly complexifying=
<br>
&gt; itself, first by defaulting to selecting of that ball of<br>
&gt; confusion Gnome3, which itself has been complexifying at a remarkable<=
br>
&gt; rate, and then by pledging allegiance to systemd: The ultimate ball of=
<br>
&gt; confusion.<br>
&gt; <br>
&gt; About the only apt packaged distro I could recommend today, from a<br>
&gt; dependency-sanity point of view, would be Devuan, which rejected<br>
&gt; both Gnome3 and systemd.<br>
&gt; <br>
&gt; I find it amusing that Debian&#39;s solution to substituting a non-sys=
temd<br>
&gt; init system involves a many-step raindance where you pin this package<=
br>
&gt; and hold back that package.<br>
&gt; <br>
&gt; Of course, Redhat and Redhat-derived distros are worse.<br>
&gt; <br>
&gt; Tell your distro maintainers to quit making package recommends into<br=
>
&gt; hard requirements, and to find better solutions than secret apt<br>
&gt; meetings with secret dpkg handshakes, or else consider not packaging<b=
r>
&gt; it at all. There are usually substitutes and equivalents.<br>
&gt; <br>
&gt; <br>
&gt; DESKTOP ENVIRONMENTS:<br>
&gt; <br>
&gt; Desktop environments, which bind a window manager and a bunch of<br>
&gt; applications together, including all sorts of interdependencies and<br=
>
&gt; promiscuous communications inside and outside of dbus, were obviously<=
br>
&gt; a bad idea from the beginning, for people who want to control their<br=
>
&gt; computers rather than the other way around.<br>
&gt; <br>
&gt; If you use a desktop environment, write to them and tell them to<br>
&gt; reduce promiscuous communication and dependencies. They&#39;ll laugh a=
t<br>
&gt; you, of course: Their purpose on this earth is to create obscenely<br>
&gt; interdependent black boxes.<br>
&gt; <br>
&gt; You can avoid a lot of this by going back to a window manager and<br>
&gt; selecting your applications a-la-carte, trying mightily not to include=
<br>
&gt; desktop environment apps. If enough people were to do this (not very<b=
r>
&gt; likely, most people are wedded to their &quot;we do it all for you&quo=
t;<br>
&gt; environments), the &quot;desktop environments&quot; might catch on and=
 put more<br>
&gt; of a priority on modularity and thin interfaces (or no interfaces<br>
&gt; where not needed).<br>
&gt; <br>
&gt; I kicked KDE and every KDE app and library off my computer in<br>
&gt; 2012-2013, and lived to tell about it. I&#39;ve never used Gnome3, and=
<br>
&gt; slowly but surely I&#39;ve been kicking its apps and libraries off my<=
br>
&gt; computer. Now I boss my computer around, not the other way around.<br>
&gt; <br>
&gt; <br>
&gt; THE SOFTWARE AUTHORS:<br>
&gt; <br>
&gt; True story. When using Python writing a piece of free software<br>
&gt; intended to be used by others, I needed one minor but not obvious how<=
br>
&gt; to code functionality. So I asked how to code it on the Python IRC<br>
&gt; channel. Not one answer, but three or four people told me to use some<=
br>
&gt; ginormous library, itself having lots of dependencies, that was not<br=
>
&gt; part of the standard Python distribution.<br>
&gt; <br>
&gt; I explained that I didn&#39;t need all that stuff, I just needed this =
one<br>
&gt; functionality. I didn&#39;t want my users to have to integrate this<br=
>
&gt; library into their systems. &quot;No problem&quot;, one of the IRC den=
izens<br>
&gt; proclaimed, &quot;that&#39;s what the Python &lt;whatever&gt; is for: =
You can build<br>
&gt; your own Python interpreter for your one application, and ship the<br>
&gt; interpreter along with the app&quot;. Look at your computer&#39;s cloc=
k: This<br>
&gt; is not an April Fools joke, this happened.<br>
&gt; <br>
&gt; If course I said &quot;no&quot;, and then the real abuse happened, wit=
h the<br>
&gt; usual &quot;don&#39;t reinvent the wheel&quot; and &quot;scared to lea=
rn new things&quot; and<br>
&gt; a new creative diss: &quot;Real programmers try new packages just to g=
et<br>
&gt; familiar with them, it&#39;s a real opportunity!&quot;<br>
&gt; <br>
&gt; Unfortunately, these guys weren&#39;t unusual. Way too many programmer=
s,<br>
&gt; in the name of avoiding reinventing the wheel, integrate somebody<br>
&gt; else&#39;s wheel, when all they needed was an easily available single<=
br>
&gt; spoke. You know who suffers? The distro maintainers and the users.<br>
&gt; <br>
&gt; All too many developers put absolutely zero priority on simplicity.<br=
>
&gt; The slightest improvement in &quot;pretty&quot;, or the slightest &quo=
t;improvement&quot;<br>
&gt; to keep the user from having to use a text editor, is perfect<br>
&gt; justification to bring in a gargantuan software library with poorly<br=
>
&gt; documented API, lots of child dependencies, grandchild dependencies,<b=
r>
&gt; and who knows how far down the tree it goes. And at any given time,<br=
>
&gt; at least one dependency of that software dependency tree gets buggy or=
<br>
&gt; goes unmaintained or sets a dependency on something so modern it won&#=
39;t<br>
&gt; work with your distro, and you get to use a 10 step apt/dpkg<br>
&gt; choreography.<br>
&gt; <br>
&gt; Tell the software authors your objections to gratuitous dependency<br>
&gt; inclusions, as well as unnecessary and unhelpful communications with<b=
r>
&gt; barely related software. Tell them you choose software to work and<br>
&gt; keep on working, not to be pretty or spare you from using an editor. <=
br>
&gt; <br>
&gt; And then do what you told them: When evaluating free software<br>
&gt; alternatives, significantly downvote those with too many, or<br>
&gt; unnecessary, dependencies. And if the simpler software lacks a feature=
<br>
&gt; you need, you can usually kludge it together with a couple<br>
&gt; shellscripts and maybe some Python/Perl/Ruby/Lua/awk/grep/sed. We all<=
br>
&gt; hate to kludge, but I think the ultimate kludge is some conceited<br>
&gt; developer requiring 100K lines of imported code to give a couple<br>
&gt; features he could have done in 100 lines of self-written code, if<br>
&gt; he&#39;d bothered.<br>
&gt; <br>
&gt; I copied the GoLUG mailing list because it&#39;s my home-town LUG, and=
 the<br>
&gt; Devuan mailing list because they&#39;re the one direct Debian fork<br>
&gt; that eschews unnecessary dependencies and intermodular communications.=
<br>
&gt; Notice that some forks and extensions of Devuan also keep complexity<b=
r>
&gt; to a minimum.<br>
&gt; <br>
&gt; SteveT<br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; Linux-il mailing list<br>
&gt; <a href=3D"mailto:[email protected]" target=3D"_blank">Linux-il@c=
s.huji.ac.il</a><br>
&gt; <a href=3D"http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" rel=
=3D"noreferrer" target=3D"_blank">http://mailman.cs.huji.ac.il/mailman/list=
info/linux-il</a><br>
<br>
<br>
<br>
-- <br>
Shlomo Solomon<br>
<a href=3D"http://the-solomons.net" rel=3D"noreferrer" target=3D"_blank">ht=
tp://the-solomons.net</a><br>
Claws Mail 3.16.0 - Kubuntu 18.04<br>
<br>
_______________________________________________<br>
Linux-il mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]=
i.ac.il</a><br>
<a href=3D"http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" rel=3D"n=
oreferrer" target=3D"_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/=
linux-il</a><br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature">--<br>Jeremy Hoyland=C2=A0=C2=A0 <br><a href=3D"=
mailto:[email protected]" target=3D"_blank">[email protected]</a></div>

--000000000000236b4a058fe5df1e--


--===============7406647155371988044==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Linux-il mailing list
[email protected]
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

--===============7406647155371988044==--