Page 1 of 1

sbopkg: Slackbuilds.org Package browser

Posted: Fri Aug 04, 2023 12:34 pm
by jamesbond

Fatdog64 900 includes a package called "sbopkg" in its repo.

"sbopkg" is short for Slackbuilds.org Package browser.

You may ask: what is Slackbuilds.org, and why do I care? Well, Slackbuilds.org is home to an extended compilation of recipes to build packages for Slackware (beyond the official Slackware themselves). They are somewhat comparable to Arch Linux's AUR repository. On my last count, there recipes for about ~9000 packages. There are probably a recipe for any package that you need. From that site, you can search and download the recipe you want, and build your package __from source__.

Ok, so far so good, but what is sbopkg then? sbopkg is a frontend to Slackbuilds.org. With it, you can browse available packages comfortably, and it can also download the recipes, and compile and built it for you - and install it for you if you want. You can keep the compiled packages for later re-use of distribution. sbopkg is good enough to know which packages that it installs (and which ones aren't), so you can easily uninstall packages that you don't want.

With sbopkg, you don't need to know anything about Slackware recipe, or how to build it, how to package it, etc. All you need to do is search for the package you want, select it, and tell sbopkg to build it. The only you need to know is dependencies, because normal Slackware packages does not record them (but Slackbuild.org does, and so it sbopkg, although it allows you to build a package without building/install its dependencies).

Okay, if this is all about Slackware, then how is it relevant to Fatdog64? As it turns out, Slackware is very close to a plain vanilla upstream build, and so is Fatdog64. In addition, as it turns out, Fatdog64 also uses Slackware package management tools (pkgtools). The similarities in these two aspects enables many recipes in Slackbuilds.org to be usable in Fatdog64; and sbopkg provides easy access to these.

In short, sbopkg gives you access to a lot more packages beyond what is provided by Fatdog64 repository. The only thing you need is devx.sfs, because sbopkg does not download already-compiled packages; it will download the recipe which will download the sources and build them for you.

------

Sbopkg's inclusion in Fatdog64 isn't something new. We had it in 700, and also in 800, but it was never featured so that many probably never heard about it.


Re: sbopkg: Slackbuilds.org Package browser

Posted: Fri Aug 04, 2023 12:47 pm
by jamesbond
jamesbond wrote: Fri Aug 04, 2023 12:34 pm

... although it allows you to build a package without building/install its dependencies).

And this is a good thing. Why? Because Fatdog64 and Slackware / Slackbuilds.org name the packages differently. We may call the package as "mesa", they may call it as "opengl-mesa". Being able to build without having to pull the dependencies means we can build other packages that depend on "opengl-mesa" for example, without having to build and install "opengl-mesa" first, which is okay, because Fatdog64 already has "mesa" (which fulfills the dependency for "opengl-mesa").

But it also means that you need to be mindful. Sometimes the build will fail simply because the dependencies are not installed yet. When this happens, the first thing you need to do is to check what the dependencies are (this information is provided by Slackbuilds.org as I recall), and then check if Fatdog64's repo (using gslapt) already have them. If Fatdog64 has them, you can install them. Only Fatdog64 doesn't have them or the Fatdog64's version are not usable (e.g. wrong version etc), then you may want to build the dependencies using sbopkg as well.

There are definitely some work required to make sbopkg work. It's not a direct point-and-click install. But it narrows the gap between this kind of convenience, and one that requires full knowledge for building packages from scratch.

YMMV. Hopefully this helps you, if not, there are always other ways to get a package running in Fatdog64.