PKG-SCRIPT(5) FreeBSD File Formats Manual PKG-SCRIPT(5)
NAME
shell scripts - Shell scripts that are run by pkg(8)
DESCRIPTION
pkg(8) may run scripts at given phases of the process it is executing.
The phases are the following:
pre-install:
run before installing the files on the system.
post-install:
run after installing the files on the system.
pre-deinstall:
run before removing the files on the system.
post-deinstall:
run after removing the files on the system.
In the particular case of an upgrade the scripts are run in the following
order:
1. new pre-install
2. old pre-deinstall
3. replace binaries
4. new post-install
Environment
The following environment variables are exported to be used by the
script.
PKG_NAME
Represents the name of the package.
PKG_PREFIX
PREFIX defined within the package at build time.
PKG_ROOTDIR
represents the root directory where the package will be installed
as specified by the -r arguments passed to pkg(8).
PKG_METALOG
When set, provides the path to a mtree(5) METALOG file in which
package file metadata (e.g., ownership, mode) should be recorded.
This is typically used when installing packages as a non-root
user.
PKG_MSGFD
Number of a file descriptor to be used to be able to send
messages to the user that will be shown at the end of the pkg(8)
process.
PKG_CHROOTED
Set to "true" when pkg(8) is operating inside a chroot via -c.
PKG_UPGRADE
This variable is set when a script is run in the context of an
upgrade of a package.
SEE ALSO
pkg_checksum(3), pkg_create(3), pkg_printf(3), pkg_repo_create(3),
pkg_repos(3), pkg-keywords(5), pkg-lua-script(5), pkg-repository(5),
pkg-triggers(5), pkg.conf(5), pkg(8), pkg-add(8), pkg-alias(8),
pkg-annotate(8), pkg-audit(8), pkg-autoremove(8), pkg-check(8),
pkg-checksum(8), pkg-clean(8), pkg-config(8), pkg-create(8),
pkg-delete(8), pkg-fetch(8), pkg-help(8), pkg-info(8), pkg-install(8),
pkg-key(8), pkg-lock(8), pkg-plugins(8), pkg-query(8), pkg-register(8),
pkg-repo(8), pkg-repositories(8), pkg-rquery(8), pkg-rwhich(8),
pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-ssh(8),
pkg-stats(8), pkg-triggers(8), pkg-unregister(8), pkg-update(8),
pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8)
FreeBSD 15.1-STABLE-HBSD December 12, 2025 PKG-SCRIPT(5)