Tested on Unraid 6.12
-
Install LXC the plugin, create a Slackware 15.0, start and attach to it
-
Upgrade security patches (press O to override when asked)
slackpkg upgrade-all
- Get the source from -current branch. I use
rsync
slackpkg install rsync lz4 xxHash
rsync -rzvh rsync://ftp.slackware.com/slackware/slackware-current/source/d/python3/ ~/python3-src
3.1. (Optional) You can grab Python3.12 source if you want that version. It works too
wget -P ~/python3-src \
https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz \
https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz.asc \
https://www.python.org/ftp/python/doc/3.12.5/python-3.12.5-docs-text.tar.bz2
- Static link the
expat
dependency (since its not include on Unraid, it is good to us)
sed -i 's/with-system-expat/without-system-expat/' ~/python3-src/python3.SlackBuild
- Include
ensurepip
(optional, I prefer to not)
sed -i 's/without-ensurepip/with-ensurepip/' ~/python3-src/python3.SlackBuild
5.1. (Optional) If you choose to not include ensurepip
you can add those lines to /boot/config/go
# if it has pypthon then upgrade/install pip
[[ -f /usr/bin/python3 ]] && /usr/bin/python3 -m ensurepip --upgrade
- Install dependencies
slackpkg install kernel-headers binutils gcc-11 gc-8 make pkg-config guile flex libffi expat zlib gdbm readline
- Build
sh ~/python3-src/python3.SlackBuild
-
It should go to
/tmp/python3-*.txz
(something like that) inside the container. -
On the Unraid LXC plugin Settings (
/Settings/LXCSettings
) get the "storage path", there will be rootfs for your Slackware container, gotmp
folder. -
You know the rest.