Skip to content

Releases: pghvlaans/sbotools

4.1.4

06 May 06:32
de7f512

Choose a tag to compare

sbotools-4.1.4 is a minor release focusing on quality-of-life tweaks.

User-Facing Changes

  • contrib: SCerovec shared a Debian-like sbotool theme.
  • sbotools now supports SlackBuilds without specified downloads.
    • Thanks to SCerovec for the suggestion.
  • sbotool: Make the Settings menu a little more readable.
    • Thanks to SCerovec for the feedback.
  • Repo.pm: Display the mirror URL and (if applicable) branch when downloading.
    • Thanks to fsLeg for the suggestion.
  • Added the NONET setting, which blocks SlackBuilds from accessing the network when running.
  • sboupgrade: Added --all-plus-failures to do all available upgrades and rebuild packages that fail tests before the run.
    • Thanks to dchmelik for the suggestion.
  • sbotools.hints: Added a hint for sboupgrade to ignore package failures on a script-by-script basis.
    • I found myself wanting this hint badly when I tried --all-plus-failures after a weekly public update, so in it went.

Internal Changes

  • Util.pm: Use a more maintainable method for handling the next expected Slackware version.

Bugfixes

  • sbofind: Do not match the "No tags found" message in TAGS.txt.
  • sbohints: Fixed the long-form --replace-optional flag.

4.1.3

26 Dec 04:44
2ccbd7e

Choose a tag to compare

sbotools-4.1.3 contains bugfixes and substantial improvements to detecting required users and groups.

User-Facing Changes

  • sbotool: Added a button to the Operations menus for creating users and groups.
  • The build option prompt now comes before adding users and groups.
    • This accounts for a limited number of scripts that have variable-sensitive user and group names and IDs.
  • bash and zsh completions can finish the name of more than one script.

Internal Changes

  • Bumped sbotest compatibility.
  • Readme.pm: Parse SlackBuilds for missing users and groups.
  • Readme.pm: Properly handle recommended UID/GID commands with variables.
    • These two changes result in 100% user/group accuracy as of December 2025.

Bugfixes

  • Build.pm: Retrieve the name of the last package created by a SlackBuild, not the first.
  • Fixed the sbocheck bash completion.
    • Thanks to fsLeg.
  • Fixed zsh completions.
    • Thanks to Ndolam for the report.
  • Download URLs requiring content disposition should now work properly.
    • Thanks to rizitis for his report at SlackBuildsOrg/slackbuilds.

4.1.2

21 Nov 13:35
e8d9bce

Choose a tag to compare

This is a snap release fixing a false negative issue with the perl test. Please see the 4.1.1 release notes for other changes since version 4.1.

4.1.1

20 Nov 13:41
e71bf1e

Choose a tag to compare

sbotools-4.1.1 is primarily a bugfix release, though it also includes minor usability changes for sbotool and tweaks needed to accommodate new sbotest features.

User-Facing Changes

  • sbotool: Streamlined the Settings menu to reduce clicks.
    • Thanks to SCerovec for the feedback.
  • sboinstall: Any installed package can be built with --noinstall if --reinstall is also used.
  • sboinstall, sboupgrade: Provide more correct on-screen messages with --noinstall.
  • sbotool: Use a single Operations menu with more and less options instead of separate menus.

Internal Changes

  • Figure out perl, python and ruby information only when tests are to be run.
  • sboinstall, sboupgrade: Better maintain dependency chains when rationalizing queues.
  • Build.pm: Share warnings and completed build queues to save time.
  • Bumped sbotest compatibility.

Bugfixes

  • sboupgrade: --nowrap properly disables sbotools wrapping.
    • Thanks to leoctrl for the report.
  • sboremove: Fixed dependency ordering when running on multiple scripts.
    • This bug dated back to very early iterations of sboremove from 2012. Shared reverse dependencies among scripts with removal requests were wrongly skipped except with --alwaysask.
  • Build.pm: Take all dependencies into account when rationalizing the queue rather than first-order dependencies only.
    • Scripts could be added before dependencies in some (rare) corner cases.
  • sbotool: Fixed the GIT_BRANCH settings editor.
  • Solibs.pm: Properly recognize packages with e.g. the _slack15.0 tag as stock.
    • Relevant for the perl test when no perl packages are found in /var/lib/pkgtools/removed_packages.

4.1

31 Oct 07:58
d404a84

Choose a tag to compare

4.1

sbotools-4.1 adds non-solib package testing and minor features. Quality-of-life improvements for sbotool are also included.

These notes document changes since sbotools-4.0.

