On Sun, May 23, 2010 at 8:32 AM, Andres P <aepd87@gmail.com> wrote:
Signed-off-by: Andres P <aepd87@gmail.com> --- scripts/makepkg.sh.in | 34 +++++++++------------------------- 1 files changed, 9 insertions(+), 25 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index fd1b68b..efd3d80 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -947,31 +947,15 @@ write_pkginfo() { echo "force = true" fi
- local it - for it in "${license[@]}"; do - echo "license = $it" - done - for it in "${replaces[@]}"; do - echo "replaces = $it" - done - for it in "${groups[@]}"; do - echo "group = $it" - done - for it in "${depends[@]}"; do - echo "depend = $it" - done - for it in "${optdepends[@]}"; do - echo "optdepend = $it" - done - for it in "${conflicts[@]}"; do - echo "conflict = $it" - done - for it in "${provides[@]}"; do - echo "provides = $it" - done - for it in "${backup[@]}"; do - echo "backup = $it" - done + [[ $license ]] && printf "license = %s\n" "${license[@]}" + [[ $replaces ]] && printf "replaces = %s\n" "${replaces[@]}" + [[ $groups ]] && printf "group = %s\n" "${groups[@]}" + [[ $depends ]] && printf "depend = %s\n" "${depends[@]}" + [[ $optdepend ]] && printf "optdepend = %s\n" "${optdepends[@]}" + [[ $conflict ]] && printf "conflict = %s\n" "${conflicts[@]}" + [[ $provides ]] && printf "provides = %s\n" "${provides[@]}" + [[ $backup ]] && printf "backup = %s\n" "${backup[@]}" + for it in "${packaging_options[@]}"; do local ret="$(check_option $it)" if [[ $ret != "?" ]]; then --
This looks really cool, but where is this printf behavior documented? I can't find it at all in the bash manpage. Is it portable to different (read: older) versions of bash? -Dan