Skip to content

MyRequiem/spman

Repository files navigation


spman

Spman is a powerful Slackware package manager implemented on Python3 and licensed under the MIT license.
This program is available on SlackBuilds.org

Main features:
  • check packages for upgrade
  • download package or source code from allowed repositories
  • download, build and install packages in the queue from SBo repository
  • remove/upgrade packages in the current directory
  • view the history of installing/updating/removing packages
  • show list all dependencies for package from SBo repository
  • view the contents of files included in SlackBuild archive from SBo repository
  • search package from each enabled repository and view info
  • show complete list of the packages in the repository
  • search for problems with dependencies in the system packages using Slackware binary dependency checker (sbbdep) tool or ldd
  • search for links to nonexistent files/dir in the specified directory
  • check health installed packages
  • search for *.new config files on the system
  • commands autocompletion

Available repositories: [Slackware.com] [SlackBuilds.org] [Alien's] [Alien's multilib]

Requirements:
  • Slackware Linux
Optional dependencies:
  • bash-completion - for autocomplete the input parameters (from standard Slackware repository, group extra)
  • sbbdep - Slackware binary dependency checker for search dependency problems functionality (available on SlackBuilds.org)
  • tqdm - show progress bar for some parameters (available on SlackBuilds.org)
Build and install:
  1. `~# wget https://github.com/MyRequiem/spman/archive/2.2.3/spman-2.2.3.tar.gz
  2. ~# tar -xvzf spman-2.2.3.tar.gz
  3. ~# cd spman-2.2.3/slackbuild
  4. ~# ./spman.SlackBuild
  5. ~# upgradepkg --install-new --reinstall /tmp/spman-2.2.3-*.t?z
Usage: spman <param> [param[, param ...]]
-h, --help

Print help message and exit:

help

-v, --check-version

Check program version for update:

check-version

-l, --repolist

Print a list of all the repositories allowed in /etc/spman/repo-list Disconnected repositories are highlighted in red:

repolist

-r, --repoinfo

Show information about all active repositories:

repoinfo

-b, --blacklist

Show blacklisted packages from /etc/spman/blacklist

blacklist

-u, --update

Update local data for all repositories. The paths to the log files and lists of packages are specified in /etc/spman/spman.conf

By default:

  • /var/log/spman/repo_name/ChangeLog.txt
  • /var/lib/spman/repo_name/PACKAGES.TXT (or SLACKBUILDS.TXT)

where repo_name: slack, sbo, alienbob or multilib

NOTE: You must run command 'spman --update' immediately after installing spman and configuring /etc/spman/spman.conf

update

-t, --health

Check the health of all installed packages on the system and display detailed information:

health

-w, --new-config

Search for *.new config files on the system:

new-config

-g, --check-upgrade

Check all installed packages for upgrade:

check-upgrade

-d, --download --pkg|--src <reponame> <pkg>[ <pkg> ...]

Download binary package(s) or source code from specified repository. Binary packages will be downloaded to the directory specified in the BUILD_PATH parameter from /etc/spman/spman.conf (default: /root/spman/build/). Source code and build scripts will be downloaded to BUILD_PATH/pkg_name/ directory.

NOTE: only '--pkg' for reposytory 'multilib', only '--src' for reposytory 'sbo'

download

-m, --upgrade-pkgs [--only-new]

Install/Upgrade packages in the current directory.

  • --only-new
    packages already installed on the system with the same name, version, build number and tag will not be reinstalled.

upgrade-pkgs

-e, --remove-pkgs

If there are *.t?z packages in the current directory and they are installed, then these packages will be removed from the system.

remove-pkgs

-q, --queue --add|--remove|--clear|--show|--install

Download, build and install packages in the queue from SlackBuilds.org (sbo)

  • --add <pkg>[ <pkg> ...]
    add package(s) to the queue
  • --remove <pkg>[ <pkg> ...]
    remove package(s) from the queue
  • --clear
    clear queue
  • --show
    print queue
  • --install
    download, build and install package(s)

queue

-y, --history [--update]

View the history of installing/updating/removing packages.

  • --update
    update the installed packages database (reset history)

history

-p, --find-deps <pkg>

Show list all dependencies for package from SlackBuilds.org (sbo) repository. The packages already installed in the system are highlighted in green:

find-deps

-s, --view-slackbuild <pkg>

View the contents of files included in SlackBuild archive using pager:

view-slackbuild1

view-slackbuild2

-f, --find-pkg [--strict] <pattern>

Search for package (case-insensitive) from each enabled repository and view info.

  • --strict
    strict match by package name

find-pkg1

find-pkg2

find-pkg3

-i, --pkglist <reponame> [--only-installed]

Show complete list of the packages on repository. The packages already installed in the system are highlighted in green.

  • --only-installed
    show only installed packages

pkglist

-k, --check-deps --sbbdep|--ldd

Search for problems with dependencies in the system packages.

  • --sbbdep
    using 'sbbdep' tool
  • --ldd
    using 'ldd' tool

check-deps-sbbdep check-deps-ldd

-a, --bad-links <path_to_dir>

Search for links to nonexistent files/dirs in the specified directory.

bad-links