Feature Changes

  • sbocheck: Write logs to /tmp for non-root package tests.
  • sbocheck: Add package tests for perl, python and ruby; use --type to specify tests to run.
    • Thanks to fourtysixandtwo for proposing the python test.
  • sboinstall: Perform multiple series rebuilds with a comma-separated list.
  • sboconfig: Running without flags accesses the sbotool Settings menu instead of the interactive selector.
    • Thanks to SCerovec for the suggestion.
  • sboupgrade: Use the same formatting as sbocheck when making solib test logs.
  • Drop support for Slackware 14.0, 14.1 and 14.2.
  • The OBSOLETE_CHECK setting and sbocheck -O also download a perl version history file.

sbotool Changes

  • Clarified the batch installation prompt.
    • Thanks to SCerovec for the feedback.
  • Added script selection menus for SlackBuilds that failed package tests, complete with a "Reinstall" button.
  • List and mark non-SBo installations in the "Installed" menu.
  • Renamed "Shared Objects" to "Package Tests"; perform the new perl, python and ruby tests.
  • Access the Settings menu directly with --config.
  • Add a button to delete local override files.
  • Offer to create a non-existent overrides directory after setting it.

Bugfixes

  • sbocheck exits with invalid options.
  • Repo.pm: Exit when the user declines a pubkey download.
  • sbotool: Do not offer Batch mode if unavailable.

Deprecation Notice

sbotools no longer supports Slackware 14.0, 14.1 and 14.2. Users of these versions are advised to install sbotools-4.0.2, which is available at the project's downloads page.

4.0.2

31 Oct 02:51
44d93d8

Choose a tag to compare

This is a minor release for the Slackware 14.* series with an sbotool "Package Test" bugfix.

A 14-compatible branch will be retained going forward in case further 4.0.* releases become necessary.

4.0.1

27 Oct 13:34
4a1f439

Choose a tag to compare

sbotools-4.0.1 adds non-solib package testing and minor features. Quality-of-life improvements for sbotool are also included.

Feature Changes

  • sbocheck: Write logs to /tmp for non-root package tests.
  • sbocheck: Add package tests for python and ruby; use --type to specify tests to run.
    • Thanks to fourtysixandtwo for proposing the python test.
    • A perl test will be added in version 4.1, with the possibility of more to come.
  • sboinstall: Perform multiple series rebuilds with a comma-separated list.
  • sboconfig: Running without flags accesses the sbotool Settings menu instead of the interactive selector.
    • Thanks to SCerovec for the suggestion.
  • sboupgrade: Use the same formatting as sbocheck when making solib test logs.

sbotool Changes

  • Clarified the batch installation prompt.
    • Thanks to SCerovec for the feedback.
  • Added script selection menus for SlackBuilds that failed package tests.
  • List and mark non-SBo installations in the "Installed" menu.
  • Renamed "Shared Objects" to "Package Tests"; perform the new python and ruby tests.
  • Access the Settings menu directly with --config.
  • Add a button to delete local override files.
  • Offer to create a non-existent overrides directory after setting it.

Bugfixes

  • sbocheck exits with invalid options.
  • Repo.pm: Exit when the user declines a pubkey download.
  • sbotool: Do not offer Batch mode if unavailable.

Deprecation Notice

sbotools will drop support for Slackware 14.0, 14.1 and 14.2 in version 4.1, which will be released in the near future. These versions have been EOL for almost two years, and it will not be possible to introduce working timestamp-based package tests to sbocheck (such as the incoming perl test) until this has been done.

4.0

09 Oct 13:26
2647124

Choose a tag to compare

4.0

sbotools-4.0 introduces a text user interface, combining the power of sbotools with the convenience of a menuing system.

sbotool

sbotools has had a persistent learning curve problem. New users may find the variety of scripts and options confusing. Existing users sometimes have trouble discovering features.

sbotool is a TUI with dynamically-generated dialog menus intended to mitigate this issue. Almost all sbotools operations can be accomplished here, including updating the repository, installing and upgrading scripts, setting hints and build options, performing large-scale rebuilds and shared object dependency checks, and more. Browsing the repository by series, searching by name and description and filtering lists makes finding and acting on scripts more convenient.

Please note that sbotool tends to load more slowly when run for the first time after booting up. Performance improves once the loading screen has been cleared.

The new TUI is not intended as a replacement for the individual commands. They are still very much first-class citizens and provide superior efficiency and fine-grained option control for experienced users. sbotools does not and will not produce dialog output outside of the sbotool context.

Other Feature Changes

  • sbofind, sboremove: Display a description from slack-desc when possible.
  • sbofind: Use --descriptions to include descriptions in the search.
  • sbofind: Use --raw to return a list of matching names only.
  • Use --wrap and --nowrap to toggle word wrapping, except for sboconfig.
  • sboinstall: All users can call with --template-only to create a template without building and downloading.
  • sboinstall: --norequirements, --batch and --dry-run are compatible with each other.
  • Added the DIALOGRC setting to specify a dialogrc file for sbotool to use.

Bugfixes

  • Replace SLACKBUILDS.TXT with an auto-generated version on Slackware 14.0 and 14.1 to mitigate a known-removed script.
  • sbohints: Properly handle scripts with regex special characters in their names.
  • sboinstall, sboupgrade: Do not attempt GPG verification for non-root dry runs.

3.8.1

28 Aug 11:56
65ee904

Choose a tag to compare

The main focus of sbotools-3.8.1 is optimization. Expect considerably faster performance creating long queues and finding reverse dependencies.

compat32

There is only one user-facing change in this version:

  • sboinstall, sboupgrade: Pass both compat32 and normal builds at the command line; the --compat32 option still builds an entire list of scripts as compat32.

Internal Changes

  • Find all script locations at the start when they are required; the former method was prone to checking SLACKBUILDS.TXT repeatedly.
  • sbofind: Simplify result generation.
  • Info.pm: Attempt to fix only broken info files.
  • Replaced most instances of grep().
  • Build.pm: In rationalize_queue(), limit the use of string substitutions.
  • Info.pm: Only read info files once.
    • Although this behavior was indicated in a pre-fork code comment, no skip was actually performed except in very limited circumstances.
  • Util.pm: Use a faster in().
  • Util.pm: Handle hint parsing once at the start.
  • sboinstall, sboupgrade: Replace an unnecessary merge_queues() call.
  • Calculate compat32 dependencies directly.
    • This allowed for simplifying or removing related code in a number of places.
  • Build.pm: Remove subroutines related to rewriting SlackBuilds.
  • Bugfix: sbohints --query properly reports scripts when they have optional dependencies while being an optional dependency.
  • Remove unnecessary file existence checks to reduce lag.

3.8

14 Aug 09:59
07ab37c

Choose a tag to compare

3.8

sbotools-3.8 comes with bugfixes, minor (but hopefully useful) feature additions and a fresh coat of paint.

Shared Object Checks

Although maintaining a reasonably clean and non-broken collection of SBo packages has become easier since the addition of sbohints and the various rebuild options, it can still happen that Slackware and third-party upgrades cause breakage related to missing shared object dependencies ("solibs"). This latest version brings shared object checking to sbotools for the first time.

  • Use sbocheck -X to perform a missing shared object check on all installed SBo packages.
  • Use sbocheck -c to perform missing shared object checks on all listed packages.
  • Use sbocheck -C to perform a missing shared object check on all installed packages.
  • Set the new SO_CHECK option to TRUE to do the shared object check automatically when running sbocheck and sboupgrade.
  • Use sboupgrade -X to override the SO_CHECK setting.
  • Added Solibs.pm, a module with subroutines related to evaluating ELF binaries and shared objects.

The security-conscious can note that shared object checks are written in pure perl and do not use ldd. When running as root, a log file is saved with a per-package breakdown of missing objects and the files that link to them. Checks against all packages (-C) and package lists (-c) can be run without a local copy of the SBO repository.

Color Output

sbotools output can be prone to the 'wall-of-text' effect at times, making it difficult to notice more noteworthy messages immediately. Customizable color output is now available.

  • Set the new COLOR option to TRUE to enable sbotools color output.
  • Customize the output colors by editing the sbotools.colors file.
    • ASCII color specifications can be used; see sbotools.colors(5) for details.
  • All scripts except for sboconfig have --color and --nocolor to turn colors on and off, respectively.
    • Thanks to SCerovec for the suggestion.

Other Additions

  • sboinstall: Show the installation date of previously-installed packages.
  • sbofind: Indicate installed packages with their installation date.
  • sbocheck: Attempt to explain why 'missing' scripts are missing.
  • Util.pm: Block /, /home/{,*} and /root as directory settings and values of $TMP.
  • Added setting NOWRAP to turn off text wrapping.

Bugfixes

  • sboinstall, sboupgrade: Do not attempt compat32 builds for one-architecture scripts.
  • Build.pm: Use setarch when a 32-bit userland reports a 64-bit kernel and for most compat32 builds.
    • setarch is not used for i?86 builds on x86_64 systems if a 64-bit LIBDIRSUFFIX is available; compatibility builds are unsupported in principle (though bug reports are still welcome).
  • {Util,Repo}.pm: Use --no-pager with git commands to avoid trouble with the -M setting for LESS.
  • Improved interrupt handling.
    • Interrupts during repository and source fetch still terminate the download only for convenience.
  • Fixed rationalize_queue().
  • Readme.md: Allow for use without a README file.