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