PKG-SCRIPT(5)
πΈ NAME πΈ
okay so this is PKG-SCRIPT(5) straight out of the File Formats Manual, and it's all about shell scripts β literally shell scripts that are run by pkg(8). bestie, that's the whole name section, and it ate. π
β¨ DESCRIPTION β¨
okay so pkg(8) may run scripts at given phases of the process it is executing. The phases are the following, and yes, they all matter:
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:
- new
pre-install - old
pre-deinstall - replace binaries
- new
post-install
that's the upgrade choreography, bestie β no cap, that's the order. π
π¦ Environment π¦
The following environment variables are exported to be used by the script. these are the little exported besties your script gets to work with: π«Ά
PKG_NAMEβ Represents the name of the package. iykyk, it's the package's whole identity. β¨PKG_PREFIXβPREFIXdefined within the package at build time. iconic build-time info. πPKG_ROOTDIRβ represents the root directory where the package will be installed as specified by the-rarguments passed topkg(8). πPKG_METALOGβ When set, provides the path to amtree(5)METALOGfile in which package file metadata (e.g., ownership, mode) should be recorded. This is typically used when installing packages as a non-root user. literally the metadata moment. β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 thepkg(8)process. πPKG_CHROOTEDβ Set toβtrueβwhenpkg(8)is operating inside a chroot via-c. chroot era, iykyk. π₯PKG_UPGRADEβ This variable is set when a script is run in the context of an upgrade of a package. upgrade vibes detected. π
π SEE ALSO π
bestie, the guest list is LONG and every single one made the cut: π
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-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-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)
π okay bestie, that's the whole PKG-SCRIPT(5) page. footer energy: Debian, December 12, 2025, PKG-SCRIPT(5) β and that's officially a wrap. periodt. π
π¦ where this page comes from
- nixos 26.05: pkg 2.7.5
- nixpkgs unstable: pkg 2.7.5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms