Title: How to use Slackware community slackbuilds | |
Author: Solène | |
Date: 13 November 2020 | |
Tags: slackware | |
Description: | |
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 | |
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. | |
group. | |
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 | |
+====================================================================== | |
======== | |
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 |