Slackware's package management from a Debian user point of view 

When I was using Redhat, I found that many tools that I wanted did not come from the official repository. Rpmfind was the top site that I visited, but even so, I sometimes experiences difficulties installing packages, because,

After I switched to Debian, the package installation hassle was over. I never ever had any problem installing the tools that I want under Debian. Housing cleaning, i.e. removing unwanted tools, is easy as well.

For Slackware,

If you want to find the easy you have in Debian from Slackware, you have to find very hard since the dependency handling is not officially supported or even encouraged. Luckily, there are unofficial tools, but, which one to choose? Many people prefer slapt-get in the Slax community, fewer talk or even know about swaret, but the reality is,

That brings more complexity to choosing the dependency handling tools. And since the official package repository is so small, you have to rely on some unofficial ones if you want better luck to find the packages for the tools you are looking for. slapt-get FAQ suggests 3: linuxpackages.net, CollegeLinux and VectorLinux. Among them and others, which one is better?

My short answer is:

The conclusion is base on the following collected articles.

documented on: 2008-05-17

slapt-get & package dependencies 

http://software.jaos.org/BUILD/slapt-get/FAQ.html#slgFAQ10

First of all, slapt-get does not provide dependency resolution for vanilla Slackware packages (ie, official Slackware packages that come with the distribution).

However, slapt-get does provide a framework for dependency resolution for packages that follow the Slackware package format, while still being backwards compatible. This information is stored in so called meta files within the package.

Packages supporting this framework can be found at linuxpackages.net, along with several Slackware derived distributions such as CollegeLinux (starting with 2.5) and VectorLinux (starting with 5.0).

Also, Stefano Stabellini has created a PACKAGES.TXT that contains the dependency information for Slackware packages without modifying the actual packages themselves. This can be used as a slapt-get source to pull the packages from official slackware.com mirrors. Read more about it at Stefano's page: http://www.stabellini.net/depslack.html

Slackware Linux 

http://lwn.net/Articles/49967/

September 24, 2003 contributed by Ladislav Bodnar

Slackware's package manager does not have the ability to resolve dependencies. The MPlayer experiment started with a trip to LinuxPackages, where I located and downloaded the necessary package, then executed installpkg:

installpkg mplayer-1.0pre1-i686-2rob.tgz

Although no errors were reported during installation, MPlayer failed to launch due to missing libraries. Back to LinuxPackages to download alsa-lib, lame and libdvdread (the dependent packages were clearly listed on the MPlayer download page), before installing them with installpkg. This has satisfied all requirements and MPlayer was ready for action.

There are three third-party packages that handle Slackware package updates - these are swaret, slackpkg and slapt-get. Both swaret and slackpkg have now been officially included in the "extra" directory of Slackware Linux, but between the two of them only swaret has the ability to resolve dependencies, while slackpkg is generally used to keep a Slackware system synchronized with the "current" branch (i.e. development branch, equivalent to Sid, Cooker or Rawhide). At this point, it is perhaps interesting to note a recent comment by Slackware's creator Patrick Volkerding, which indicates that not everybody thinks highly about advanced package management tools: "I'm not a big believer in automated dependency handling."

As with all other distributions in this experiment, I wanted to upgrade a vanilla Slackware 9.0 installation to the latest available development version, which at the time of writing was Slackware Linux 9.1-beta2. This can be done with Slackware's native tools, but the process is fairly involved, it requires manual download of all upgraded packages, which then need to be upgraded with upgradepkg in a certain correct order. After downloading and installing swaret, the same could be achieved with two commands:

swaret --update
swaret --upgrade -a

Again, the process took time, but completed with no errors. Several newly upgraded packages required extra packages to satisfy dependencies and this is the only place where user intervention was called for to confirm the action. But the overall experience was very similar to upgrading Mandrake, except that it required a third-party tool.

Overall score (2 points were deducted for having to use a third-party package manager): third-party package installation: 5, distribution upgrade: 7.

[Note]

the article not only covers Slackware, but also all major distros.

Conclusion 

