NAME

sbozyp - A package manager for Slackware's SlackBuilds.org

DESCRIPTION

Sbozyp is a command-line package manager for the SlackBuilds.org package repository. SlackBuilds.org is a collection of third-party SlackBuild scripts used to build Slackware packages. Sbozyp assumes an understanding of SlackBuilds and the SlackBuilds.org repository.

OVERVIEW

Usage: sbozyp [global_opts] <command> [command_opts] <command_args>

Every command has its own options, these are just the global ones:

-C                  Re-clone repository before running the command
-F FILE             Use FILE as the configuration file
-R REPO_NAME        Use repository REPO_NAME instead of REPO_PRIMARY
-S                  Sync repository before running the command

Commands are:

install|in          Install or upgrade packages
null|nu             Do nothing, useful in conjunction with -C or -S opts
query|qr            Query for information about a package
remove|rm           Remove packages
search|se           Search for a package using a Perl regex

Examples:

sbozyp --help
sbozyp --version
sbozyp install -S -R $REPO -f xclip system/password-store
sbozyp query -q password-store
sbozyp remove xclip password-store
sbozyp search system/.+
sbozyp -R $REPO -C null

CONFIGURATION

Sbozyp is configured via the /etc/sbozyp/sbozyp.conf file unless ~/.sbozyp.conf is present. An alternate configuration file can be used with the -F option.

REPOSITORY DEFINITIONS

You can define as many repositories as you wish in the configuration file. A repository definition requires these 3 variables to be set ($N is any non-negative integer):

REPO_$N_NAME
REPO_$N_GIT_URL
REPO_$N_GIT_BRANCH

Example:

REPO_7_NAME=fifteenpoint0
REPO_7_GIT_URL=git://git.slackbuilds.org/slackbuilds.git
REPO_7_GIT_BRANCH=15.0

This defines a repository that will be downloaded with git with a command like: git clone --branch $REPO_7_GIT_BRANCH $REPO_7_GIT_URL.

You can use this repository with sbozyp by specifying its name (fifteenpoint0) with the -R option. You can also make this repository the default (used when -R is omitted) by setting REPO_PRIMARY=fifteenpoint0 in your configuration file.

OTHER CONFIGURATION VARIABLES

REPO_PRIMARY

The repo to use by default when not specifying one with the -R flag. There is no default value for this variable.

REPO_ROOT

The directory to store local copies of SBo.

Defaults to REPO_ROOT=/var/lib/sbozyp/SBo.

TMPDIR

The directory used for placing working files.

Defaults to TMPDIR=/tmp.

CLEANUP

If 0 then keep built packages after installation. If 1 then remove them.

COMMANDS

INSTALL

Usage: sbozyp <install|in> [-h] [-f] [-i] [-n] <pkgname...>

Install or upgrade packages

Options are:

-h|--help           Print help message
-f                  Force installation even if package is already up to date
-i                  Non-interactive (DANGEROUS)
-n                  Do not install package dependencies

Examples:

sbozyp install --help
sbozyp in password-store
sbozyp in xclip mu password-store
sbozyp in system/password-store
sbozyp in -f -i -n password-store
sbozyp -S -R $REPO in -f password-store
sbozyp in $(sbozyp -S qr -u | cut -d' ' -f1) ### upgrade all packages

NULL

Usage: sbozyp <null|nu> [-h]

Do nothing, useful if you just want to re-clone (with global -C option) or sync (with global -S option) your repository.

Options are:

-h|--help           Print help message

Examples:

sbozyp null --help
sbozyp nu
sbozyp -R $REPO -S nu
sbozyp -S nu

QUERY

Usage: sbozyp <query|qr> [-h] [-a] [-d] [-i] [-p] [-q] [-r] [-s] [-u] PKGNAME?

Query for package related information

If only PKGNAME and no options are provided, this command will drop you into an interactive prompt for viewing PKGNAME's files.

All options are mutually exclusive meaning only one can be used in a single invocation.

Options are:

-h|--help           Print help message
-a                  Print a list of all SBo packages installed on the system
-d                  Print PKGNAME's slack-desc file
-i                  Print PKGNAME's info file
-p                  If PKGNAME is installed print the installed version, else exit with status 1
-q                  Print PKGNAME's dependencies (recursively and in order)
-r                  Print PKGNAME's README file
-s                  Print PKGNAME's .SlackBuild file
-u                  Print a list of all packages that have upgrades available

Examples:

sbozyp query --help
sbozyp qr system/password-store
sbozyp qr -q password-store
sbozyp qr -u
sbozyp -S -R $REPO qr password-store

REMOVE

Usage: sbozyp <remove|rm> [-h] [-i] <pkgname...>

Remove packages

Options are:

-h|--help           Print help message
-i                  Non-interactive (DANGEROUS)

Examples:

sbozyp remove --help
sbozyp rm xclip mu system/password-store
sbozyp rm -i password-store
sbozyp -S -R $REPO rm password-store
Usage: sbozyp <search|se> [-h] [-c] [-n] <regex>

Search for a package using a Perl regex

Options are:

-h|--help           Print help message
-c                  Match case sensitive
-n                  Match against CATEGORY/PRGNAM instead of just PRGNAM

Examples:

sbozyp search --help
sbozyp se password-store
sbozyp se password.+
sbozyp se -c -n system/.+
sbozyp -S -R $REPO se password-store

AUTHOR

Nicholas Hubbard (nicholashubbard@posteo.net)

CONTRIBUTORS

  • Kat Nguyen

COPYRIGHT

Copyright (c) 2023-2024 by Nicholas Hubbard (nicholashubbard@posteo.net)

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with sbozyp. If not, see http://www.gnu.org/licenses/.