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)