mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
bf0e8e6b43
Negative subscripts to indexed arrays are not supported before 4.2. However, since substring expansion works on arrays, we can specify an offset of -1 to be taken relative to one greater than the maximum index of the specified array (see Parameter Expansion section of the bash man page). This works with both Bash 4.1 and 4.2, and 4.1 is already the oldest supported by pacman. Signed-off-by: Aaron Campbell <aaron@monkey.org> Signed-off-by: Allan McRae <allan@archlinux.org>
40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# source.sh - Check the 'source' array is not sparse.
|
|
#
|
|
# Copyright (c) 2014-2015 Pacman Development Team <pacman-dev@archlinux.org>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
[[ -n "$LIBMAKEPKG_LINT_PKGBUILD_SOURCE_SH" ]] && return
|
|
LIBMAKEPKG_LINT_PKGBUILD_SOURCE_SH=1
|
|
|
|
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
|
|
|
|
source "$LIBRARY/util/message.sh"
|
|
|
|
|
|
lint_pkgbuild_functions+=('lint_source')
|
|
|
|
|
|
lint_source() {
|
|
local idx=("${!source[@]}")
|
|
|
|
if (( ${#source[*]} > 0 && (${idx[@]: -1} + 1) != ${#source[*]} )); then
|
|
error "$(gettext "Sparse arrays are not allowed for source")"
|
|
return 1
|
|
fi
|
|
}
|