rationale
One of the central questions around a project like this one is “why”.
Yes, I am aware of sbopkg; I have used it, I have read the source (well, not the *whole* source).
I decided to create sbotools for a number of reasons. Obviously, because sbopkg already exists, those reasons must relate to it.
Firstly, I do not think that sbopkg is a bad piece of software, or needs replacing, or anything else of that ilk. There are a few things I do not care for about sbopkg – these are not criticisms of the software or its creator, these are simply design and implementation choices which I would have made differently. Additionally, the majority of my systems run FreeBSD, so I wanted an interface which was comfortable, familiar. I also wanted a slightly different feature set. Beyond all this, I see how important diversity is when I look to the plethora of Linux distributions, window managers / desktop environments, BSD distributions, etc etc, and felt like it would be a good thing to have another option available for utilizing slackbuilds.org. For these reasons and probably some others, I decided to create sbotools. The name was chosen to reflect the pkgtools influence.
I began this project in Bash, ("use the simplest tool appropriate to the job"), but realized early on that Perl would be a better choice for things like version comparisons. That said, I am far, far more experienced with Bash than with Perl, and there are a few spots where there is some really nasty code; this project was developed with the concept of get the things to work first (doing the simplest thing that could possibly work), then refactor, then optimize if needs be. While there are additional features I intend to implement, my primary focus is stability of the core functionality.
That’s enough for now.