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