DragonFly On-Line Manual Pages

Search: Section:  


PKG-LUA-SCRIPT(5)        DragonFly File Formats Manual       PKG-LUA-SCRIPT(5)

NAME

lua scripts - lua scripts that are run by pkg(8)

DESCRIPTION

pkg(8) run scripts at given phases of the process it is running. Those scripts are always run withing a capsicum(4) sandbox if available on the system. 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. A package can contain multiple scripts per phase, they will all be run inside their own lua VM. 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 Lua scripts are always run after shell scripts (of the same phase).

API

All the regular lua API are available to the exception of the following changes: io.open() has been modified to only open files relatively to the rootdir if specified by the -r argument passed to pkg(8). os.remove() has been modified to only remove files relatively to the rootdir if specified by the -r argument passed to pkg(8). os.rename() has been modified to only rename files relatively to the rootdir if specified by the -r argument passed to pkg(8). os.execute() has been disabled. The following variables are available defined to any lua scripts: 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_upgrade Boolean to inform the scripts that it is running or not in the context of an upgrade The following function has been added: out pkg.prefixed_path(in) prepend pkg_prefix to in if needed and returns it as out. pkg.print_msg(msg) send messages to the user that will be shown at the end of the pkg(8) process.

SEE ALSO

pkg_printf(3), pkg_repos(3), pkg-repository(5), pkg-script(5), pkg.conf(5), pkg(8), pkg-add(8), pkg-alias(8), pkg-annotate(8), pkg-audit(8), pkg-autoremove(8), pkg-backup(8), pkg-check(8), pkg-clean(8), pkg-config(8), pkg-create(8), pkg-delete(8), pkg-fetch(8), pkg-info(8), pkg-install(8), pkg-lock(8), pkg-query(8), pkg-register(8), pkg-repo(8), pkg-rquery(8), pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-ssh(8), pkg-stats(8), pkg-update(8), pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8) DragonFly 5.9-DEVELOPMENT January 28, 2020 DragonFly 5.9-DEVELOPMENT

Search: Section: