SPS · log · files · refs · tags · releases · people · languages · GitHub · file
man/sps.conf.5
3787 bytes at 2909919 · GitHub
.TH SPS.CONF 5 "2026-08-30" "SPS 1.0" "SPS File Formats"
.SH NAME
sps.conf, repos.conf \- SPS configuration and repository declarations
.SH DESCRIPTION
SPS configuration is line-oriented text, not shell code. Blank lines and lines
beginning with
.B #
are ignored. Each setting is a key followed by whitespace and its value.
.SH GENERAL SETTINGS
.TP
.BI root " path"
Target filesystem root; default
.BR / .
.TP
.BI db " path"
Installed package database; default
.BR /var/lib/sps .
.TP
.BI cache " path"
Source, repository-index, and built-package cache; default
.BR /var/cache/sps .
.TP
.BI build " path"
Temporary build/staging root; default
.BR /var/tmp/sps .
.TP
.BI repo_root " path"
Parent directory for Git repository checkouts; default
.BR /usr/src/sps .
The checkout for repository NAME is
.IR repo_root /NAME.
.TP
.BI makejobs " count"
Positive per-package build parallelism exported to recipes as
.BR MAKEJOBS .
The word
.B auto
uses
.BR nproc (1)
(or
.B getconf _NPROCESSORS_ONLN
). Default:
.BR auto .
.TP
.BI cflags " flags"
.TQ
.BI cxxflags " flags"
.TQ
.BI cppflags " flags"
.TQ
.BI ldflags " flags"
Compiler and linker flags. The value is the rest of the line, so
.B cflags -O2 -pipe
is valid. Defaults are
.B -O2 -pipe
for
.B cflags
and
.BR cxxflags .
Empty
.B cppflags
and
.B ldflags
are omitted from the environment.
.TP
.BI march " cpu"
CPU for
.B -march=
appended to
.B cflags
and
.B cxxflags
when those flags do not already contain
.BR -march= .
Use
.B none
to skip. Default:
.BR native .
.TP
.BI compression " type"
Package compression:
.BR auto ,
.BR none ,
.BR gzip ,
.BR xz ,
or
.BR zstd .
.B zst
is accepted as an alias for zstd.
.TP
.BI arch " name"
Target/build architecture. The default is the local result of
.BR "uname -m" .
Packages marked
.B any
or
.B noarch
are architecture-independent.
.TP
.BI preserve " prefixes"
Comma-separated package-relative path prefixes whose locally modified regular
files are not silently replaced/deleted. Default:
.BR etc .
Use
.B none
to disable the policy.
.SH REPOSITORIES
A declaration has the form:
.PP
.nf
git NAME SOURCE [PRIORITY]
dir NAME ABSOLUTE_PATH [PRIORITY]
.fi
.PP
For
.BR git ,
SOURCE is the exact URL or path recorded as the checkout's
.B origin
and synchronized by
.BR src (1).
For
.BR dir ,
ABSOLUTE_PATH is an administrator-managed local recipe tree and SPS performs no
transport operation. The older keyword
.B repo
is accepted as a compatibility alias for
.BR dir .
.PP
PRIORITY is a signed 32-bit integer and defaults to zero. Larger values win;
configuration order breaks equal priorities. Repository names must be unique.
.SH ENVIRONMENT
.BR SPS_ROOT ,
.BR SPS_DB ,
.BR SPS_CACHE ,
.BR SPS_BUILD ,
.BR SPS_REPO_ROOT ,
.BR SPS_MAKEJOBS ,
.BR SPS_CFLAGS ,
.BR SPS_CXXFLAGS ,
.BR SPS_CPPFLAGS ,
.BR SPS_LDFLAGS ,
.BR SPS_MARCH ,
.BR SPS_COMPRESSION ,
.BR SPS_ARCH ,
and
.B SPS_PRESERVE
override corresponding file settings. Set
.B SPS_CONFIG
or
.B SPS_REPOS_CONFIG
to select alternate files.
.SH EXAMPLE
.nf
root /
db /var/lib/sps
cache /var/cache/sps
build /var/tmp/sps
repo_root /usr/src/sps
makejobs auto
cflags -O2 -pipe
cxxflags -O2 -pipe
march native
compression zstd
preserve etc
dir local /usr/local/src/sps-local 200
git core https://github.com/RobertFlexx/sps-core.git 100
git extra https://github.com/RobertFlexx/sps-extra.git 80
# Community recipes are not enabled by default.
# git community https://github.com/RobertFlexx/sps-community.git 50
.fi
.PP
Splux enables core (priority 100) and extra (80) from
.B setup
and
.BR mkiso .
Community recipes live at
.I https://github.com/RobertFlexx/sps-community.git
with priority 50. They are never an active line in a generated
.BR repos.conf .
Add
.B git community
yourself to opt in.
.SH SEE ALSO
.BR src (1),
.BR sget (1),
.BR mkpkg (1)