How to use Slackware community slackbuilds

Comment on Mastodon

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.

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