Why lack of dependency resolution is a "feature". A personal story.
by sombragris from LinuxQuestions.org on (#53J9X)
Some folks usually see dependency resolution as something good in Slackware, and there are even tools who perform that task for package management. Good for them.
It is usually said that Slackware's lack of dependency resolution is not a bug, but a feature. And I concur with that sentiment. One of the problems with dependency resolution is that it can be abused, and I would add a personal story to back that. Of course, this is anecdotal and YMMV.
Back in 2003, I was distro-hopping. I was using Mandrake Linux (for two years now) and began using Slackware; with hotplug now I was able to run a Slack system without painful setup work. The fact that Slackware began offering the latest unmodified KDE 3 was also a big plus.
In September 2003, Mandrake Linux 9.2 was released. I duly got the ISOs (painful task downloading them under near dialup speeds) and after that I upgraded my existing Mandrake workstation. With some fiddling, I was also proudly able to boot into a framebuffer console. That gave me a "penguin logo" bragging rights as well as a console taking full advantage of my 1024x768 resolution instead of a puny 80x25 character console.
But there was a problem. On each framebuffer tty screen there was an ugly "9.2" overlay at the lower right quadrant of the screen. That was downright awful and distracting. I knew I was using Mandrake 9.2; didn't need any stupid reminder of that on my screen. Typing "cls" didn't do the trick...
So I hunted down the culprit to a small rpm package whose name I don't remember now. Great!! I thought. so I told Mandrake's RPM Manager (urpmi) to remove the package.
Well, urpmi said "great but we'll have to remove all these packages..." and it basically said it would have to remove X11 and the whole graphical desktop shabang. KDE, GNOME, IceWM... you name it. A humongous list of packages. That's right: the stupid "9.2" framebuffer overlay was listed as a dependency of X11 and whole graphical package groups.
This was obviously an artificial dependency created by packagers. Options? I would have to edit the SRPM, recompile.... or tell urpmi to force ignore dependency resolution and just remove that package, and risking breaking the package index...
And thus I thought: "too much effort for some stupid advertisement"; because that overlay was that, a stupid advertisement branding, and completely unnecessary. So, I grabbed my Slackware ISO, wiped my Mandrake Linux installation, and began my full-time Slackware journey. I anticipated the learning curve to be steep after switching from a supposedly "beginner-friendly" distro, but it wasn't. The community was welcoming and folks were delighted to teach me the Slackware ways when I needed it.
Now, with Slackware I would not have any of those stupid adverts, at all. When I install a package from SBo I always keep note of the dependencies and manually satisfy them. No problem at all except with python and perl packages, which are their own version of dependency hell... :D
So, folks, this is why I think that lack of dependency resolution is a feature and not a bug. Cheers!


It is usually said that Slackware's lack of dependency resolution is not a bug, but a feature. And I concur with that sentiment. One of the problems with dependency resolution is that it can be abused, and I would add a personal story to back that. Of course, this is anecdotal and YMMV.
Back in 2003, I was distro-hopping. I was using Mandrake Linux (for two years now) and began using Slackware; with hotplug now I was able to run a Slack system without painful setup work. The fact that Slackware began offering the latest unmodified KDE 3 was also a big plus.
In September 2003, Mandrake Linux 9.2 was released. I duly got the ISOs (painful task downloading them under near dialup speeds) and after that I upgraded my existing Mandrake workstation. With some fiddling, I was also proudly able to boot into a framebuffer console. That gave me a "penguin logo" bragging rights as well as a console taking full advantage of my 1024x768 resolution instead of a puny 80x25 character console.
But there was a problem. On each framebuffer tty screen there was an ugly "9.2" overlay at the lower right quadrant of the screen. That was downright awful and distracting. I knew I was using Mandrake 9.2; didn't need any stupid reminder of that on my screen. Typing "cls" didn't do the trick...
So I hunted down the culprit to a small rpm package whose name I don't remember now. Great!! I thought. so I told Mandrake's RPM Manager (urpmi) to remove the package.
Well, urpmi said "great but we'll have to remove all these packages..." and it basically said it would have to remove X11 and the whole graphical desktop shabang. KDE, GNOME, IceWM... you name it. A humongous list of packages. That's right: the stupid "9.2" framebuffer overlay was listed as a dependency of X11 and whole graphical package groups.
This was obviously an artificial dependency created by packagers. Options? I would have to edit the SRPM, recompile.... or tell urpmi to force ignore dependency resolution and just remove that package, and risking breaking the package index...
And thus I thought: "too much effort for some stupid advertisement"; because that overlay was that, a stupid advertisement branding, and completely unnecessary. So, I grabbed my Slackware ISO, wiped my Mandrake Linux installation, and began my full-time Slackware journey. I anticipated the learning curve to be steep after switching from a supposedly "beginner-friendly" distro, but it wasn't. The community was welcoming and folks were delighted to teach me the Slackware ways when I needed it.
Now, with Slackware I would not have any of those stupid adverts, at all. When I install a package from SBo I always keep note of the dependencies and manually satisfy them. No problem at all except with python and perl packages, which are their own version of dependency hell... :D
So, folks, this is why I think that lack of dependency resolution is a feature and not a bug. Cheers!