LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-15-2011, 10:41 AM   #16
DragonWisard
Member
 
Registered: Sep 2004
Location: MD, USA (D.C. Suburbs)
Distribution: Slackware
Posts: 95

Rep: Reputation: 53

One important challenge with dependency resolution is that it places a huge burden on package maintainers. When you create the package (or the SlackBuild for the package) you have to define all the packages that it is dependent on AND which versions of those packages it can work with. That's a lot of extra work to be putting in, as these dependency lists can be very fluid and fragile. Furthermore, if you decide to change some configure flags and rebuild the package then suddenly your dependency list is all wrong. Gentoo is the only distro I've see that tries to handle dependency resolution for all possible build configurations and they have a very long and involved process for inducting and training new package managers.

So dependency management only really works if you use static, binary packages. If you don't allow users to rebuild their packages. If the upstream projects play nice with version numbering (ie, not breaking the API with a minor version bump). If your package maintainers have nothing but time on their hands to research, build and test the dependency lists for each package. Or if you have a large team of highly-trained maintainers who each work on a small subdivision of the package tree.

Slackware is not like that. Slackware is a distribution that can be managed by a single person. It has a simple package system that is easy for both package maintainers and users. It allows people to rebuild or update any package on the system with a different configuration. It allows users to install alternatives not already defined in some upstream repository. It allows sysadmins and developers who understand their systems and know what they want to install/update/modify/remove packages at will.

With an automatic dependency resolution system, as soon as you step outside the "approved" tree the whole system breaks down and becomes an albatross. It's no longer useful because it's understanding of the dependency resolution is incorrect, but it's still trying to make you conform to that incorrect rule set so it throws up warnings and confirmations for every operation.


Slackware demands more thought and understanding than other distributions, but it repays that by giving you complete and unfettered control of the package management.
 
8 members found this post helpful.
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 08-15-2011, 11:04 AM   #17
Skaperen
Senior Member
 
Registered: May 2009
Location: center of singularity
Distribution: Xubuntu, Ubuntu, Slackware, Amazon Linux, OpenBSD, LFS (on Sparc_32 and i386)
Posts: 2,684
Blog Entries: 31

Rep: Reputation: 176Reputation: 176
Slackware isn't for everyone. I guess you might not be among those it is for.

It works for me because I like to install a lot of stuff via source, either a different version, or patched source, or perhaps an entirely alternate package. With distros that manage the dependencies for me, they get all fouled up when I do that.
 
1 members found this post helpful.
Old 08-15-2011, 11:06 AM   #18
Skaperen
Senior Member
 
Registered: May 2009
Location: center of singularity
Distribution: Xubuntu, Ubuntu, Slackware, Amazon Linux, OpenBSD, LFS (on Sparc_32 and i386)
Posts: 2,684
Blog Entries: 31

Rep: Reputation: 176Reputation: 176
Quote:
Originally Posted by ramkatral View Post
Simple. Slack is a thinking man's distro. It's for those of us who enjoy using Linux and not have everything done for us. Less automated bloat is the reason for stability and simplicity. It's a philosophical thing. Moving forward isn't always the best thing. Moving forward so much is the reason many new age distros are not as stable. We believe tried and well tested ways.
There are women Slackers, too.
 
2 members found this post helpful.
Old 08-15-2011, 11:22 AM   #19
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,224

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
This is the from the email that you get the first time you log into a new Slackware installation:

Quote:
Slackware is designed around the idea that the system should be a complete installation kept updated with any official patches. This avoids the mess of dependencies that some other Linux based GNU systems face.
Quote:
I seriously see no advantage to this.
I can. If you want to replace a package with a newer one or one with different build settings, the process is easier on Slackware than on any other distribution.

Last edited by dugan; 08-15-2011 at 11:31 AM.
 
2 members found this post helpful.
Old 08-15-2011, 11:54 AM   #20
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
Perhaps a compromise to this never-ending dependency debate might help.

