LinuxCommandLibrary

slapt-src

Build Slackware packages from source code

TLDR

Update the list of available slackbuilds and versions

$ slapt-src [[-u|--update]]
copy

List all available slackbuilds
$ slapt-src [[-l|--list]]
copy

Fetch, build and install the specified slackbuild(s)
$ slapt-src [[-i|--install]] [slackbuild_name]
copy

Locate slackbuilds by their name or description
$ slapt-src [[-s|--search]] [search_term]
copy

Display information about a slackbuild
$ slapt-src [[-w|--show]] [slackbuild_name]
copy

SYNOPSIS

slapt-src [options] [package-name ...]

PARAMETERS

-u, --update
    Updates the local database of available SlackBuilds from configured repositories.

-i, --install
    Builds and installs one or more specified source packages. This will download the source, run the SlackBuild, and then install the resulting binary package.

-r, --remove
    Removes the SlackBuild script and associated downloaded source files for a package. Note: this does not remove the binary package installed by a previous -i operation.

-s, --search
    Searches for source packages matching a given keyword or pattern in the available SlackBuilds list.

-l, --list
    Lists all available source packages (SlackBuilds) from the configured repositories.

-c, --clean
    Cleans up downloaded source tarballs and temporary build directories for packages.

-b, --build
    Builds a package from source but does not install it. This will leave the generated .tgz package in the current directory or a specified build directory.

-d, --download
    Downloads source tarballs for a specified package but does not proceed with building or installation.

-e, --exist
    Checks if a specified source package (SlackBuild) exists in the configured repositories.

-v, --verbose
    Enables verbose output, providing more details during operations like updating, building, or installing.

-y, --assume-yes
    Assumes 'yes' to all prompts during interactive operations, allowing for non-interactive execution.

-D, --dry-run
    Performs a simulated run of the command without making any actual changes to the system or downloading files.

-h, --help
    Displays a brief help message and exits.

DESCRIPTION

slapt-src is a command-line utility integral to the Slackware Linux ecosystem, designed for advanced management of software packages compiled from source code. It complements slapt-get, which primarily handles binary package installations, by providing a robust system for automating the process of downloading, building, and installing software from its source code using Slackware's native SlackBuild scripts.

This tool empowers users to build and install highly customized software, access the latest upstream versions of applications, or compile programs not readily available as pre-compiled binary packages. It streamlines the often complex task of manual compilation by leveraging SlackBuilds, which are shell scripts that define the build process and ensure adherence to Slackware's packaging standards. slapt-src is essential for Slackware users who require fine-grained control over their installed software, enabling them to maintain a highly tailored and up-to-date system environment.

CAVEATS

Building software from source can be resource-intensive, requiring significant CPU time and disk space for source files and temporary build directories. The success of a build heavily relies on the quality and maintenance of the SlackBuild script; outdated or broken scripts can lead to compilation failures.

slapt-src operations that modify the system (like -i or -c) generally require root privileges or execution via sudo. An active internet connection is necessary to download both SlackBuild scripts and the actual source tarballs for the software.

CONFIGURATION FILES

slapt-src reads its primary configuration from /etc/slapt-get/slapt-src.conf. This file defines the URLs of SlackBuild repositories (often community-maintained), as well as various options influencing how packages are built and installed. Users can customize this file to add their own SlackBuild repositories or adjust global build settings.

DEPENDENCIES

While slapt-src automates much of the build process, it assumes that the necessary build-time tools (such as compilers like gcc, build systems like make, and various development libraries) are already present on the system. It does not automatically install these build dependencies itself. Any runtime dependencies for the final binary package are typically managed by slapt-get during the installation phase.

HISTORY

slapt-src emerged as a crucial component of the slapt-get project, which began as an effort to bring APT-like dependency resolution and package management capabilities to Slackware Linux. While slapt-get initially focused on pre-compiled binary packages, the need for a robust and integrated solution for managing source-based software became evident. This led to the development of slapt-src, designed to work in conjunction with slapt-get to provide a comprehensive package management experience that includes automated building and installation from source code using Slackware's native SlackBuild system. Its evolution reflects the Slackware community's commitment to both simplicity and flexibility in system administration.

SEE ALSO

slapt-get(8), pkgtool(8), installpkg(8), removepkg(8), upgradepkg(8), makepkg(8)

Copied to clipboard