To conclude this lengthy and time consuming experiment involving package installations and distribution upgrades, we have two clear winners - Debian and Mandrake. Debian is hard to beat when it comes to overall convenience, but Mandrake has made a lot of effort and its urpmi package management and underlying technology has just about succeeded in catching up with Debian's. The other three distributions have a long way to go. Red Hat is currently in a major transition and the question of package and distribution upgrades is probably being addressed as I write this. Slackware is easy to upgrade with swaret, a tool which will be included in the upcoming Slackware 9.1, but it doesn't handle installing packages from third-party repositories. As for SuSE, it falls short of all other distributions. YOU has a pleasant interface and it works extremely well within its official package set, but as a software management tool, it has too many shortcomings to compare well with either apt-get or urpmi.

Swaret and slapt-get from my point of view 

http://www.linux.com/articles/57761

by: Anonymous Coward on October 20, 2006 04:06 AM

I have used both Swaret and slapt-get to automate downloading and installing Slackware packages. I don't think any of them is specially good, but I use slapt-get as the "less bad" of the two. I'll highlight the good and bad points of each tool, from my point of view. Also, take into account this information belongs to the stable swaret release. I think a new version is being worked on, and it's in Perl IIRC.

Swaret:

[Good] Checks GPG signatures instead of MD5 checksums. [Good] Checks binary dependencies without using any additional information. This is quite useful. [Good] As easy to use as slapt-get. [Bad] It's a shell script. Very big. Very, very slow. slapt-get uses much, much less CPU. [Bad] I didn't find a way, and let me know if there's one because I truly tried to find it, of automatically downloading and installing patches for the installed packages. You can either answer manually or install all of them, including the ones belonging to previously not installed packages.

Slapt-get:

[Good] Written in C and it's much faster. [Good] It has the patch behaviour I commented previously, that swaret seems to lack. [Good] Keeps directory hierarchy in downloaded packages. [Good] Has the option of removing local packages not present in the remote side (good for people using -current, to clean the package tree from time to time). [Bad] Doesn't detect binary dependencies. [Bad] Doesn't check GPG signatures. [Bad] I don't like the output format. It's similar to the one from apt-get. Swaret's output format isn't beautiful either, but I like it better.

[Note]

the article is wirtten in year 2006. Now Swaret is written in Perl. So the first [bad] does not hold any more. and the second [bad] is controversial even by then.

Swaret and slapt-get from my point of view 

You must have been doing some thing wrong. Swaret has never defaulted to functionlike that in my experince. IT has always only upgrade installed packages only. Just run swaret —upgrade -a to upgrade all installed packages. It does not install any non-installed packages.

Anonymous

Swaret and slapt-get from my point of view 

It all really depends on whether you set the VERSION to the version you are running or current.

Current doesn't have any patches; they just become the new package. By setting the version to 11.0 (or whatever version is installed) and using the upgrade command, it looks at what packages you have installed (by referencing the<nobr> <wbr></nobr>/var/log/packages directory) and downloads available patches for installed apps.

Anonymous

Swaret and slapt-get from my point of view 

> [Bad] Doesn't detect binary dependencies.

Slapt-get can actually check for dependencies if a file called slack-required is in the install directory of the package. It can also resolve dependency conflicts based on the contents of slack-conflicts. "Official" Slackware packages do not include either of those files in the package. That's why there is no dependency checking for "official" Slackware packages.

With that said, however, slapt-get WILL check for dependencies in packages made by some Slack derivative distros like VectorLinux. It will also check for dependencies in packages distributed through linuxpackages.net.

by: Administrator on October 21, 2006

Compare distros, Debian vs Slackware 

http://polishlinux.org/choose/comparison/?distro1=Debian&distro2=Slackware

Small number of official (vanilla) packages. In most cases, manual compilation of many packages will be needed. Sometimes there is an alternative being unofficial Slackware packages downloadable from project's pages or LinuxPackages and Slacky.it.

Slackware's package management system is based on the simple tgz packages which do not contain any information about dependencies. Additional unofficial packages can be found on LinuxPackages and Slacky.it. These packages are in extended tgz format — so that they can contain meta-information about dependencies (but unfortunately in each case). There are two programs that can use this information: swaret and slapt-get (together with graphical frontend GSlapt). Many additional tools has been designed to improve Slackware package management — from tiny scripts to full systemy portow (Emerde, pkgsrc, Portpkg). It is also possible to create own packages using checkinstall utility.

Obtaining And Adding Software 

http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/Cooking_Up_Some_Slack_CUSS

The easiest way to obtain software for your custom Slackware distro is using a site called Linux Packages. Linux Packages has a wealth of slackpacks, submitted by several members of the Slackware community.