# Unofficial Client for slackware.com A minimalistic tool for interfacing with Slackware's mirrors and website from the command line. Use at your own risk. Note: Currently this project is pre-release and may be vulnerable to downgrade attacks. ``` slackware.com is an unofficial command line interface to Slackware's website. The commands are: changelog - show changes described in the Changelog since the last update download - download the given packages list - list Slackware mirrors sync - update knowledge about mirror's content updates - print all new and updated packages on mirror ``` ## Examples Download all updates: ``` slackware.com updates | xargs slackware.com download ``` Cron script to download updates and email changes to root: ``` #!/bin/sh set -e export QUIET=true export SLACKWARE_MIRROR=https://mirrors.kernel.org/slackware/slackware64-15.0/ export PATH=$PATH:/usr/local/sbin TO_UPDATE="$(slackware.com updates)" if [ -n "$TO_UPDATE" ]; then slackware.com updates | xargs slackware.com download slackware.com changelog | mail -s "updates" root fi ``` ## Verifying integrity The commmits to the repository will be signed by the [GPG Key](GPG-KEY.asc). ``` git commit --verify HEAD # gpg: Signature made Fri Nov 24 11:20:19 2023 EST # gpg: using EDDSA key D0CFFD1075CAB8DA329975078D147EEA19EFF029 # ... # gpg: Good signature from "Slack Coder " [ultimate] # Primary key fingerprint: D0CF FD10 75CA B8DA 3299 7507 8D14 7EEA 19EF F029 ``` ## Installation Follow Golang's standard process for installing. It will install the command into the location pointed to by the GOBIN environment variable or its default value. On Slackware , you want to install programs from third parties under the '/usr/local' location. As root: ``` GOBIN=/usr/local/bin \ go install -tags=netcgo ./cmd/slackware.com ``` '-tags=netcgo' makes DNS resolution much more reliable by using the systems native DNS resolver.