slapt-src
Build Slackware packages from source code
TLDR
Update the list of available slackbuilds and versions
List all available slackbuilds
Fetch, build and install the specified slackbuild(s)
Locate slackbuilds by their name or description
Display information about a slackbuild
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.