What are the benifets of having no dependency resolution in a package manager?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
You have dependencies to build the program. You have dependecies to run the program. If you build from src everything gets compounded into one. You can't have "at least optional" dependencies.
Yes, you can have optional dependencies. A good example is JDK in libreoffice, you can build libreoffice with JDK and will gain some features. However not everyone requires those few features (Many have been rewritten in other languages) and its fully possible build and use libreoffice without JDK.
No he didn't.
He said "at least listed as optional"... there is a difference.
Also: don't be a troll
On topic:
As Slackware is a monolithic distro (official support is given only if you install all packages) there is no need for dependency resolution in the package manager.
The benefit is no needless extra work for the maintainer.
I mean: would you ask what are the benefits of not having jet engines on a car?
Jet engines would make the car go faster... yet there are very strict speed limits in most countries, so it would be extra work for no benefit in practice.
It would be great to have dependencies for Slackware "documented", though but that is another discussion.
To me, the main benefits of having no dependency resolution are:
- Simplicity (of implementation, if not of use). A simpler system has less to go wrong.
- Flexibility. As other have explained at length, it's easier to control which optional dependencies packages use. Slackware's simpler package management also makes it easier to install different versions of libraries next to each other, with some programs using some and not others.
- Robustness. I've worked with Debian, Ubuntu, RHEL and CentOS professionally, and can attest that their dependency resolution logic can occasionally break. When it does, a .deb system can sometimes be fixed, since dependency resolution is implemented with shell scripts inside the packages. If an .rpm system's dependencies database gets corrupted with packages in a half-installed state you have little recourse but to re-install the entire operating system and start over. When I screw up a Slackware dependency, I say "oops" and it's trivially fixed.
- Awareness. Working with Slackware systems breeds familiarity with packages, their dependencies, where those dependencies come from, what has shared dependencies, etc. It makes the computer rather less of a mysterious black box.
This greater awareness of what goes into your system is not only personally enriching and conducive to improving technical skills. It also empowers one to recognize when someone like linuxbawks is bullshitting you, and call them on it with confidence.
Slackware's lack of dependency resolution does force one to pay more attention when installing third-party packages. This isn't usually a big deal in practice because Slackware ships with a great number of packages, including some commonly used libraries, with dependencies already resolved.
Frequently I need not install any third-party packages because Slackware already provides everything I need a particular system to do.
Often a third-party package has most or all of its dependencies met by packages already part of Slackware, which further makes the lack of dependency resolution a non-issue.
Back in the day, people used to call what Slackware provides a "platform". The new thinking on release engineering has made operating systems more amorphous and vague, and consequently less useful as platforms.
I'm glad Slackware still provides a platform. It just plain works better.
You'll get the same attitude reciprocated back to you. So you don't want to be "trolled" then stop trolling in the first place. It is a courtesy that goes both ways.
There's plenty more to be said about the merits (and indeed drawbacks) of having no dependency resolution in a distro. As usual there are positives and negatives. There is no one perfect solution that fits all. Somehow I gather you wouldn't be interested such are some of the closed mindedness-es in our midst.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.