sbotools is a set of Perl scripts providing a ports-like automation interface to SlackBuilds.org. Run sbotool for a TUI. The tools can also run independently for greater efficiency:
- sbocheck: Fetch the latest version of SlackBuilds.org repository; check for version updates, build number changes and out-of-tree installed SlackBuilds. Perform shared object dependency and other package checks.
- sboclean: Remove cruft by cleaning source archives, build directories and saved build options.
- sboconfig: A command line interface for changing settings.
- sbocutleaves: Interactively remove or list leaves, SBo packages without installed reverse dependencies.
- sbofind: Search the local copy of the repository.
- sbohints: Query and modify the blacklist and requests for optional dependencies and reverse dependency rebuilds.
- sboinstall: Install SlackBuilds with their dependencies; handle compat32 packages and build from templates.
- sboremove: Interactively remove installed SlackBuilds along with any unused dependencies.
- sboupgrade: Upgrade previously-installed SlackBuilds.
Features include dependency handling, using a custom git branch for the upstream repository, reverse dependency search and rebuild, batch mode, gpg verification and more. See sbotools(1) or sbotool(1) for a startup guide.
Script maintainers may be interested in the sbotest companion package for convenient reverse dependency build testing.
This repository is an sbotools revival, and was forked from the pink-mist repository, which covered development from version 0.1 through version 2.7. A debt of gratitude is owed to original author (and recent contributor) Jacob Pipkin, longtime maintainer Andreas Guldstrand and major contributor Luke Williams. This software would not exist without their efforts.
To make sbotools packages from the master branch, see sbotools-git-slackbuild. Alternatively, run tools/source_to_slackbuild.sh from the top sbotools source directory. For release sbotools, a SlackBuild is available at SlackBuilds.org.
sbotools currently supports Slackware 15.0 and beyond. For Slackware 14.0, 14.1 and 14.2, install sbotools-4.0.2 at the latest. See the sbotools downloads page.
- tools: Add a script to make a submission-ready archive.
- sboinstall: Additional "non-SBo" indicator.
- sboinstall, sboupgrade: Find and report installed .new files resulting from the queue.
- Readme.pm: Consistent newlines for incoming option display; no text wrapping.
- sbocheck: Account for multiple package copies in checks.
- Pkgs.pm: Error out if any non-blacklisted SBo package is installed more than once.
- sboclean, sboconfig and sbohints can still run under this condition.
- sbofind: Move file displays to the end.
- Util.pm: Escape error message quotes in dialog output.
- Pkgs.pm, Tree.pm: Minor optimizations.
- Util.pm: Do not check the number of columns unless the terminal has been resized.
- sbocheck, sboupgrade: Improved terminal width checks.
- sboupgrade, sboinstall: Minor display fixes.
- Download.pm: Use https:// instead of ftp:// for sbosrcarch.
- Thanks to fsLeg for the report.
- Added a setting IDLE_BUILD; set to TRUE to assign the idle IO priority class to the build/installation phase
- Thanks again to shamefulCake1 for the request and to SCerovec for his insights.
- Use the --idle-build option for sboinstall and sboupgrade to override the setting.
- sbocheck, sboupgrade: Do not print a running package count if the terminal is too narrow.
- Util.pm: Do not wrap messages if the terminal is too narrow.
- sbotool: Explicitly require the clear capability.
- sbotool: Get updated dimensions after the terminal resize prompt.
- SBO::Lib: Add an exit code for missing terminal capabilities.
- sboinstall, sboupgrade: Lint the value of $PKGTYPE, if set.
- Add desktop entries and icons for sbotool.
- sbotool: Use --tests to access the Package Tests menu directly.
- sboupgrade: Accept -A for --all-plus-failures.
- Util.pm: Reset the color at the end of colored lines, not afterwards.
- sbocheck: Do not attempt /opt labeling with --lib-search.
- sbocheck: List /opt-only packages failing the solib test separately.
- sboinstall, sboupgrade: Build queue label prints in color.
- Build.pm: By default, continue the queue after build failure, skipping SlackBuilds with failed dependencies.
- Thanks to dchmelik for the suggestion.
- Added an INSTANT_STOP setting, which offers to stop the queue as soon as one build fails.
- If continuing, builds with failed dependencies are skipped.
- If non-interactive, stop immediately.
- sboinstall, sboupgrade: Use --instant-stop to override the INSTANT_STOP setting.
- Build.pm: Use JSON::PP to write the mass rebuild resume queue.
- sboremove: Fix extra newline.
- sboupgrade: --all-plus-failures adds packages with missing solibs only in /opt to the queue if running interactively.
- Notify about CPAN installations regardless of CPAN_IGNORE; remove CPAN_IGNORE from the recommended settings list.
- Added a NICENESS setting; set an absolute niceness value for the build and package installation phase, or FALSE for whatever value the script started with.
- Thanks to shamefulCake1 for the request.
- sboinstall, sboupgrade: If interactive, explain why non-requested SlackBuilds are in the queue.
- Bugfix: sboinstall -q --reinstall is supposed to include the command line builds in the queue.
- Readme.pm: Print the local overrides message after the READMEs.
- sbotool: Include items for sboupgrade --all-plus-failures in Main Menu.
See ChangeLog.md for a record of changes from version 1.9 onward.