SBPKG(1)

NAME
sbpkg - SlackBuilds.org package manager for Slackware

SYNOPSIS
sbpkg COMMAND [OPTIONS] [PACKAGE...]

DESCRIPTION
sbpkg is a package manager for SlackBuilds.org (SBo). It resolves dependencies, downloads sources, builds and installs packages on Slackware Linux.

COMMANDS

update
    Check for repository updates by comparing the remote ChangeLog.txt with the local copy, then sync the local SlackBuilds repository from the remote source.

    --generate
        Generate data.json from the existing local repository without fetching.

    --no-confirm
        Skip confirmation prompts.

upgrade
    Detect and upgrade all installed SBo packages that have newer versions available. Each package is listed with a status indicator:

    UPDATE
        The repository has a newer version than the installed one.

    AHEAD
        The installed version is newer than the repository (e.g. locally built).

    BUILD
        The version is identical but the build number differs (SlackBuild revision changed).

    CHECK
        The version comparison returned an indeterminate result.

    --check
        Check for upgradable packages and list them without performing the upgrade.

    --skip-installed
        Skip dependencies that are already installed.

    --skip-ahead
        Skip packages where the installed version is ahead of the repository.

    --no-deps
        Do not resolve or build dependencies.

    --no-checksum
        Skip MD5 checksum verification of downloaded sources.

    --gpg
        Enable GPG signature verification.

    --no-confirm
        Skip confirmation prompts.

build PACKAGE...
    Resolve dependencies, download sources, and build packages without installing.

    --skip-installed
        Skip packages that are already installed.

    --no-deps
        Do not resolve or build dependencies.

    --no-checksum
        Skip MD5 checksum verification of downloaded sources.

    --gpg
        Enable GPG signature verification.

    --no-confirm
        Skip confirmation prompts.

install PACKAGE...
    Resolve dependencies, download sources, build and install packages. Uses the configured installpkg command for packages that are not yet installed, and the configured reinstall command for packages that are already installed at the same version.

    --skip-installed
        Skip packages that are already installed.

    --no-deps
        Do not resolve or build dependencies.

    --no-checksum
        Skip MD5 checksum verification of downloaded sources.

    --gpg
        Enable GPG signature verification.

    --no-confirm
        Skip confirmation prompts.

reinstall PACKAGE...
    Rebuild and reinstall packages always using upgradepkg --reinstall, regardless of whether the package is already installed.

    --no-deps
        Do not resolve or reinstall dependencies.

    --no-checksum
        Skip MD5 checksum verification of downloaded sources.

    --gpg
        Enable GPG signature verification.

    --no-confirm
        Skip confirmation prompts.

remove PACKAGE...
    Remove installed SBo packages. If a package being removed is also a dependency of another installed package, a warning is displayed before proceeding.

    --with-deps
        Also remove dependencies that were installed alongside the package.

    --no-confirm
        Skip confirmation prompts.

fetch PACKAGE...
    Download sources and copy SlackBuild scripts into the configured fetch directory without building or installing.

    --no-checksum
        Skip MD5 checksum verification of downloaded sources.

    --gpg
        Enable GPG signature verification.

    --no-confirm
        Skip confirmation prompts.

deps PACKAGE...
    Display the full list of resolved dependencies for the given packages.

reverse PACKAGE...
    Show all packages in the repository that depend on the given packages.

info PACKAGE...
    Display detailed information about the given packages (name, version, build, category, arch, homepage, download, md5sum, requires, maintainer, email).

    --read-file FILE
        Display the specified file from the package directory instead of the standard package info (e.g. README or PACKAGE.SlackBuild).

search PACKAGE...
    Search the repository for packages whose names contain the given strings. Installed packages are marked accordingly.

    --maintainer
        Search by maintainer name instead of package name. Requires an exact match (e.g. "Dimitris Zlatanidis").

    --category
        List all packages within the given category names.

list [FILTER]
    List all installed SBo packages. An optional list of filter strings narrows the output.

changelog [FILTER]
    Display the SlackBuilds.org ChangeLog.txt from the local repository. An optional list of filter strings narrows the output to matching lines only.

clean
    Remove all cached files and directories from the build and fetch directories.

    --no-confirm
        Skip confirmation prompts.

stats
    Display a summary of the local SBo repository: total packages, total categories, a per-category package count arranged in three columns, total installed packages, total blacklisted packages, and the current cache size.

config
    Display the contents of the sbpkg configuration file.

FILES

/etc/sbpkg/sbpkg.toml
    Main configuration file.

/var/lib/sbpkg/
    Local SlackBuilds repository data.

/var/log/packages/
    Slackware installed packages directory.

/etc/sbpkg/blacklist.toml
    Blacklist file. Packages listed here are excluded from automatic upgrades. Supports exact names and wildcard patterns ending with * (e.g. python3*).

/tmp/sbpkg/build/
    Temporary build directory. Cleaned by the clean command.

/tmp/sbpkg/fetch/
    Temporary fetch directory. Cleaned by the clean command.

/var/log/sbpkg/build.log
    Build log file. Overwritten at the start of each build session.

/var/log/sbpkg/deps.log
    Dependency tracking file (JSON). Records packages and their resolved dependencies on install; entries are removed on uninstall.

/var/lib/sbpkg/data.json
    Package index generated from the local repository after each sync.

/var/run/sbpkg.lock
    Lock file used to prevent multiple simultaneous instances (when enabled in config).

EXAMPLES

Sync the local repository:
    sbpkg update

Install a package with its dependencies:
    sbpkg install colored

Install multiple packages skipping already installed:
    sbpkg install colored sun --skip-installed

Build a package without installing:
    sbpkg build python3

Reinstall a package without resolving dependencies:
    sbpkg reinstall sbcl --no-deps

Remove packages without confirmation:
    sbpkg remove colored sun --no-confirm

Search for packages matching a string:
    sbpkg search audio

Show all packages that depend on a given package:
    sbpkg reverse colored

Upgrade all installed SBo packages:
    sbpkg upgrade

Upgrade skipping packages ahead of the repository:
    sbpkg upgrade --skip-ahead

Check for available upgrades without installing:
    sbpkg upgrade --check

Fetch sources without building:
    sbpkg fetch python3

Show dependencies of a package:
    sbpkg deps ffmpeg

Display information about a package:
    sbpkg info sbcl

Display the README for a package:
    sbpkg info colored --read-file README

Display the SlackBuild script for a package:
    sbpkg info colored --read-file colored.SlackBuild

Search packages by maintainer:
    sbpkg search --maintainer Dimitris Zlatanidis

List all packages in a category:
    sbpkg search --category python

List packages from multiple categories:
    sbpkg search --category system python

Display the local ChangeLog:
    sbpkg changelog

Display only ChangeLog entries matching a keyword:
    sbpkg changelog ffmpeg

Clean the build and fetch directories:
    sbpkg clean

EXIT STATUS

0   Success.

1   An error occurred (package not found, build failure, missing config, etc.).

NOTES
GPG signature verification is not supported when the configured repository branch is set to current. The --gpg flag and the gpg_verify config option have no effect in that case.

AUTHOR
Dimitris Zlatanidis <dslackw@gmail.com>

SEE ALSO
installpkg(8), removepkg(8), upgradepkg(8)