For myself I don't like the idea of forced automated dependency installations. My experience with other distros is often an alleged dependency is not a run-time or build requirement but instead is a fetish of the original packager.

Even if a package manager was designed to force an alleged dependency to be installed, the reverse should not be true. Removing a package should never require removing any other package. Period.

Not having dependencies being forced on me is one reason I stick with Slackware. Yet although I don't want packages being shoved down my throat, knowing dependencies is a reasonable idea that many people request. Perhaps the package manager could inform users of mandatory and optional dependencies, just not force the user to install them. Provide the information but in the Slackware tradition, let the user decide.

There has been some recent discussions of creating a tool that can inspect packages to create a dependency database. Perhaps that might be a way to resolve this debate.
 
Old 08-15-2011, 01:04 PM   #21
linuxpokernut
Member
 
Registered: Jul 2007
Distribution: Slackware 14
Posts: 237
Blog Entries: 8

Rep: Reputation: 59
No distro resolves by default.

Not Ubuntu, not anything. Someone writes scripts for that and includes those scripts in the repositories. For every piece of software out there there is source code, and then there is source code + scripts. An .rpm file is just something someone wrote for your convenience.

That being said, there are varying levels of installation scripts out there for slackware. I myself use the powerful sbopkg.

I decided to install devede this weekend. For the 13.37, there were only 2 dependencies listed on slackbuilds.org. I was unable to simply type
Code:
$sudo apt-get install devede
I had to type sbopkg, and then add the 2 dependencies to my build queue first. Then build. However, the entire process took the same amount of time to complete as in Kubuntu.

I guess the question is why does slackware not resolve dependencies, and the answer is it can if someone tells it to, just like any distro. Patrick and the team simply leave the choice up to us.
 
1 members found this post helpful.
Old 08-15-2011, 01:10 PM   #22
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Quote:
Originally Posted by linuxpokernut View Post
I had to type sbopkg, and then add the 2 dependencies to my build queue first.
Simply as that, download the queue-files and put them into sbopkg's queue folder (default: /var/lib/sbopkg/queues/). The next time you want to install something via command-line you will be asked if you want to build/install only the package or if you want to use the queue-file which already contains the dependencies.
 
1 members found this post helpful.
Old 08-15-2011, 01:26 PM   #23
hedron
Member
 
Registered: Jul 2009
Location: NYC
Distribution: Slackware64-multilib 15.0, SARPI, artix
Posts: 401

Rep: Reputation: 32
I don't get the big deal about this. You want to install a new program. It needs libraries that aren't on your system and you have to install them along side the new program. So what?
 
Old 08-15-2011, 01:42 PM   #24
wigry
Member
 
Registered: Jul 2004
Distribution: slackware
Posts: 225

Rep: Reputation: 53
Oh, BTW, there is hope in the world. RPM still has a heavenly --nodeps parameter for you slackers to tinker RPM based distros to get the job done the way you want
 
Old 08-15-2011, 02:02 PM   #25
Gerard Lally
Senior Member
 
Registered: Sep 2009
Location: Leinster, IE
Distribution: Slackware, NetBSD
Posts: 2,177

Rep: Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761
Quote:
Originally Posted by dugan View Post
If you want to replace a package with a newer one or one with different build settings, the process is easier on Slackware than on any other distribution.
Correct. I tried to update Gnumeric in a Debian virtual machine yesterday, from the default that comes with Squeeze to the latest source release. It wasn't worth the hassle. I felt as though pulling one thread would unravel the whole canvas. In Slackware it is simplicity itself to update Gnumeric to the latest release.
I have never found dependencies a problem from the very first day I started using Slackware. Quite the opposite - at long last I could control what software would run on my machine. Slackware gets the balance right, but I have a feeling most people don't understand this because the Slackware philosophy is a *philosophy*, not a technical issue.
 
1 members found this post helpful.
Old 08-15-2011, 02:37 PM   #26
Diantre
Member
 
