.\" .\" FreeBSD pkg - a next generation package for the installation and maintenance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .Dd July 24, 2025 .Dt PKG-SCRIPT 5 .Os .Sh NAME .Nm "shell scripts" .Nd Shell scripts that are run by .Xr pkg 8 .Sh DESCRIPTION .Xr pkg 8 run scripts at given phases of the process it is running .Pp The phases are the following: .Bl -tag -width Ds .It Cm pre-install : run before installing the files on the system. .It Cm post-install : run after installing the files on the system. .It Cm pre-deinstall : run before removing the files on the system. .It Cm post-deinstall : run after removing the files on the system. .El .Pp In the particular case of an upgrade the scripts are run in the following order: .Bl -enum -compact .It new pre-install .It old pre-deinstall .It replace binaries .It new post-install .El .Sh Environment The following environment variable are exported to be used by the script .Bl -tag -width Ds .It Ev PKG_NAME Represents the name of the package. .It Ev PKG_PREFIX .Va PREFIX defined within the package at build time. .It Ev PKG_ROOTDIR represents the root directory where the package will be installed as specified by the .Fl r arguments passed to .Xr pkg 8 . .It Ev PKG_METALOG When set, provides the path to a .Xr 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. .It Ev 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 .Xr pkg 8 process. .It Ev PKG_UPGRADE Variable existing when the scripts is run in the context of an upgrade of the package .El .Sh SEE ALSO .Xr pkg_create 3 , .Xr pkg_printf 3 , .Xr pkg_repo_create 3 , .Xr pkg_repos 3 , .Xr pkg-keywords 5 , .Xr pkg-lua-script 5 , .Xr pkg-repository 5 , .Xr pkg-triggers 5 , .Xr pkg.conf 5 , .Xr pkg 8 , .Xr pkg-add 8 , .Xr pkg-alias 8 , .Xr pkg-annotate 8 , .Xr pkg-audit 8 , .Xr pkg-autoremove 8 , .Xr pkg-check 8 , .Xr pkg-clean 8 , .Xr pkg-config 8 , .Xr pkg-create 8 , .Xr pkg-delete 8 , .Xr pkg-fetch 8 , .Xr pkg-info 8 , .Xr pkg-install 8 , .Xr pkg-key 8 , .Xr pkg-lock 8 , .Xr pkg-query 8 , .Xr pkg-register 8 , .Xr pkg-repo 8 , .Xr pkg-repositories 8 , .Xr pkg-rquery 8 , .Xr pkg-search 8 , .Xr pkg-set 8 , .Xr pkg-shell 8 , .Xr pkg-shlib 8 , .Xr pkg-ssh 8 , .Xr pkg-stats 8 , .Xr pkg-triggers 8 , .Xr pkg-update 8 , .Xr pkg-updating 8 , .Xr pkg-upgrade 8 , .Xr pkg-version 8 , .Xr pkg-which 8