sbocheck(1)

NAME

sbocheck - perform SlackBuilds.org tree updates and package checks

SYNOPSIS

sbocheck [-h|-v]

sbocheck [-NOgno]

sbocheck [-COXgn] [-t all,perl,python,ruby,solibs]

sbocheck [-COXgn] [-L lib1,lib2,...]

sbocheck [-c] package [package] [-t ... |-L ...]

sbocheck [--color|--nocolor] [--wrap|--nowrap] ...

DESCRIPTION

sbocheck updates or fetches a copy of the SlackBuilds.org tree, checks for available upgrades and reports what it finds. If OBSOLETE_CHECK is TRUE, updated copies of the script list at /etc/sbotools/obsolete and the perl version history file at /etc/sbotools/perl_vers are downloaded from https://pghvlaans.github.io/sbotools if running Slackware -current (see sboconfig(1) or sbotools.conf(5)). SlackBuilds with differing build numbers are reported separately, as are any SlackBuilds marked _SBo that are not found in the repository or local overrides (see sboconfig(1) or sbotools.conf(5)). SlackBuilds that have been designated as orphaned upstream are subject to eventual removal and are reported as well. Except in CLASSIC mode, scripts in the report that would not be upgraded by sboupgrade(1) are listed last and marked with = (equals sign).

The four output categories are logged separately to /var/log/sbocheck.log, /var/log/sbocheck-bumps.log, /var/log/sbocheck-out-of-tree.log and /var/log/sbocheck-orphaned.log. The out-of-tree, build number increment and orphaned build checks are disabled when CLASSIC is TRUE; if STRICT_UPGRADES is TRUE, apparent downgrades are reported with “differs”, but are not acted on by sboupgrade(1) (see sboconfig(1) or sbotools.conf(5)).

Upgrades to Slackware and third-party packages occasionally cause breakage due to *.so version differences. To check for missing first-order shared object (solib) dependencies among all installed in-tree _SBo packages, use the --so-check option. Each affected package is logged to /var/log/sbocheck-solibs.log if running as root, or /tmp/sbocheck-solibs.log otherwise. This log contains a list of missing shared objects and the files that have first-order dependencies on them. This is done automatically on every sbocheck run by default. To disable these automatic checks, by setting NO_SOCHECK to TRUE or use the --no-socheck flag.

Please note that scripts repackaging from binary packages occasionally trigger false positives. Such packages generally do not require rebuilds. Packages including files with missing solibs in the /opt directory only are listed separately in the output with an explanation.

Use --type with any package-checking option to specify package tests to run in a comma-separated list. The supported values are currently solibs (default for no specification), perl, python, ruby and all.

sbocheck can also perform library searches. Pass a comma-separated list of library names with --lib-search to generate a list of packages with first-order dependencies on each one. See the OPTIONS section for more details.

To check for updated SlackBuilds without updating the SlackBuilds tree, pass the --nopull option. sbocheck performs gpg(1) verification upon pulling the tree if GPG_VERIFY is TRUE (see sboconfig(1) or sbotools.conf(5)). The --gpg-verify option has the same effect. Passing both --gpg-verify and --nopull verifies the repo in-place without fetching.

Please note that sbosnap, which was removed as an independent script in sbotools-3.3, is a compatibility symlink to sbocheck.

Non-root users can only call sbocheck with the --nopull, --so-check, --check-package, --check-all-packages, --lib-search, --type, --no-socheck, --no-orphans, --help and --version flags. sbocheck issues a warning if the directory specified with LOCAL_OVERRIDES does not exist (see sboconfig(1) or sbotools.conf(5)). If an invalid configuration is detected in /etc/sbotools/sbotools.conf, the script exits with a diagnostic message.

OPTIONS

-C|--check-all-packages
    Check every package on the system, _SBo or otherwise, for missing shared objects. This option is usable even when there is no local copy of the repository. Incompatible with --so-check and --check-package. solibs are checked by default; use --type to specify other tests.

