[pacman-dev] [PATCH] makepkg: use printf when writing pkginfo
Allan McRae
allan at archlinux.org
Mon May 24 23:20:38 EDT 2010
On 25/05/10 12:22, Dan McGee wrote:
> On Sun, May 23, 2010 at 8:32 AM, Andres P<aepd87 at gmail.com> wrote:
>> Signed-off-by: Andres P<aepd87 at 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?
>
I can confirm that this works in bash-3.1.17 which is from 2005. I
think that is old enough.
Remember that this patch relies on the one removing all the >.PKGINFO
redirections when it comes time to commit.
Allan
More information about the pacman-dev
mailing list