depends
and
makedeps
arrays, plus a fixed set of implicit base packages (see
BASE PACKAGES
below).
Write access is limited to the build work tree, port directory, and
/tmp .
Lockbox uses the Linux
Landlock LSM
(kernel 5.13+, ABI v1\(envalid on any kernel from 5.13 onwards).
No container runtime, no overlay filesystem, and no root privileges
are required.
The restriction is applied by the
mkpkg(8)
process itself before invoking
build() .
Two failure modes are detected and reported before the build starts:
depends or makedeps is not installed. The build is aborted with a LOCKBOX ERROR message and a hint to run tux prepare .depends or makedeps is installed but has a missing file on disk. A warning is printed and the build proceeds.lockbox=(yes)mkpkg --lockboxlockbox=(yes) is set.mkpkg --no-lockboxlockbox=(yes) is set in the MAKEPKG.core
ports by convention.
Ports in
opt,
libs,
devel,
and other collections involve deep transitive
pkg-config
dependency chains \(en whether to enable lockbox on such ports is
left to the user.depends
or
makedeps .
They represent the minimal build toolchain and are never listed
explicitly in a MAKEPKG.
Toolchain
llvm-toolchain | clang, lld, llvm-ar, llvm-nm and friends |
libffi | llvm-toolchain runtime dependency |
libedit | llvm-toolchain runtime dependency |
ncurses | llvm-toolchain runtime dependency |
libxml2 | libLLVM.so links against it |
C library and headers
musl | libc headers and runtime |
linux-headers | kernel headers at /include |
Shell and scripting
bash | mkpkg build hooks |
dash | build() runs under POSIX sh |
mawk | awk for configure scripts |
readline | bash links libreadline.so |
Core utilities
coreutils | cp, mkdir, install, etc. |
gmp | coreutils expr links libgmp |
libcap | coreutils ls links libcap |
tar | source archive extraction |
acl | tar and sed link libacl |
attr | tar and sed link libattr |
grep | configure scripts |
pcre2 | grep links libpcre2-8 |
sed | configure scripts |
findutils | find used in configure and make |
diffutils | diff used in configure |
patch | patch() hook in MAKEPKG |
file | configure uses file(1) |
make | GNU make |
Source extraction
gzip | .tar.gz extraction |
xz | .tar.xz extraction |
bzip2 | .tar.bz2 extraction |
zstd | .tar.zst extraction |
Build system
autoconf | config.status uses it |
automake | dependency tracking bootstrap |
libtool | libtool scripts in builds |
m4 | autoconf and automake use m4 |
pkgconf | universal pkg-config tool |
Package tools and runtime libraries
pkgtools | pkg.add / pkg.del |
mkpkg | the builder itself |
libressl | mkpkg links libssl/libcrypto |
zlib | mkpkg and builds link libz |
>>> lockbox: Landlock ABI vN>>> lockbox: added N rules from pkgtools db>>> lockbox: filesystem restricted to declared deps + build paths>>> LOCKBOX ERROR: declared dep 'X' is not installed (run: tux prepare)depends or makedeps but is not present in the package database. Run tux prepare in the port directory to install missing build dependencies.>>> LOCKBOX ERROR: Landlock not available