-c|--check-package
    Check one or more package names for missing shared objects; the packages need not be tagged with _SBo. This option is usable even when there is no local copy of the repository. Incompatible with --so-check and --check-all-packages. solibs are checked by default; use --type to specify other tests.

-g|--gpg-verify
    Use gpg(1) to verify the fetched repository, even if GPG_VERIFY is FALSE. When called with --nopull, verify the repo without fetching.

-L|--lib-search
    Search for packages and files with first-order dependencies on one or more libraries in a comma-separated list. See /var/log/sbocheck-lib-search.log if running as root (or /tmp/sbocheck-lib-search otherwise) for a detailed breakdown of dependent files in each package.

    Use in conjunction with --check-all-packages, --check-package or --so-check to specify packages to check; if none of these options is specified, search all packages on the system.

    Incompatible with --type.

-N|--no-socheck
    Skip the default missing shared object check.

-n|--nopull
    Check for updated SlackBuilds without updating the SlackBuilds tree. The --nopull flag can be used without root privileges, but only the package test logs are kept.

-O|--obsolete-check
    If running Slackware -current, download a copy of the obsolete script list and the perl version history file from https://pghvlaans.github.io/sbotools and verify with gpg(1) if GPG_VERIFY is TRUE or --gpg-verify is passed. Incompatible with --nopull.

-o|--no-orphans
    Skip the check for builds orphaned upstream.

-t|--type
    In combination with --so-check, --check-all-packages or --pkg-check, run the specified package checks in a comma-separated list. Supported checks include:

    solibs - The default option; using a package checking option without --type runs this test.

    perl - Check for incompatible perl-based shared objects and binaries based on timestamps. In addition to the currently-installed system perl package, the first build dates for major perl versions on Slackware (see /etc/sbotools/perl_vers) and installation dates for previously-installed perl packages are used to avoid false positives for stock and built packages, respectively. Results are saved to sbocheck-perl.log.

    python - Check for site-packages directories built against the wrong major version, e.g. python-3.12. Results are saved to sbocheck-python.log.

    ruby - Check for gems built against the wrong major version, e.g. ruby-3.4. Results are saved to sbocheck-ruby.log.

    all - run all supported package checks.

    Using --type without another package checking option checks all installed _SBo packages.

    Incompatible with --lib-search.

-X|--so-check
    Run package checks on all installed _SBo packages; no other operations are performed. solibs are checked by default; use --type to specify other tests. This is done automatically every time sbocheck is run. Set NO_SOCHECK to TRUE to disable this behavior. (see sboconfig(1) or sbotools.conf(5)). Incompatible with --check-package and --check-all-packages.

-h|--help
    Show help information.

-v|--version
    Show version information.

--color
    Turn on sbotools color output (default). See also sbotools.colors(5).

--nocolor
    Turn off sbotools color output.

--wrap
    Turn on sbotools word wrapping (default).

--nowrap
    Turn off sbotools word wrapping.

EXIT CODES

sbocheck can exit with the following codes:
    0: all operations were successful.
    1: a usage error occurred.
    2: a script or module error occurred.
    5: failed to download the tree.
    6: failed to open a required file handle.
    12: interrupt signal received.
    15: GPG verification failed.
    17: could not give SBO_HOME valid contents.

BUGS

None known. If found, Issues and Pull Requests to https://github.com/pghvlaans/sbotools/ are always welcome.

SEE ALSO

sboclean(1), sboconfig(1), sbocutleaves(1), sbofind(1), sbohints(1), sboinstall(1), sboremove(1), sbotool(1), sboupgrade(1), sbotools.colors(5), sbotools.conf(5), sbotools.hints(5), gpg(1)

AUTHORS

Jacob Pipkin <jacob.pipkin@icloud.com>

Luke Williams <xocel@iquidus.org>

Andreas Guldstrand <andreas.guldstrand@gmail.com>

MAINTAINER

K. Eugene Carlson <kvngncrlsn@gmail.com>