cruxports/prt-utils/prtsweep.1

110 lines
3.5 KiB
Groff

.\"
.\" prtsweep manual page.
.\" (C) 2e003 by Martin Opel
.\" Revised 2021 by John McQuah
.\"
.TH prtsweep 1
.SH NAME
prtsweep \- sweep old files from the ports directories
.SH SYNOPSIS
.PP
.B prtsweep
[\-a] [\-d] [\-n] [PORTDIR ...]
.SH DESCRIPTION
The \fIprtsweep\fP program sweeps port directories, deleting unneeded files.
"Unneeded" here means not found in the Pkgfile source array, and not the
built package
.PP
.nf
name#version-release.pkg.tar.gz
.fi
.PP
All other files are removed. If a port directory is empty, the whole directory
can be removed with the \fI\-d\fP option.
.SH OPTIONS
The following options are supported:
.TP
.I "\-a"
This is the automatic mode. In this mode \fIprtsweep\fP reads the ports
directories from the rsync and httpup files in /etc/ports and cleans all ports
in these directories.
.TP
.I "\-d"
Removes empty directories completely. This happens when ports are moved for
example from opt to contrib or vice versa. Note that this option only
deletes empty directories, so accidently removing whole directory trees
should not happen, even if you use
.IP
.nf
prtsweep \-d /
.fi
.IP
To remove these moved ports completely you have to run \fIprtsweep\fP twice
to first remove the files and second remove the empty directory.
.TP
.I "\-p"
Also removes the built package.
.TP
.I "\-n"
Dry-run. Do not remove anything really.
.TP
.I "\-q"
Quiet mode. Do not pause to inform the user when analysis of the config file
indicates that clutter from building ports might still remain elsewhere
in the filesystem.
.SH ENVIRONMENT
In automatic mode, \fBprtsweep\fP reads from /etc/pkgmk.conf
any custom settings for PKGMK_SOURCE_DIR and PKGMK_PACKAGE_DIR
to determine where the clutter from a pkgmk build is likely to
appear. If the directories potentially cluttered by pkgmk builds
are shared among many ports, e.g., by setting a nonempty
PKGMK_SOURCE_DIR with no reference to the port name, then
\fBprtsweep\fP will pause and inform the user that a follow-up
cleaning using other tools might be needed. This warning can be suppressed
by passing the \fB\-q\fP option.
.PP
\fBprtsweep\fP then gets a list of active port collections
from /etc/ports/*.{rsync,httpup}, and for each collection descends into the
individual port directories to read the associated Pkgfiles.
After reading the Pkgfile, \fBprtsweep\fP will know the source filenames and
the package filename. \fBprtsweep\fP then compares the contents of the port
directory with this list of needed files, and any non-matching filename is
deleted (or just printed to stderr if dry-run mode is enabled).
.PP
After a real cleaning by \fBprtsweep\fP (not dry-run mode), each port
directory should contain only the Pkgfile, source files obtained
by rsync or httpup, and the built package (if present, and option -p was
not given on the command line).
.SH EXAMPLES
You can call \fIprtsweep\fP with one port:
.PP
.nf
root@hostname:/root # prtsweep /usr/ports/opt/dialog
=======> /usr/ports/opt/dialog
+ removing file dialog-0.9b-20020814.tgz
.fi
.PP
Or you could call the automatic mode, which scans your supfiles in /etc/ports
for all ports directories and cleans them automatically:
.PP
.nf
root@hostname:/root # prtsweep -a
=======> /usr/ports/clc/stable/atop
+ removing file atop-1.8.tar.gz
=======> /usr/ports/clc/stable/coldsync
+ removing file coldsync-2.2.5-gcc3.diff
+ removing file coldsync-2.2.5.tar.gz
=======> /usr/ports/clc/stable/dnsmasq
+ removing file dnsmasq-1.10.tar.gz
...
.fi
.SH AUTHORS
Martin Opel <mo at obbl-net dot de>, John McQuah <jmcquah at disroot dot org>
.SH "SEE ALSO"
prtwash(1)