diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-19 12:12:00 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-19 12:12:00 +0200 |
| commit | 3b58f17a3fc7f6aa50cfb8bdba14b2321abb4679 (patch) | |
| tree | f57fb6a4a98ad8e263b4522de9ceb97a91108481 /compat32ctl.8 | |
| download | install-compat32-3b58f17a3fc7f6aa50cfb8bdba14b2321abb4679.tar.gz install-compat32-3b58f17a3fc7f6aa50cfb8bdba14b2321abb4679.zip | |
Manage AlienBOB's compat32 package collection: mirror the -current tree with lftp, verify it against CHECKSUMS.md5, and install/update/remove the 32-bit layer with upgradepkg/removepkg. Includes a man page and a dry-run self-check.
Diffstat (limited to 'compat32ctl.8')
| -rw-r--r-- | compat32ctl.8 | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/compat32ctl.8 b/compat32ctl.8 new file mode 100644 index 0000000..e16387a --- /dev/null +++ b/compat32ctl.8 @@ -0,0 +1,192 @@ +.\" compat32ctl.8 - manual page for compat32ctl +.\" Copyright (C) 2026 Danilo M. <danix@danix.xyz> +.\" SPDX-License-Identifier: GPL-2.0-only +.TH COMPAT32CTL 8 "2026-09-19" "compat32ctl" "System Administration" +.SH NAME +compat32ctl \- manage AlienBOB's compat32 packages on Slackware64 \-current +.SH SYNOPSIS +.B compat32ctl +.I command +.RI [ options ] +.SH DESCRIPTION +.B compat32ctl +installs, updates and removes AlienBOB's collection of 32\-bit +compatibility packages (the +.B \-compat32 +packages) on a Slackware64 +.B \-current +system. +.PP +On +.B \-current +the multilib capability is provided by Slackware's own +.BR gcc (1) +and +.BR glibc , +so no third\-party toolchain replacement is required; only the 32\-bit +compatibility library layer is managed. Packages are sourced from +.IR https://slackware.nl/people/alien/multilib/current . +.PP +The package tree is mirrored into a local cache, verified against the +repository's +.B CHECKSUMS.md5 +file, and installed with +.BR upgradepkg (8). +.SH COMMANDS +.TP +.B sync +Mirror the remote package tree into +.I MIRROR_DIR +using +.BR lftp (1) +with +.BR "mirror \-c \-e" , +then verify every downloaded file against +.BR CHECKSUMS.md5 . +.TP +.B install +Run +.B sync +and then install or upgrade +.B compat32\-tools +and every +.B \-compat32 +package with +.BR "upgradepkg \-\-install\-new" . +.TP +.B update +Identical to +.BR install . +Provided as a distinct verb for intent; the underlying command is +idempotent, upgrading packages that are already installed and adding new +ones. +.TP +.B remove +Remove every installed package whose name contains +.BR compat32 , +covering both the +.B \-compat32 +libraries and +.BR compat32\-tools . +Does not touch the network and does not roll back +.BR gcc / glibc , +which are Slackware's own packages on +.BR \-current . +.TP +.BR help ", " \-h ", " \-\-help +Show the usage message. +.SH OPTIONS +.TP +.BR \-n ", " \-\-dry\-run +Print the commands that would be executed without running them. With +this option the root and dependency checks are skipped, so the preview +can be run as an unprivileged user. +.TP +.BR \-h ", " \-\-help +Show the usage message. +.SH ENVIRONMENT +.TP +.B REPO_URL +Remote package tree to mirror. Default: +.IR https://slackware.nl/people/alien/multilib/current . +.TP +.B MIRROR_DIR +Local package cache. Default: +.IR /var/cache/compat32 . +.TP +.B PKGDIR +Directory holding installed\-package metadata, used by +.BR remove . +Default: +.IR /var/log/packages . +.SH FILES +.TP +.I /var/cache/compat32 +Default local mirror (see +.BR MIRROR_DIR ). +.TP +.I /var/log/packages +Installed\-package database (see +.BR PKGDIR ). +.TP +.I /etc/slackpkg/blacklist +When +.BR slackpkg (8) +is used, the entries +.B [0\-9]+alien +and +.B [0\-9]+compat32 +should be present so slackpkg does not remove or replace the multilib +packages. +.SH EXIT STATUS +.TP +.B 0 +Success. +.TP +.B 1 +A usage error, a missing dependency, insufficient privileges, or a +failing +.BR upgradepkg (8) +or +.BR removepkg (8) +invocation. The script runs with +.BR "set \-e" , +so any failing step aborts the run. +.SH NOTES +.SS Progress +When run on a terminal, +.BR lftp (1) +displays a live status line for the file being transferred, including +bytes transferred, percentage, transfer rate and estimated time. The +.B \-v +option passed to +.B mirror +also prints a +.B "Transferring file" +line for each file. When the output is not a terminal (for example under +cron), no progress is shown. +.SS Requirements +.BR lftp (1) +and +.B md5sum +are required for +.BR sync ; +.BR upgradepkg (8) +and +.BR removepkg (8) +are required for the respective commands. Root is required for any +command that modifies the system. +.SH EXAMPLES +Preview a sync without changing anything: +.PP +.RS 4 +compat32ctl sync \-n +.RE +.PP +Install or update the compat32 layer: +.PP +.RS 4 +compat32ctl install +.RE +.PP +Remove the compat32 layer: +.PP +.RS 4 +compat32ctl remove +.RE +.PP +Mirror into a staging directory instead of the system cache: +.PP +.RS 4 +MIRROR_DIR=/srv/compat32 compat32ctl sync +.RE +.SH SEE ALSO +.BR lftp (1), +.BR upgradepkg (8), +.BR removepkg (8), +.BR installpkg (8), +.BR slackpkg (8) +.SH LICENSE +GNU General Public License, version 2 only. +.SH AUTHOR +Written by Danilo M. <danix@danix.xyz>. |
