aboutsummaryrefslogtreecommitdiffstats
path: root/compat32ctl.8
blob: e16387a06c366332bfaefdaa7f79694bbd65fb8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
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>.