summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2014-07-25 20:01:48 +0200
committerAllan McRae <allan@archlinux.org>2014-08-08 05:44:25 +0200
commit2b556d89de0d3f10466b4db4d8915a3ffb1163de (patch)
tree94487f5689c4a15e4d589abf3e6058624c8bd53a /doc
parentcbd6c300b5bdf61b7df80f42cf06c69a6e4fde60 (diff)
downloadpacman-2b556d89de0d3f10466b4db4d8915a3ffb1163de.tar.gz
pacman-2b556d89de0d3f10466b4db4d8915a3ffb1163de.tar.xz
PKGBUILD: handle arch specific attributes
This introduces support for architecture-specific conflicts, depends, optdepends, makedepends, replaces, and conflicts by appending "_$CARCH" to the array name. For example, in the global section: arch=('i686' 'x86_64') depends=('foo') depends_x86_64=('bar') This will generate depends of 'foo' and 'bar' on x86_64, but only 'foo' on i686. Moreover, this is supported in the package functions with the same heuristics as the generic names, e.g. ... arch=('i686' 'x86_64') depends=('foo') ... package_somepkg() { depends_x86_64=('bar') ... } Again, will cause x86_64 to have depends of 'foo' and 'bar', but only 'foo' for i686.
Diffstat (limited to 'doc')
-rw-r--r--doc/PKGBUILD.5.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index da225a41..8cab4380 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -183,17 +183,26 @@ If the dependency name appears to be a library (ends with .so), makepkg will
try to find a binary that depends on the library in the built package and
append the version needed by the binary. Appending the version yourself
disables automatic detection.
++
+Additional architecture-specific depends can be added by appending an
+underscore and the architecture name e.g., 'depends_x86_64=()'.
*makedepends (array)*::
An array of packages this package depends on to build but are not
needed at runtime. Packages in this list follow the same format as
depends.
++
+Additional architecture-specific makedepends can be added by appending an
+underscore and the architecture name e.g., 'makedepends_x86_64=()'.
*checkdepends (array)*::
An array of packages 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.
++
+Additional architecture-specific checkdepends can be added by appending an
+underscore and the architecture name e.g., 'checkdepends_x86_64=()'.
*optdepends (array)*::
An array of packages (and accompanying reasons) that are not essential for
@@ -203,12 +212,18 @@ disables automatic detection.
for specifying optdepends is:
optdepends=('fakeroot: for makepkg usage as normal user')
++
+Architecture-specific optdepends can be added by appending an underscore and
+the architecture name e.g., 'optdepends_x86_64=()'.
*conflicts (array)*::
An array of packages that will conflict with this package (i.e. they
cannot both be installed at the same time). This directive follows the
same format as depends. Versioned conflicts are supported using the
operators as described in `depends`.
++
+Additional architecture-specific conflicts can be added by appending an
+underscore and the architecture name e.g., 'conflicts_x86_64=()'.
*provides (array)*::
An array of ``virtual provisions'' this package provides. This allows
@@ -224,6 +239,9 @@ only specific versions of a package may be provided.
If the provision name appears to be a library (ends with .so), makepkg will
try to find the library in the built package and append the correct
version. Appending the version yourself disables automatic detection.
++
+Additional architecture-specific provides can be added by appending an
+underscore and the architecture name e.g., 'provides_x86_64=()'.
*replaces (array)*::
An array of packages this package should replace. This can be used
@@ -234,6 +252,9 @@ version. Appending the version yourself disables automatic detection.
+
Sysupgrade is currently the only pacman operation that utilizes this field.
A normal sync or upgrade will not use its value.
++
+Additional architecture-specific replaces can be added by appending an
+underscore and the architecture name e.g., 'replaces_x86_64=()'.
*options (array)*::
This array allows you to override some of makepkg's default behavior