---
slapt-mod is a tool that you can use to install some software on Porteus 5.01. It can download packages from the Salix Package repository and convert them to the module format (.xzm) used by Porteus. slapt-mod was first announced in this forum topic, where its usage was described in brief. I hope this guide will help those who need their hand held a little more.
To practice using slapt-mod and activating a module, I will use a small, simple package called FIGlet. It turns text into ASCII art. (It is famous enough to have its own Wikipedia page and is built into some search engines). Figlet doesn't depend on lots of other packages, so it should be one of the easiest things to install.
I used the Xfce edition of Porteus to make these screenshots, but I hope you can follow this guide in other desktop environments too.
---
Step 1: Terminal
In Porteus, open a terminal window. Check that slapt-mod is present by typing this command and pressing Enter:
Code: Select all
slapt-mod
Code: Select all
slapt-mod: A simple wrapper for slapt-get to build Porteus module.
All operations must be run as root user.
slapt-mod [-c] [-u] [-d|-m|-M|-n|-N PACKAGE_NAME] [-l PATTERN] [-s PATTERN]
Options:
-c: Purge cached packages
-d: Download only
-m: Download and build module (ZSTD compression)
-M: Download and build module (XZ compression)
-n: Download and build module without dependencies (ZSTD compression)
-N: Download and build module without dependencies (XZ compression)
-l: List installed packages
-s: Search package
-u: Update database
-h: This usage
To change the temporary directory (default is /tmp), pass the TMP variable.
$ TMP=/path/to/directory slapt-mod -m packagename
Temporary directory is for storing downloaded packages, installing and converting them to modules.
See /etc/slapt-get/slapt-modrc to set preferences for stripping and language of created modules.
Run this command:
Code: Select all
sudo slapt-mod -u
Code: Select all
Retrieving package data [http://slackware.uk/salix/x86_64/slackware-15.0/]...Cached
Retrieving patch list [http://slackware.uk/salix/x86_64/slackware-15.0/]...Cached
Retrieving checksum list [http://slackware.uk/salix/x86_64/slackware-15.0/]...Cached
Retrieving checksum signature [http://slackware.uk/salix/x86_64/slackware-15.0/]...Cached
Verifying checksum signature [http://slackware.uk/salix/x86_64/slackware-15.0/]...No key for verification
Retrieving ChangeLog.txt [http://slackware.uk/salix/x86_64/slackware-15.0/]...Cached
Reading Package Lists...Done
Retrieving package data [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...Cached
Retrieving patch list [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...Done
Retrieving checksum list [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...Cached
Retrieving checksum signature [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...Cached
Verifying checksum signature [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...No key for verification
Retrieving ChangeLog.txt [http://slackware.uk/salix/x86_64/slackware-15.0/extra/]...Done
Reading Package Lists...Done
Retrieving package data [http://slackware.uk/salix/x86_64/15.0/]...Cached
Retrieving patch list [http://slackware.uk/salix/x86_64/15.0/]...Done
Retrieving checksum list [http://slackware.uk/salix/x86_64/15.0/]...Cached
Retrieving checksum signature [http://slackware.uk/salix/x86_64/15.0/]...Cached
Verifying checksum signature [http://slackware.uk/salix/x86_64/15.0/]...No key for verification
Retrieving ChangeLog.txt [http://slackware.uk/salix/x86_64/15.0/]...Cached
Reading Package Lists...Done
Retrieving package data [http://slackware.uk/salix/x86_64/extra-15.0/]...Cached
Retrieving patch list [http://slackware.uk/salix/x86_64/extra-15.0/]...Done
Retrieving checksum list [http://slackware.uk/salix/x86_64/extra-15.0/]...Cached
Retrieving checksum signature [http://slackware.uk/salix/x86_64/extra-15.0/]...Cached
Verifying checksum signature [http://slackware.uk/salix/x86_64/extra-15.0/]...No key for verification
Retrieving ChangeLog.txt [http://slackware.uk/salix/x86_64/extra-15.0/]...Cached
Reading Package Lists...Done
If you want to keep a list of all the available x86 packages as a text file, you can write something like this:
Code: Select all
sudo slapt-mod -s x86 > my_slapt_list.txt
Code: Select all
sudo slapt-mod -s figlet
Code: Select all
figlet-2.2.5-x86_64-1salix15.0 (program for making large letters out of ordinary text)
Step 4: Download and make your module
Run this command:
Code: Select all
sudo slapt-mod -m figlet
Press y when prompted. The output should look something like:
Code: Select all
The following NEW packages will be installed:
figlet
0 upgraded, 0 reinstalled, 1 newly installed, 0 to remove, 0 not upgraded.
Need to get 98.0kB of archives.
Do you want to continue? [y/N] y
1/1 Get http://slackware.uk/salix/x86_64/extra-15.0/ figlet 2.2.5-x86_64-1salix15.0 [98.0kB]...Done
Done
Verifying package figlet-2.2.5-x86_64-1salix15.0.txz.
Installing package figlet-2.2.5-x86_64-1salix15.0.txz:
PACKAGE DESCRIPTION:
# figlet (program for making large letters out of ordinary text)
#
# Extra fonts are available on the the homepage.
# There is also a figlet mailing list.
#
# Homepage: http://www.figlet.org
#
Package figlet-2.2.5-x86_64-1salix15.0.txz installed.
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on /tmp/figlet-2.2.5-x86_64-1salix15.0.xzm, block size 262144.
[=================================================================/] 62/62 100%
Exportable Squashfs 4.0 filesystem, zstd compressed, data block size 262144
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 90.89 Kbytes (0.09 Mbytes)
14.15% of uncompressed filesystem size (642.23 Kbytes)
Inode table size 718 bytes (0.70 Kbytes)
26.89% of uncompressed inode table size (2670 bytes)
Directory table size 778 bytes (0.76 Kbytes)
50.10% of uncompressed directory table size (1553 bytes)
Number of duplicate files found 0
Number of inodes 82
Number of files 62
Number of fragments 3
Number of symbolic links 3
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 17
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
chown: warning: '.' should be ':': ‘guest.’
====> '/tmp/figlet-2.2.5-x86_64-1salix15.0.xzm' was created successfully.
Step 5: Copy your module to the modules folder
Open a file manager as root. In my Xfce desktop, this is in the Start Menu under Accessories > Thunar File Manager (root). Type your root password when prompted.
Be careful what you do in this window. You have a lot of power. Do not delete any system files!
Go to File System > tmp. You should see your module as a .xzm file.

Right-click it and Copy.
Navigate to your device on which you installed Porteus, then click to enter the porteus and modules folders. Right-click and Paste.
Your new module appears alongside any other installed modules you may have (e.g. your browser).

Step 6: Activate your module
Open your Porteus Modules program. in my Xfce desktop, this is in Start Menu > System > Porteus Modules. Check that your new module appears in the list, with an "x" next to it.

Double-click it to activate it. You might briefly see a dialog box that says "Well done! you have activated..."
Step 7: Use your new software
Open a terminal, check where figlet has been placed in the file system, and try it out:
Code: Select all
guest@porteus:~/Documents$ which figlet
/usr/bin/figlet
guest@porteus:~/Documents$ figlet -h
figlet: invalid option -- 'h'
Usage: figlet [ -cklnoprstvxDELNRSWX ] [ -d fontdirectory ]
[ -f fontfile ] [ -m smushmode ] [ -w outputwidth ]
[ -C controlfile ] [ -I infocode ] [ message ]
guest@porteus:~/Documents$ figlet Hello!
_ _ _ _ _
| | | | ___| | | ___ | |
| |_| |/ _ \ | |/ _ \| |
| _ | __/ | | (_) |_|
|_| |_|\___|_|_|\___/(_)
Step 8 (Optional): Cleanup
If you run:
Code: Select all
sudo slapt-mod -c
---
Thanks to Ed_P for valuable feedback, and to imgbb.com for image hosting.