Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PKG_CREATE(3)		    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_create_set_rootdir,
       pkg_create_set_output_dir,		     pkg_create_set_timestamp,
       pkg_create_set_compression_threads -- 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_compression_threads(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 compression format to use.   By
       default "txz" except if specified otherwise in pkg.conf(5).  It returns
       false  if  the  compression format is unknown and will fall back	to the
       default format.

       pkg_create_set_compression_level() takes	an int argument	 which	repre-
       sents the expected compression level.  3	special	values are accepted:

       INT_MIN	    Set	the fastest compression	format value

       0	    Set	the default (as	specified in libarchive)

       INT_MAX	    Set	the best compression ratio

       pkg_create_set_compression_threads() takes an int argument which	repre-
       sents the expected number of threads used during	compression.

       pkg_create_set_overwrite()  Accepts a boolean to	define the default be-
       haviour when creating a package if a local file	already	 exists.   The
       default behaviour is to overwrite.

       pkg_create_set_rootdir()	 Tells	the program where to find the root di-
       rectory used for	packaging (this	directory is also known	as the 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 as the  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 di-
       rectory containing multiple files:

       +MANIFEST  The UCL manifest

       +DESC	  A textual description	(optional)

       shell scripts (optional):

		  +INSTALL	      Shell  script  that  will	 be run	during
				      both 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 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 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 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-install.lua	  Lua  script  that will be run	during
					  pre install phase

		  pkg-post-install.lua	  Lua script that will be  run	during
					  post install phase

		  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  be	 in  the  form:	 <pkg-
       name>-<pkgversion>-<shorthash>.<extention>     instead	  of	 <pkg-
       name>-<pkgversion>.<extension>.

FreeBSD	ports 15.1	       December	12, 2025		 PKG_CREATE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pkg_create&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help