[pacman-dev] [PATCH 2/2] doc: update PKGBUILD man page

Martin Panter vadmium+patch at gmail.com
Fri Feb 1 23:17:24 EST 2013


One little typo

On 2 February 2013 02:51, Allan McRae <allan at archlinux.org> wrote:
> Rearrange the functions section of the PKGBUILD man package. Clarify
> that the package() function is a requirement and the rest are all
> optional.  Note that $pkgdir should only be used in the package()
> function.
>
> Signed-off-by: Allan McRae <allan at archlinux.org>
> ---
>  doc/PKGBUILD.5.txt | 97 +++++++++++++++++++++++++++---------------------------
>  1 file changed, 48 insertions(+), 49 deletions(-)
>
> diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
> index b48f0a7..688ce8a 100644
> --- a/doc/PKGBUILD.5.txt
> +++ b/doc/PKGBUILD.5.txt
> @@ -280,62 +280,61 @@ A normal sync or upgrade will not use its value.
>                 When used in combination with the `strip' option, a separate package
>                 containing the debug symbols is created.
>
> -build() Function
> -----------------
> -In addition to the above directives, the optional build() function usually
> -comprises the remainder of the PKGBUILD. This is directly sourced and executed
> -by makepkg, so anything that bash or the system has available is available for
> -use here. The function is run in `bash -e` mode, meaning any command that exits
> -with a non-zero status will cause the function to exit. Be sure any exotic
> -commands used are covered by `makedepends`.
>
> -All of the above variables such as `$pkgname` and `$pkgver` are available for use
> -in the build function. In addition, makepkg defines the following three
> -variables for use during the build and install process:
> +Packaging Functions
> +-------------------
> +
> +In addition to the above directives, PKGBUILDs require a set of functions that
> +provide instructions to build and install the package.  As a minimum, the PKGBUILD
> +must contain a package() function which installs all the package's files into the
> +packaging directory, with optional prepare(), build() and check() being used to
> +create those files from source.
> +
> +*package() Function*::
> +       The package() function is used to install files into the directory that
> +       will become the root directory of the built package and is run after all
> +       the optional functions listed below. When specified in combination with
> +       the fakeroot BUILDENV option in linkman:makepkg.conf[5], fakeroot usage
> +       will be limited to running the packaging stage. All other functions will
> +       be run as the user calling makepkg.
> +
> +*prepare() Function*::
> +       An optional prepare() function can be specified in which operations that
> +       are to be run in order to prepare the sources for building (such as
> +       patching) are performed. This function is run after the source extraction
> +       and before the build() function and is skipped when source extraction is
> +       skipped.
> +
> +*build() Function*::
> +       The optional build() function is use to compile and/or adjust the source
> +       files in preparation to be installed by the package() function. This is
> +       directly sourced and executed by makepkg, so anything that bash or the
> +       system has available is available for use here. Be sure any exotic
> +       commands used are covered by `makedepends`.
> ++
> +If you create any variables of your own in the build function, it is
> +recommended to use the bash `local` keyword to scope the variable to inside
> +the build function.
>
> -*startdir*::
> -       This contains the absolute path to the directory where the PKGBUILD is
> -       located, which is usually the output of `$(pwd)` when makepkg is started.
> -       Use of this variable is deprecated and strongly discouraged.
> +*check() Function*::
> +       An optional check() function can be specified in which a package's
> +       test-suite may be run. This function is run between the build() and
> +       package() functions. Be sure any exotic commands used are covered by
> +       `checkdepends`.
> +
> +All of the above variables such as `$pkgname` and `$pkgver` are available for use
> +in the build function. In addition, makepkg defines the following variables for use
> +during the build and install process:
>
>  *srcdir*::
> -       This contains the directory where makepkg extracts, or copies, all source
> -       files.
> +       This contains the directory where makepkg extracts, or copies, all sourc

*source (was truncated)

> +       files.
>
>  *pkgdir*::
> -       This contains the directory where makepkg bundles the installed package
> -       (this directory will become the root directory of your built package).
> -
> -If you create any variables of your own in the build function, it is
> -recommended to use the bash `local` keyword to scope the variable to inside
> -the build function.
> +       This contains the directory where makepkg bundles the installed package
> +       (this directory will become the root directory of your built package).
> +       This variable should only be used in the package() function.
>
> -prepare() Function
> -------------------
> -An optional prepare() function can be specified in which operations that are
> -to be run in order to prepare the sources for building (such as patching) are
> -performed. This function is run after the source extraction and before the
> -build() function and is skipped when source extraction is skipped. The
> -function is run in `bash -e` mode, meaning any command that exits with a
> -non-zero status will cause the function to exit.
> -
> -check() Function
> -----------------
> -An optional check() function can be specified in which a packages test-suite
> -may be run. This function is run between the build() and package() functions.
> -The function is run in `bash -e` mode, meaning any command that exits with a
> -non-zero status will cause the function to exit. Be sure any exotic commands
> -used are covered by `checkdepends`.
> -
> -package() Function
> -------------------
> -An optional package() function can be specified in addition to the build()
> -function. This function is run after the build() and check() functions. The
> -function is run in `bash -e` mode, meaning any command that exits with a
> -non-zero status will cause the function to exit. When specified in combination
> -with the fakeroot BUILDENV option in linkman:makepkg.conf[5], fakeroot usage
> -will be limited to running the packaging stage. An existing build() function
> -will be run as the user calling makepkg.
>
>  Package Splitting
>  -----------------


More information about the pacman-dev mailing list