[SOLVED] Looking for package manager for Slackware that automatically installs dependencies
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.
Looking for package manager for Slackware that automatically installs dependencies
Are there any package managers out there that can automatically resolve package dependencies? As you can imagine installing each dependencies for a package can become quite hectic and time consuming especially on large scales. Is there any package manager out there that works similarly to APT for slackware?
Um... there's not that many unfortunately and most are still somewhat manual. Slackware by nature is a teach you to resolve dependencies manually distribution.
There are packages like sbopkg, slackpkg+, gslapt, and such that can work off some level of dependency resolution, but mostly, those are better suited for local repositories and slackpkg+ is a plugin for usage with 3rd party repositories, though sbopkg will work with SlackBuilds.org provided you sequence the installs correctly.
Other than that... it's just swallow your pride, learn, and do.
There were projects like that (such as slapt-get), but they never caught on with regular Slackware users. SalixOS uses slapt-get though.
We do have something close. Sbopkg, a frontend for SlackBuilds.org, allows you to build queues of packages to install in order. It includes a queuefile generator, sqg, to create those queues for you. Once a queue for, say, ffmpeg has been generated, you can install it and all of its dependencies with:
Code:
sbopkg -i ffmpeg
Or, if you don't want to rebuild the packages you already have,
There is also the problem where some dependencies needed by some packages may not have a SlackBuild, so you have to manually install things using make.
It's handy to learn dependency resolution manually because when you get that random package that isn't in any repository and exists as source only, you'll know what to do for yourself, by yourself.
There is also the problem where some dependencies needed by some packages may not have a SlackBuild, so you have to manually install things using make.
It's handy to learn dependency resolution manually because when you get that random package that isn't in any repository and exists as source only, you'll know what to do for yourself, by yourself.
That's true. I've installed packages that had no native SlackBuilds by a) adapting an existing SlackBuild and changing lines as appropriate; b) using Alien BOB's SlacBuild Toolkit, or c) using the tried-and-true configure;make;make install incantation. Works every time. And you learn a lot in the process, like how to become an effective system administrator.
And, as is the case with slackware, it doesn't get any simpler than that, because ultimately YOU, and only YOU, are the package manager, and what can be better than that?
Dependency management is not necessarily an issue. Nor is it particularly tricky to deal with, honestly! Whilst it is possible to completely customise the selection of installed packages, users who are new to Slackware are recommended (by the accompanying documentation) to start with a full install (i.e. every package).
The two most common arguments I have seen for not wanting to do a full install are, “it wastes space” and “it bloats the system, slowing it down”. The reason for assuming these will be issues, is often based on experiences with other distros.
A full install of Slackware is around the 7Gb mark. This is not excessive in modern terms, considering modern computer disk drives. Additionally it is substantially smaller than a Windows or Mac install and yet it comes with a good deal more software.
Additionally you will experience no slow down from having a full install. On Slackware a full install running a lightweight window manager like Fluxbox will run every bit as fast a slimmed down install running Fluxbox. On most distros if you install some application that runs as a daemon/service, the install scripts in the post install of that package will typically start it immediately after installation finishes. On Slackware, unless you enabled a service during the Slackware install, or later manually, most of the software installed just sits on your disk doing nothing and hence has no affect on the speed of your running system at all.
The supposed advantage of a tool like apt-get is that you can easily locate and install some package at a moments notice. A full install of Slackware takes that one step further. If I want to try some program or utility I quite often find it is already there, negating the need to search via the package manager and then install it. This is particularly nice when installing an application would have pulled down hundreds of Mbs of extra dependencies. I might not care about some used disk space but I do care about wasting my networking connection if I am in the middle of using it or I am on a slow network.
Of course Slackware's full install does not contain every package out there but this is where SlackBuilds, in combination with sbopkg/sqg, come into play. As dugan explains above, using these tools will allow you to handle third party package dependencies simply.
As you can imagine installing each dependencies for a package can become quite hectic and time consuming especially on large scales.
Unless you have already tried Slackware, you are the one who is currently imagining it. Most of the rest of us reading this thread run Slackware, so we do not need to imagine.
If you do a full install, then use the scripts provided to work with SlackBuilds.org, pretty much all the hard work is done for you.
Yep, I agree, my point was that you were the one making it like hard work when you say things like:
Quote:
it's just swallow your pride, learn, and do.
IMHO at least, this makes it sound like a big deal. Perhaps you don't agree (I would guess not since you wrote it) but that was my point.
Quote:
Originally Posted by ReaperX7
The only thing dependency resolution is... Is tedious.
A full install and getting extra packages from SlackBuilds.org (and making use of sbopkg with sqg), it needn't be that tedious. If you need to step outside that, sure it can be a little tedious but really I don't believe most people need to do that very often.
With these two simple commands I can install an upgrade of the kernel without throwing away the previous one. Was useful when the kernel was upgraded in Slackware 14.0 on 31-May-2013.
With these two simple commands I can install an upgrade of the kernel without throwing away the previous one. Was useful when the kernel was upgraded in Slackware 14.0 on 31-May-2013.
In case anyone's interested, slackroll does this too, though it does not resolve dependencies. Still a nice and fast program.
Slackpkg+ does nothing to assist with dependency resolution [...]
While this is not wrong, I will quote Matteo Rossini from Alien BOB's blog:
Quote:
slackpkg+, as slackpkg, does not have the dependency support, but some repository (as slacky and other) contains that information in metadata and slackpkg store that information in its database. So by typing “slackpkg info pkgname” you can see what package you must also install.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.