Slapt-get - SlackWiki (original) (raw)

slapt-get is an APT-like system for Slackware package management.

It tries to emulate the features of Debian's apt-get as closely as possible.

Features

Dependencies

slapt-get does not provide dependency resolution for packages included within the Slackware distribution. It does, however, provide a framework for dependency resolution in Slackware compatible packages similar in fashion to the hand-tuned method Advanced Packaging Tool|APT utilizes. Several package sources and Slackware based distributions take advantage of this functionality.

Adding dependency information requires no modification to the packages themselves. Rather, the package listing file, PACKAGES.TXT, is used to specify these relationships. This file is provided by Patrick Volkerding and is similar to the Packages.gz file in use by Debian. Several scripts are available to generate the PACKAGES.TXT file from a group of packages (See FAQ #17). The file format used by Patrick Volkerding is extended by adding a few extra lines per package. slapt-get then parses this file during source downloads. Typically, third party packages store the dependency information within the package itself for later extraction into the PACKAGES.TXT (See FAQ #19). The inclusion of this information within the Slackware package format does not inhibit the ability for Slackware pkgtools to install these packages. This information is silently ignored and discarded after the package is installed.

Other methods exist for adding dependency information for official Slackware packages without altering the packages themselves.

Package Sources

slapt-get works with official Slackware mirrors and third party package repositories. slapt-get looks for support files, PACKAGES.TXT and CHECKSUMS.md5, in the repository for package information. These files provide package names, versions, sizes (both compressed and uncompressed), checksums, as well as a package description. These files can be extended, as discussed in the previous section, to add dependency listings, conflict information, and package suggestions. These files can also proxy for other remote sources by specifying a MIRROR declaration for each package.

libslapt

slapt-get exports a C library that is used by gslapt to provide similar functionality through a GTK+ frontend.

Distributions

Besides Slackware, slapt-get may be used with or included by the following distributions:

Examples

$ slapt-get --update Retrieving package data http://www.slackware.at/data/slackware-10.0/ ...Done Retrieving patch list http://www.slackware.at/data/slackware-10.0/ ...Done Retrieving checksum list http://www.slackware.at/data/slackware-10.0/ ...Done Reading Package Lists...Done Retrieving package data http://software.jaos.org/slackpacks/10.0/ ...Cached Retrieving patch list http://software.jaos.org/slackpacks/10.0/ ...Cached Retrieving checksum list http://software.jaos.org/slackpacks/10.0/ ...Cached Reading Package Lists...Done

$ slapt-get --upgrade Reading Package Lists... Done The following packages have been EXCLUDED: devs kernel-headers The following packages will be upgraded: binutils bash bin bind cdrtools bzip2 kbd cups cxxlibs e2fsprogs etc gawk gcc gdb inetd infozip less links logrotate lynx man man-pages openssh openssl openssl-solibs pidentd pkgtools procps sed shadow slocate sysklogd sysvinit tar tcpip util-linux vim wget zlib 39 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Need to get 36710K of archives. After unpacking 17880K of additional disk space will be used. Do you want to continue? [y/N]

$ slapt-get --show slapt-get Package Name: slapt-get Package Mirror: http://software.jaos.org/slackpacks/10.0/ Package Location: . Package Version: 0.9.9f-i386-1 Package Size: 147 K Package Installed Size: 530 K Package Required: curl >= 7.12.0-i486-1,glibc-solibs >= 2.3.2-i486-7,binutils,openssl >= 0.9.7d-i486-1,pkgtools,zlib Package Conflicts: Package Suggests: Package MD5 Sum: cb4b44cbb4efee4e993109231b107828 Package Description: slapt-get: slapt-get (APT like system for Slackware) slapt-get: slapt-get is an APT like system for Slackware package management. slapt-get: slapt-get: * See /usr/doc/slapt-get-0.9.9f/ for complete documentation. slapt-get: * You will also want to customize /etc/slapt-get/slapt-getrc, slapt-get: using a local mirror. www.slackware.com may be very busy. slapt-get: * Support: slapt-get: http://software.jaos.org/cgi-bin/mailman/listinfo/slapt-get-user slapt-get: * Please translate slapt-get: http://software.jaos.org/BUILD/slapt-get/po/slapt-get.pot slapt-get: then send to slapt-get-devel@software.jaos.org slapt-get: Package Installed: yes