summaryrefslogtreecommitdiffstats
path: root/doc/PKGBUILD.5.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/PKGBUILD.5.txt')
-rw-r--r--doc/PKGBUILD.5.txt46
1 files changed, 34 insertions, 12 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 8bdb3c69..c0fa5948 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -45,12 +45,12 @@ similar to `$_basekernver`.
*pkgver*::
The version of the software as released from the author (e.g. '2.7.1').
- The variable is not allowed to contain hyphens.
+ The variable is not allowed to contain colons or hyphens.
*pkgrel*::
This is the release number specific to the Arch Linux release. This
allows package maintainers to make updates to the package's configure
- flags, for example. A pkgrel of 1 is typically used for each upstream
+ flags, for example. A pkgrel of '1' is typically used for each upstream
software release and is incremented for intermediate PKGBUILD updates. The
variable is not allowed to contain hyphens.
@@ -58,6 +58,15 @@ similar to `$_basekernver`.
This should be a brief description of the package and its functionality.
Try to keep the description to one line of text.
+*epoch*::
+ Used to force the package to be seen as newer than any previous versions
+ with a lower epoch, even if the version number would normally not trigger
+ such an upgrade. This value is required to be a positive integer; the
+ default value if left unspecified is '0'. This is useful when the version
+ numbering scheme of a package changes (or is alphanumeric), breaking normal
+ version comparison logic. See linkman:pacman[8] for more information on
+ version comparisons.
+
*url*::
This field contains a URL that is associated with the software being
packaged. This is typically the project's website.
@@ -147,6 +156,12 @@ name. The syntax is: `source=('filename::url')`.
needed at runtime. Packages in this list follow the same format as
depends.
+*checkdepends (array)*::
+ An array of packages that this package depends on to run its test suite,
+ but are not needed at runtime. Packages in this list follow the same
+ format as depends. These dependencies are only considered when the
+ check() function is present and is to be run by makepkg.
+
*optdepends (array)*::
An array of packages (and accompanying reasons) that are not essential for
base functionality, but may be necessary to make full use of the contents
@@ -186,8 +201,8 @@ name. The syntax is: `source=('filename::url')`.
in the options array. To reverse the default behavior, place an ``!'' at
the front of the option. Only specify the options you specifically want
to override, the rest will be taken from linkman:makepkg.conf[5].
- *NOTE:* 'force' is a special option only used in a linkman:PKGBUILD[5],
- do not use it unless you know what you are doing.
+ *NOTE:* 'force' is a now-removed option in favor of the top level 'epoch'
+ variable.
*strip*;;
Strip symbols from binaries and libraries. If you frequently
@@ -218,19 +233,18 @@ name. The syntax is: `source=('filename::url')`.
form `!distcc` with select packages that have problems building
with distcc.
+ *buildflags*;;
+ Allow the use of user-specific buildflags (CFLAGS, CXXFLAGS, LDFLAGS)
+ during build as specified in linkman:makepkg.conf[5]. More useful in
+ its negative form `!buildflags` with select packages that have problems
+ building with custom buildflags.
+
*makeflags*;;
Allow the use of user-specific makeflags during build as specified
in linkman:makepkg.conf[5]. More useful in its negative form
`!makeflags` with select packages that have problems building with
custom makeflags such as `-j2` (or higher).
- *force*;;
- Force the package to be upgraded by a pacman system upgrade
- operation, even if the version number would normally not trigger
- such an upgrade. This is useful when the version numbering scheme
- of a package changes (or is alphanumeric). See linkman:pacman[8] for
- more information on version comparisons.
-
build() Function
----------------
@@ -261,10 +275,18 @@ 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.
+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 immediately after the build() function. The
+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