slpkg(1)

NAME

slpkg - Package manager utility for Slackware Linux.

SYNOPSIS

Usage: slpkg [COMMAND] <PACKAGE ...> [OPTIONS]

DESCRIPTION

Slpkg is a software package manager that installs, updates, and removes packages on Slackware-based systems. It automatically calculates dependencies and determines the required steps for package installation. Slpkg simplifies managing machine groups by eliminating manual updates. The tool adheres to the standards of the slackbuilds.org organization for building packages and follows Slackware Linux's procedures for package installation, upgrades, and removal.

Slpkg adheres to the SlackBuilds.org standards for building packages and follows Slackware Linux's official procedures for installation, upgrades, and removals.

COMMANDS

update, (u, upd)
    Synchronizes remote repositories with local repositories and updates the package databases with the latest available versions.

upgrade, (U, upg)
    Upgrades installed packages if newer versions are available in the repository.

config, (g, conf)
    Edits the configuration file at /etc/slpkg/slpkg.toml using an interactive dialog interface or using the env variable EDITOR if dialog is not available.

repo-info, (ri, rinf)
    Displays repository information, including active repositories, last update time, and the number of packages they provide.

clean-tmp, (c, ctmp)
    Removes all downloaded SlackBuilds components: scripts, sources, and packages.

self-check, (sc, schk)
    Performs a check to determine if a newer version of the slpkg application is available from its configured update source. If an update is found, the system will display relevant information about the new version.

build, (b, bld)
    Compiles packages from SlackBuilds scripts without performing installation.

install, (i, inst)
    Builds and installs packages in the correct dependency order while maintaining logs of installed packages and their dependencies for clean removal.

remove, (R, rmv)
    Removes packages along with their dependencies if originally installed via slpkg install.

download, (dl, dwn)
    Downloads the latest SlackBuilds scripts along with their corresponding source files or pre-built packages, without proceeding to build or install them.

list, (l, lst)
    Searches for and lists all installed packages on the system.

info, (inf, show)
    Shows detailed package information in the terminal interface.

search, (s, ser)
    Searches the repository and finds packages matching specified criteria.

file-search, (f, fs)
    Searches for specific files, libraries, or paths within the available repository packages. It provides the exact location of the file and the package that contains it.

dependees, (dp, dps)
    Generates a dependency tree mapping relationships between SlackBuild packages.

tracking, (t, trk)
    Displays a dependency tree showing package relationships.

changelog, (a, chg)
    The changelog command allows users to view the changelog for a specified repository.

help, (h, hlp)
    Show this help message and exit.

version, (v, ver)
    Show version and exit.

OPTIONS

-y, --yes
    Yes' to all confirmation prompts.

-c, --check
    Verify the procedure before execution.

-O, --resolve-off
    Skip dependency resolution.

-r, --reinstall
    Use this option if you want to upgrade all packages even if the same version is already installed. Do not skip installed packages.

-k, --skip-installed
    Skips already-installed packages during reinstallation attempts. Note: This option affects only the dependencies.

-f, --fetch
    If the sources of your repository are not optimized for your location, it may take longer to download packages than usual, leading to a poor user experience. It is recommended to fetch the fastest mirror to see the score of the fastest and the slower mirror.

-E, --full-reverse
    Displays a complete reverse dependency tree, including all packages that (transitively) require the specified package, along with their requirements.

-S, --select
    Enables interactive dialog-terminal mode for searching-matching and selecting packages. Example try: 'slpkg install python3 --select' or 'slpkg download python3 --select' and etc.

-B, --progress-bar
    Displays a static progress bar representation of operations (building/installing/removing) rather than showing live process execution.

-p, --pkg-version
    Show package versions available in repositories.

-t, --desc
    Prints a short description of the package.

-e, --edit NAME
    Opens the relevant file using the system's default text editor, as defined on the slpkg.toml configuration file or by the EDITOR environment variable. This provides a convenient way to directly modify file contents. Argument NAME used only with the commands install and build.

-P, --parallel
    Enables parallel downloading using multiple concurrent connections to accelerate file retrieval.

