FreeBSD manual

download PDF document: pkg_create.3.pdf

PKG_CREATE(3) FreeBSD Library Functions Manual PKG_CREATE(3)
NAME pkg_create, pkg_create_i, pkg_create_new, pkg_create_free, pkg_create_set_format, pkg_create_set_overwrite, pkg_create_set_compression_level, pkg_set_rootdir, pkg_set_output_dir, pkg_create_set_timestamp - create packages
LIBRARY library "libpkg"
SYNOPSIS #include <pkg.h>
struct pkg_create * pkg_create_new();
void pkg_create_free(struct pkg_create *);
bool pkg_create_set_format(struct pkg_create *, const char *);
void pkg_create_set_compression_level(struct pkg_create *, int);
void pkg_create_set_overwrite(struct pkg_create *, bool);
void pkg_create_set_rootdir(struct pkg_create *, const char *);
void pkg_create_set_output_dir(struct pkg_create *, const char *);
void pkg_create_set_timestamp(struct pkg_create *, time_t);
int pkg_create(struct pkg_create *, const char *, const, char, *", bool);
int pkg_create_i(struct pkg_create *, struct pkg *, bool);
DESCRIPTION pkg_create_new() Allocates a new struct pkg_create * which should be freed by the caller using pkg_create_free().
pkg_create_set_format() will define the compresion format to use. By default "txz" except if specified otherwise in pkg.conf(5). It returns false if the compression format is unknown and fallback the the default format.
pkg_create_set_compression_level() take a int arguments which represents the expect compression level. 3 special values are accepted:
INT_MIN Set the fastest compression format value
0 Set the default (as specified in libarchive) pkg_create_set_rootdir() tells the program where to find the root used for packaging (also called sometime staging area). If none is provided pkg will consider `/'.
pkg_create_set_output_dir() Tells the program where to create the new packages. By default it will consider the current directory of the running program.
pkg_create_set_timestamp() Define the timestamp to use ad creation and modification time for the files to be packaged. By default it will use the timestamp of the files on the filesystem.
pkg_create() create a package from scratch using the metadata and plist as input. The metadata can be either directly a UCL manifest, or a directory containing multiple files:
+MANIFEST The UCL manifest
+DESC A textual description (optional)
shell scripts (optional):
+INSTALL Shell script that will be run during both in post and pre install (DEPRECATED)
+PRE_INSTALL Shell script that will be run during pre install phase
+POST_INSTALL Shell script that will be run during post install phase
+DEINSTALL Shell script that will be run during both in post and pre deinstall (DEPRECATED)
+PRE_DEINSTALL Shell script that will be run during pre deinstall phase
+POST_DEINSTALL Shell script that will be run during post deinstall phase
pkg-install Shell script that will be run during both in post and pre install (DEPRECATED)
pkg-pre-install Shell script that will be run during pre install phase
pkg-post-install Shell script that will be run during post install phase
pkg-deinstall Shell script that will be run during both in post and pre deinstall (DEPRECATED)
pkg-pre-deinstall Shell script that will be run during pre deinstall phase
pkg-post-deinstall Shell script that will be run during post deinstall phase
lua scripts (optional): pkg-pre-deinstall.lua Lua script that will be run during pre deinstall phase
pkg-post-deinstall.lua Lua script that will be run during post deinstall phase
pkg_create_i() create a package for the provided installed pkg. If hash is set to true then the file name will in the form: <pkgname>-<pkgversion>-<shorthash>.<extention> instead of <pkgname>-<pkgversion>.<extension>.
FreeBSD 14.0-RELEASE-p11 April 24, 2020 FreeBSD 14.0-RELEASE-p11