Signed-off-by: Andres P <[email protected]>
---

Without a function, this would look like:
        local fmt="= %s\n"
        [[ $license ]]   && printf "license $fmt"   "${licen...@]}"
        [[ $replaces ]]  && printf "replaces $fmt"  "${replac...@]}"
        [[ $groups ]]    && printf "group $fmt"     "${grou...@]}"
        [[ $depends ]]   && printf "depend $fmt"    "${depen...@]}"
        [[ $optdepend ]] && printf "optdepend $fmt" "${optdepen...@]}"
        [[ $conflict ]]  && printf "conflict $fmt"  "${conflic...@]}"
        [[ $provides ]]  && printf "provides $fmt"  "${provid...@]}"
        [[ $backup ]]    && printf "backup $fmt"    "${back...@]}"
...

 scripts/makepkg.sh.in |   38 +++++++++++++-------------------------
 1 files changed, 13 insertions(+), 25 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 7f27361..18bbb3f 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -893,6 +893,10 @@ tidy_install() {
        fi
 }
 
+multiopt() {
+       [[ $2 ]] && printf "$1 = %s\n" "${@:1}"
+}
+
 write_pkginfo() {
        local builddate=$(date -u "+%s")
        if [[ -n $PACKAGER ]]; then
@@ -922,31 +926,15 @@ write_pkginfo() {
                echo "force = true"
        fi
 
-       local it
-       for it in "${licen...@]}"; do
-               echo "license = $it"
-       done
-       for it in "${replac...@]}"; do
-               echo "replaces = $it"
-       done
-       for it in "${grou...@]}"; do
-               echo "group = $it"
-       done
-       for it in "${depen...@]}"; do
-               echo "depend = $it"
-       done
-       for it in "${optdepen...@]}"; do
-               echo "optdepend = $it"
-       done
-       for it in "${conflic...@]}"; do
-               echo "conflict = $it"
-       done
-       for it in "${provid...@]}"; do
-               echo "provides = $it"
-       done
-       for it in "${back...@]}"; do
-               echo "backup = $it"
-       done
+       multiopt "license"   "${licen...@]}"
+       multiopt "replaces"  "${replac...@]}"
+       multiopt "group"     "${grou...@]}"
+       multiopt "depend"    "${depen...@]}"
+       multiopt "optdepend" "${optdepen...@]}"
+       multiopt "conflict"  "${conflic...@]}"
+       multiopt "provides"  "${provid...@]}"
+       multiopt "backup"    "${back...@]}"
+
        for it in "${packaging_optio...@]}"; do
                local ret="$(check_option $it)"
                if [[ $ret != "?" ]]; then
-- 
1.7.1


Reply via email to