-m, --no-case
    Performs case-sensitive matching when searching for packages, treating 'Foo' and 'foo' as distinct patterns.

\-q, \--quiet
    Decreases the verbosity of the output. When enabled, slpkg will suppress detailed information (such as individual file paths or progress nuances) and display only essential data, such as package names.

\-L, \--local
    Force the operation to use the local package database instead of remote repositories. When this option is enabled, slpkg retrieves information exclusively from the installed package logs located in /var/log/packages/. This is useful for querying the current state of the system without requiring an internet connection or updated repository indexes.

-o, \--repository NAME
    Changes the default repository for package operations. The target repository must first be enabled in the configuration file at /etc/slpkg/repositories.toml. Overrides the default repository from the configuration file. Note: The wildcard pattern * (all repositories) is only supported when used with the commands search or upgrade combine with check option.

-z, --directory PATH
    Specifies the target directory path where downloaded files will be saved. The path must exist and be writable.

-x, --color ON/OFF
    Enables or disables color output regardless of the selection made in the configuration file.

-D, --dialog
    Enables dialog mode. If dialog is not available on the system, this option is ignored and slpkg will continue to use the default command line interface.

-T, --repo-tag TAG
    Sets a specific repository tag (TAG) for SlackBuild scripts. This tag is used to distinguish your custom builds from others. Provide the desired tag value, for example, _custom. This option is typically used before a build operation and applies exclusively to SlackBuilds originating from supported SlackBuild repositories; it does not affect pre-built binaries.

-R, --pager
    Enables viewing the output through a terminal pager (e.g., less, most), allowing interactive scrolling, searching, and navigation of the content. The specific pager command can be configured via the PAGER variable in the slpkg.toml configuration file.

-d, --debug
    Enables DEBUG logging mode. This option allows users to directly set the logging level to DEBUG from the command line, overriding any logging_level configuration specified in slpkg.toml.

-h, --help
    Show command help information and exit.

OPTION SYNTAX

For convenience, you may combine multiple single-character options that don’t require arguments. For example:

       slpkg -Pnyi <package ...>

FILELIST|PACKAGES

Package operations can read inputs from a text file containing one package name per line. By default, files with the .pkgs suffix are recognized, but this can be modified in the configuration file (/etc/slpkg/slpkg.toml), like '.sqf' files.

MUST YOU KNOW

There are five indicators when some commands are used (if colors enabled via config file), for example: Green: to install, Yellow: to upgrade or reinstall, Grey: It's installed, Red: To remove. When you use the install, build, upgrade, or remove commands, you should know that:
    If the package is installed, then its color will change to gray.
    If the package is upgradeable, then it will change to yellow.
    If it is not installed, then its color will be green.
    Also, if you try to remove a package, you will see the package color turn red. For the upgrade command, you should know that you can upgrade packages from different repositories if you edit the /etc/slpkg/repositories.toml file and remove the repository tag. Then, slpkg can't recognize the repository of the packages. With the remove command, it will remove the dependencies if the package was installed with the slpkg install command. Otherwise, slpkg does not know the dependencies that were installed with the packages that are going to be removed. You can use the asterisk (*) instead of a package name to match all packages from a repository. You can't use an asterisk with the -o, --repository option, except for the search or upgrade combine with -c, --check option. Note: There is currently no function to indicate the packages if the colors are disabled.

EXIT STATUS

0 Successful slpkg execution.

1 Something wrong happened.

Installpkg and upgradepkg exit error code:

1 = tar returned error code

2 = corrupt compression envelope

3 = does not end in .tgz

4 = no such file

5 = external compression utility missing

CONFIGURATION FILES

Configuration file in the /etc/slpkg/slpkg.toml file.

Repositories file in the /etc/slpkg/repositories.toml file.

Blacklist file in the /etc/slpkg/blacklist.toml file.

slpkg_new-config command it's managing the .new configuration files easily and fast. Move, copy or remove them.

REPORT BUGS

Please report any found to: https://gitlab.com/dslackw/slpkg/-/issues.

AUTHOR

Dimitris Zlatanidis <dslackw@gmail.com>