Registered: Jun 2011
Distribution: Slackware
Posts: 515

Rep: Reputation: 234Reputation: 234Reputation: 234
Quote:
Originally Posted by hedron View Post
I don't get the big deal about this. You want to install a new program. It needs libraries that aren't on your system and you have to install them along side the new program. So what?
For you and me, and many slackers, there's no problem doing this. Just roll your own SlackBuilds (or get them from slackbuilds.org / sbopkg), resolve dependencies, compile the thing and that's it. Piece of cake.

But for many users, that's quite a difficult task. Perhaps they don't have the knowledge, or simply don't need/want to do it. I'd say such users expect the system to "hold their hand" and do all software installation tasks for them. I suppose that's why discussions as this one take place.

When I think about dependencies, it all comes down to the fact that I want to be in control of my system, I don't want a package manager to decide for me what my system should or shoudn't have.
 
Old 08-15-2011, 03:18 PM   #27
SqdnGuns
Senior Member
 
Registered: Aug 2005
Location: Pensacola, FL
Distribution: Slackware64® Current & Arch
Posts: 1,092

Rep: Reputation: 174Reputation: 174
Slackware is for those willing to exercise their gray matter.

http://www.youtube.com/watch?v=y0Fc9lvRMy0

Enjoy!
 
Old 08-15-2011, 06:07 PM   #28
DragonWisard
Member
 
Registered: Sep 2004
Location: MD, USA (D.C. Suburbs)
Distribution: Slackware
Posts: 95

Rep: Reputation: 53
Quote:
Originally Posted by wigry View Post
Oh, BTW, there is hope in the world. RPM still has a heavenly --nodeps parameter for you slackers to tinker RPM based distros to get the job done the way you want
Yes, but once you start doing that you're breaking the contract with your package manager and it won't be able to accurately judge dependency trees anymore making the entire dependency resolution infrastructure next to worthless. At that point, you might as well ditch the overhead and just use pkgtools.

In IT you can always observe that the Windows admins are always busy and stressed, running putting out fires and banging their heads against the wall with obscure problems. Meanwhile the *nix admins are sitting back in the relative bliss of a sane, stable, and manageable environment.

Slackware admins make the admins of other distros look like Windows admins. The wisdom of the Slackware approach isn't always obvious at first glance, but it's time-tested and proven.
 
Old 08-15-2011, 06:36 PM   #29
sahko
Senior Member
 
Registered: Sep 2008
Distribution: Slackware
Posts: 1,041

Rep: Reputation: Disabled
http://www.linuxquestions.org/questi...ml#post4263386

Topic closed
 
3 members found this post helpful.
Old 08-15-2011, 07:53 PM   #30
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
DragonWisard said it very well.

More to the point, when I'm building a package, I generally know what's needed from the application's website or other documentation. Very often, the specifications are for some library or other package of a certain version or higher. That gives me a lot of flexibility when I build a Slackware package; I don't have to have the latest version.

However, If I want to install a new package from a dependency-resolving package manager, and that new software requires a newer version of a dependency, then it will update that package too -- and perhaps every package that was built with it. This is how a simple change can cascade, even though the software I want doesn't actually require the latest version of the dependency.

Having said that, I've worked with Fedora, SuSE, Ubuntu, and others. I've only had a little trouble with the dependency-resolution package managers.

Regards,
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] why does slackware's package manager purposely not resolve dependencies? Cultist Slackware 93 06-25-2010 04:02 AM
how to resolve rpm dependencies offline ? vermissa Linux - Software 1 11-20-2008 01:37 AM
resolve dependencies in lfs tomave Linux From Scratch 1 03-12-2006 02:57 PM
apt-get: don't resolve dependencies? merchtemeagle Debian 7 06-17-2005 02:11 PM
does pkgtool resolve dependencies? mcd Slackware 3 05-31-2004 09:38 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:05 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration