Releases: pghvlaans/sbotools
4.1.4
sbotools-4.1.4 is a minor release focusing on quality-of-life tweaks.
User-Facing Changes
contrib: SCerovec shared a Debian-likesbotooltheme.sbotoolsnow 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 forsboupgradeto 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 inTAGS.txt.sbohints: Fixed the long-form--replace-optionalflag.
4.1.3
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.
bashandzshcompletions can finish the name of more than one script.
Internal Changes
- Bumped
sbotestcompatibility. 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
sbocheckbashcompletion.- Thanks to fsLeg.
- Fixed
zshcompletions.- 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
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
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 theSettingsmenu to reduce clicks.- Thanks to SCerovec for the feedback.
sboinstall: Any installed package can be built with--noinstallif--reinstallis also used.sboinstall,sboupgrade: Provide more correct on-screen messages with--noinstall.sbotool: Use a singleOperationsmenu withmoreandlessoptions instead of separate menus.
Internal Changes
- Figure out
perl,pythonandrubyinformation 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
sbotestcompatibility.
Bugfixes
sboupgrade:--nowrapproperly disablessbotoolswrapping.- Thanks to leoctrl for the report.
sboremove: Fixed dependency ordering when running on multiple scripts.- This bug dated back to very early iterations of
sboremovefrom 2012. Shared reverse dependencies among scripts with removal requests were wrongly skipped except with--alwaysask.
- This bug dated back to very early iterations of
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 theGIT_BRANCHsettings editor.Solibs.pm: Properly recognize packages with e.g. the_slack15.0tag as stock.- Relevant for the
perltest when noperlpackages are found in/var/lib/pkgtools/removed_packages.
- Relevant for the
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/tmpfor non-root package tests.sbocheck: Add package tests for perl, python and ruby; use--typeto 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 thesbotoolSettings menu instead of the interactive selector.- Thanks to SCerovec for the suggestion.
sboupgrade: Use the same formatting assbocheckwhen making solib test logs.- Drop support for Slackware 14.0, 14.1 and 14.2.
- The
OBSOLETE_CHECKsetting andsbocheck -Oalso 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
sbocheckexits 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
4.0.1
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/tmpfor non-root package tests.sbocheck: Add package tests for python and ruby; use--typeto 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 thesbotoolSettings menu instead of the interactive selector.- Thanks to SCerovec for the suggestion.
sboupgrade: Use the same formatting assbocheckwhen 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
sbocheckexits 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
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 fromslack-descwhen possible.sbofind: Use--descriptionsto include descriptions in the search.sbofind: Use--rawto return a list of matching names only.- Use
--wrapand--nowrapto toggle word wrapping, except forsboconfig. sboinstall: All users can call with--template-onlyto create a template without building and downloading.sboinstall:--norequirements,--batchand--dry-runare compatible with each other.- Added the
DIALOGRCsetting to specify adialogrcfile forsbotoolto use.
Bugfixes
- Replace
SLACKBUILDS.TXTwith 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
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 bothcompat32and normal builds at the command line; the--compat32option still builds an entire list of scripts ascompat32.
Internal Changes
- Find all script locations at the start when they are required; the former method was prone to checking
SLACKBUILDS.TXTrepeatedly. sbofind: Simplify result generation.Info.pm: Attempt to fix only brokeninfofiles.- Replaced most instances of
grep(). Build.pm: Inrationalize_queue(), limit the use of string substitutions.Info.pm: Only readinfofiles 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 fasterin().Util.pm: Handle hint parsing once at the start.sboinstall,sboupgrade: Replace an unnecessarymerge_queues()call.- Calculate
compat32dependencies directly.- This allowed for simplifying or removing related code in a number of places.
Build.pm: Remove subroutines related to rewriting SlackBuilds.- Bugfix:
sbohints --queryproperly reports scripts when they have optional dependencies while being an optional dependency. - Remove unnecessary file existence checks to reduce lag.
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 -Xto perform a missing shared object check on all installedSBopackages. - Use
sbocheck -cto perform missing shared object checks on all listed packages. - Use
sbocheck -Cto perform a missing shared object check on all installed packages. - Set the new
SO_CHECKoption toTRUEto do the shared object check automatically when runningsbocheckandsboupgrade. - Use
sboupgrade -Xto override theSO_CHECKsetting. - 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
COLORoption toTRUEto enablesbotoolscolor output. - Customize the output colors by editing the
sbotools.colorsfile.- ASCII color specifications can be used; see
sbotools.colors(5)for details.
- ASCII color specifications can be used; see
- All scripts except for
sboconfighave--colorand--nocolorto turn colors on and off, respectively.- Thanks to SCerovec for the suggestion.
Other Additions
sboinstall: Show the installation date of previously-installed packages.- Thanks to @shamefulCake1 for the request.
sbofind: Indicate installed packages with their installation date.sbocheck: Attempt to explain why 'missing' scripts are missing.Util.pm: Block/,/home/{,*}and/rootas directory settings and values of$TMP.- Added setting
NOWRAPto turn off text wrapping.- Thanks to @shamefulCake1 for the request.
Bugfixes
sboinstall,sboupgrade: Do not attemptcompat32builds for one-architecture scripts.Build.pm: Usesetarchwhen a 32-bit userland reports a 64-bit kernel and for mostcompat32builds.setarchis not used fori?86builds onx86_64systems if a 64-bitLIBDIRSUFFIXis available; compatibility builds are unsupported in principle (though bug reports are still welcome).
{Util,Repo}.pm: Use--no-pagerwithgitcommands to avoid trouble with the-Msetting forLESS.- 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.