diff options
author | Allan McRae <allan@archlinux.org> | 2012-09-17 17:02:17 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2012-11-27 15:16:15 +1000 |
commit | fbf96203ab4eeb41953022b1dd3f6835fdbf0b6d (patch) | |
tree | 7993f8c2f5bdd1af18aac0eab7a6744e03210b30 | |
parent | fc35b16fd48fd4c6b89826ebe268425600e76f34 (diff) |
makepkg: use last match in BUILDENV/OPTIONS array
Using the last match in the BUILDENV and OPTIONS arrays allows the
user to easily override these values without specifying the entire
array. For example add "BUILDENV+=(sign)" in ~/.makepkg.conf.
Fixes FS#26701.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | doc/makepkg.conf.5.txt | 6 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index 3dbaea1e..cf9da732 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -81,7 +81,8 @@ Options This array contains options that affect the build environment, the defaults are shown here. All options should always be left in the array; to enable or disable an option simply remove or place an ``!'' at the front of the - option. Each works as follows: + option. If an option is specified multiple times, the final value takes + precedence. Each option works as follows: *fakeroot*;; Allow building packages as a non-root user. This is highly recommended. @@ -134,7 +135,8 @@ Options equivalent to options that can be placed in the PKGBUILD; the defaults are shown here. All options should always be left in the array; to enable or disable an option simply remove or place an ``!'' at the front of the - option. Each works as follows: + option. If an option is specified multiple times, the final value takes + precedence. Each option works as follows: *strip*;; Strip symbols from binaries and libraries. If you frequently use a diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d387b7d7..fce75588 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -830,8 +830,9 @@ check_buildenv() { in_opt_array() { local needle=$1; shift - local opt - for opt in "$@"; do + local i opt + for (( i = $#; i > 0; i-- )); do + opt=${!i} if [[ $opt = "$needle" ]]; then # enabled return 0 |