Splux Linux

source-based Linux using SPS

SPS · log · files · refs · tags · releases · people · languages · GitHub · file

man/sget.1


Roff

5991 bytes at 2909919 · GitHub

.TH SGET 1 "2026-08-30" "SPS 1.0" "SPS Commands"
.SH NAME
sget \- resolve and coordinate SPS source packages
.SH SYNOPSIS
.nf
sget [-q|--quiet] [-v|--verbose] search PATTERN [--raw]
sget [-q|--quiet] [-v|--verbose] info PACKAGE [--raw]
sget [-q|--quiet] [-v|--verbose] depends PACKAGE [--raw] [--build]
sget [-q|--quiet] [-v|--verbose] dependees PACKAGE [--build]
sget [-q|--quiet] [-v|--verbose] why PACKAGE DEPENDENCY [--build]
sget [-q|--quiet] [-v|--verbose] install [--plan] [--nodeps] [--reinstall] PACKAGE...
sget [-q|--quiet] [-v|--verbose] upgrade [--plan] [--downgrade]
sget [-q|--quiet] [-v|--verbose] remove [--plan] [--nodeps] PACKAGE...
sget [-q|--quiet] [-v|--verbose] config-status [--raw] [PACKAGE]
sget [-q|--quiet] [-v|--verbose] config-status --diff PATH
.fi
.SH DESCRIPTION
.B sget
is the high-level SPS coordinator.  It reads the repository index produced by
.BR src (1),
resolves package graphs, calls
.BR mkpkg (1)
when a binary artifact is not already cached, and hands archives to
.BR pkin (1).
It does not refresh repositories implicitly.
.PP
During install and upgrade,
.B sget
prints one line for the package being processed, then runs
.BR mkpkg (1)
with the terminal attached so compiler and build-system output appear live.
.B mkpkg
reports the finished archive;
.BR pkin (1)
reports installation. An exact cached archive is reused without a build.
When
.B SPS_ROOT
is not
.BR / ,
.B mkpkg
compiles and links against libraries already installed in that root so
each package can see the previous one. Live
.BR setup (1)
depends on this.
.SH COMMANDS
.TP
.BI search " pattern"
Search selected package names and descriptions.  With
.B --raw
print stable tab-separated records.
.TP
.BI info " package"
Show the selected indexed package record.
.TP
.BI depends " package"
Show the runtime dependency closure.  With
.B --build
also include build dependencies; with
.B --raw
print dependency build order.
.TP
.BI dependees " package"
List selected packages that directly depend on the package.  With
.B --build
include build dependencies.
.TP
.BI why " package dependency"
Print one selected dependency path from PACKAGE to DEPENDENCY.  With
.B --build
build dependencies may participate.
.TP
.BI install " package..."
Resolve and install requested packages. Requested roots are explicit; packages
needed only by the graph are dependency-installed. Exact installed roots are
promoted to explicit without an unnecessary reinstall.
Build dependencies are installed only when a package will be compiled.
If
.BR cmake (1) ,
.BR ninja (1) ,
.BR meson (1) ,
or another well-known build tool is already on
.B PATH
and is not a runtime requirement, that host command is used instead.
.TP
.B upgrade
Resolve the installed explicit world set and upgrade its selected dependency
closure. A locally newer installed version is kept unless
.B --downgrade
is supplied.
.TP
.BI remove " package..."
Remove packages through
.BR pkdel (1).
By default SPS refuses a removal when another installed package outside the
requested removal set directly requires it.
.TP
.BI "config-status [" "package" "]"
Review protected configuration files without changing them.  SPS protects
regular files below the configured
.B SPS_PRESERVE
prefixes (default
.BR etc ).
When an administrator has changed such a file and an upgrade brings a new
packaged copy, SPS keeps the local file and writes the packaged default beside
it as
.IR path .sps-new
(or the versioned
.IR path .sps-new. VERSION - RELEASE
spelling).  Without arguments,
.B config-status
lists every protected file that differs from what its installed package
recorded, plus stale
.B .sps-new
files, grouped by package.  Pass a package name to narrow to one package.
The command is read-only: it never rewrites, merges, or removes files.
.TP
.BI "config-status --diff " path
Print a unified diff of a protected local file against the packaged default
that an upgrade wrote beside it.  The
.I path
may be the plain path, the
.I .sps-new
sibling, or the versioned
.I .sps-new.VERSION-RELEASE
spelling.
.B diff (1)
must be installed.  Like the list form, this only reads files.
.SH OPTIONS
.TP
.BR -q ", " --quiet
Hide routine
.B mkpkg
status, cache decisions, resolver progress, and upstream build output. Package-level
.B sget
and
.B pkin
lines remain. If a build fails, the captured log is written to stderr.
.TP
.BR -v ", " --verbose
Same as the default chatter, plus extra resolver detail. Progress such as
selected recipes and cache hits is printed unless
.B -q
is used.
.TP
.B --plan
Print package-level actions without building, installing, removing, or changing
package state.
.TP
.B --nodeps
For install, operate only on the explicitly named packages. For remove, bypass
the reverse-dependency safety check. This is an explicit administrator
override.
.TP
.B --reinstall
With install, rebuild/reinstall an exact selected package when necessary;
an exact cached binary artifact may be reused.
.TP
.B --raw
With
.B config-status
(and the query commands), print stable tab-separated records instead of
aligned human-readable output, suitable for scripts.  The
.B config-status
records are:
.IR "package" , "path" , "state" ,
and a flag for whether a packaged default is pending.  A summary line still
goes to standard error.
.TP
.B --downgrade
With upgrade, permit the configured repository selection to replace a newer
installed version.
.SH CACHE
Completed binary artifacts are kept below
.BR $SPS_CACHE/packages .
An exact name-version-release-architecture archive may be reused. Distributions
must increment a package release when build inputs or package behavior change
without an upstream version change.
.SH EXIT STATUS
Returns 0 on success, 2 for usage, 3 for missing package/index state, 4 for
invalid package metadata or architecture, 5 for dependency failure, and
otherwise propagates meaningful lower-level build/install/remove statuses.
.SH SEE ALSO
.BR src (1),
.BR mkpkg (1),
.BR pkin (1),
.BR pkdel (1),
.BR pkmark (1)