Title : How to use Slackware community slackbuilds
Author: Solène
Date : 13 November 2020
Tags : slackware
In today article I will explain how to use
[Slackbuilds](https://slackbuilds.org/) repository on a
[Slackware](https://www.slackware.com) current system.
You can read the [Documentation](https://slackbuilds.org/howto/) of
slackbuilds for more information.
We will first install **sbotools** package which make the use of
slackbuilds a lot easier: like a proper ports tree. As it's preferable
to let the tools create the repository, we will install them without
downloading the whole slackbuild repository.
Download the slackbuild
[from this page](https://slackbuilds.org/repository/14.2/system/sbotools/),
extract it and cd into the new directory.
$ tar xzvf sbotools.tar.gz
$ cd sbotools
$ . ./sbotools.info
$ wget $DOWNLOAD
$ md5sum $(basename $DOWNLOAD)
$ echo $MD5SUM
The two md5 string should match.
Now, run the build as root
$ sudo sh sbotools.SlackBuild
[lot of text]
Slackware package /tmp/sbotools-2.7-noarch-1_SBo.tgz created.
Now you can install the created package using
$ sudo /sbin/installpkg /tmp/sbotools-2.7-noarch-1_SBo.tgz
We now have a few programs to use the slackbuilds repository, they all
have their own man page:
+ sbocheck
+ sboclean
+ sboconfig
+ sbofind
+ sboinstall
+ sboremove
+ sbosnap
+ sboupgrade
# Creating the repository
As root, run the following command:
# sbosnap fetch
Pulling SlackBuilds tree...
Cloning into '/usr/sbo/repo'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 485454 (delta 31), reused 14 (delta 0), pack-reused 485395
Receiving objects: 100% (485454/485454), 134.37 MiB | 1.20 MiB/s, done.
Resolving deltas: 100% (337079/337079), done.
Updating files: 100% (39863/39863), done.
The slackbuilds tree is now installed under `/usr/sbo/repo`. This
could be configured before using `sboconfig -s /home/solene` which
would create a `/home/solene/repo`.
# Searching a port
One can use the command `sbofind` to look for a port:
# sbofind nethack
SBo: nethack 3.6.6
Path: /usr/sbo/repo/games/nethack
SBo: unnethack 5.2.0
Path: /usr/sbo/repo/games/unnethack
# Install a port
We will install the previously searched port: *nethack*
# sboinstall nethack
Nethack is a single-player dungeon exploration game. The emphasis is
on discovering the detail of the dungeon. Each game presents a
different landscape - the random number generator provides an
essentially unlimited number of variations of the dungeon and its
denizens to be discovered by the player in one of a number of
characters: you can pick your race, your role, and your gender.
User accounts that play this need to be members of the "games" group.
Proceed with nethack? [y] y
nethack added to install queue.
Install queue: nethack
Are you sure you wish to continue? [y] y
[... compilation ... ]
+==============================================================================
| Installing new package /tmp/nethack-3.6.6-x86_64-1_SBo.tgz
+==============================================================================
Verifying package nethack-3.6.6-x86_64-1_SBo.tgz.
Installing package nethack-3.6.6-x86_64-1_SBo.tgz:
PACKAGE DESCRIPTION:
# nethack (roguelike game)
#
# Nethack is a single-player dungeon exploration game. The emphasis is
# on discovering the detail of the dungeon. Each game presents a
# different landscape - the random number generator provides an
# essentially unlimited number of variations of the dungeon and its
# denizens to be discovered by the player in one of a number of
# characters: you can pick your race, your role, and your gender.
#
# http://nethack.org
#
Package nethack-3.6.6-x86_64-1_SBo.tgz installed.
Cleaning for nethack-3.6.6...
Done, nethack is installed! *sboinstall* manages dependencies and if
required will ask you for every required other slackbuilds to install
to add to the queue before starting compiling.
# Example: getting flatpak
[Flatpak](https://www.flatpak.org) is a software distribution system
for linux distributions, mainly to provide desktop software that could
be complicated to package like Libreoffice, GIMP, Microsoft Teams
etc... Using Slackware, this can be a good source of software.
To use flatpak and the official *flathub* repository, we need to
install flatpak first. It's now as easy as:
# sboinstall flatpak
And answer yes to questions (you will be asked to agree for every
dependency required, there are a few of them), if you don't want to
answer, you can use `-r` flag to automatically accept.
We need to add the official repository **flathub** using the
following command:
# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
And now you can browse flatpak programs on [flathub](https://flathub.org/home)
For example, if you want to install
[VLC](https://flathub.org/apps/details/org.videolan.VLC)
# flatpak install flathub org.videolan.VLC
You will be prompted about all the dependencies required in order to
get VLC installed, those dependencies are some system parts that will
be shared across all the flatpak software in order to efficiently use
disk space. For VLC, some kde components will be required and also
Xorg GL/VAAPI/openh264 environments, flatpak manage all this and you
don't have to worry about this.
**The file `/usr/sbo/repo/desktop/flatpak/README` explains quirks of
flatpak on Slackware, like pulseaudio instructions or the polkit
policy on slackware not allowing your user to use the global flatpak
install command.**
I found the following `~/.xinitrc` to enable dbus and pulseaudio for
me, so flatpak programs work.
start-pulseaudio-x11
eval $(pax11publish -i)
dbus-run-session fvwm2