From a238b33578c7ab40836cf81cd51ff93547a548e8 Mon Sep 17 00:00:00 2001 From: "Tom G. Christensen" Date: Tue, 30 Jul 2013 14:20:34 +0200 Subject: [PATCH] Convert configure_args to an array This makes it possible to avoid difficult or impossible quoting needed for passing arguments. --- buildpkg.functions | 8 ++++---- buildpkg.packaging.irix | 10 +++------- buildpkg.packaging.solaris | 8 ++------ 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/buildpkg.functions b/buildpkg.functions index 35a669e..0b872fd 100644 --- a/buildpkg.functions +++ b/buildpkg.functions @@ -71,8 +71,8 @@ topinstalldir=/usr/tgcware prefix=$topinstalldir metainstalldir=$topinstalldir -# Keep this in hard-quotes to delay expansion -configure_args='--prefix=$prefix --disable-nls' +# The default configure args +configure_args=(--prefix=$prefix --disable-nls) __configure="./configure" # Docdir relative to $prefix @@ -835,8 +835,8 @@ generic_build() do export $acvar done - echo $__configure $(_upls $configure_args) - $__configure $(_upls $configure_args) + echo $__configure "${configure_args[@]}" + $__configure "${configure_args[@]}" else # Platform specific configure run run_configure diff --git a/buildpkg.packaging.irix b/buildpkg.packaging.irix index ab056f0..6655bf5 100644 --- a/buildpkg.packaging.irix +++ b/buildpkg.packaging.irix @@ -135,7 +135,7 @@ os=irix`${__uname} -r` _os=$(${__uname} -sr|${__sed} -e 's/ //g' -e 's/\.//g' -e 's/IRIX64/IRIX/g'|${__tr} '[A-Z]' '[a-z]') cpu=mips3 -configure_args='--prefix=$prefix --mandir=${prefix}/${_mandir} --infodir=${prefix}/${_infodir}' +configure_args=(--prefix=$prefix --mandir=${prefix}/${_mandir} --infodir=${prefix}/${_infodir}) META_CLEAN="$topdir.spec $topdir.idb files.tmp ${depends##*/}_auto ${depends##*/}_all sums" @@ -1084,12 +1084,8 @@ auto_rel() fi local relmetadir=${stagedir}${metainstalldir}relnotes/$topdir-$version-$pkgver # compute configure info for relnotes - local cf="$(_upls $configure_args)" [ -n "$my_ac_overrides" -a $no_configure -eq 0 ] && local aco="$(for ar in $my_ac_overrides; do echo $ar; done | ${__awk} '{ printf "%s \\\\ \\n",$0 }')" - local temp_fullcf="$(echo "$__configure $cf" | ${__awk} '{ printf "%s\\n",$0 }')" - temp_fullcf="$(echo "${aco}${temp_fullcf}")" - # Remove trailing whitespace and \n - local fullcf="${temp_fullcf%\\*}" + local fullcf="${aco}${__configure} "${configure_args[@]}"" # end local pkgnam_temp=$(${__grep} 'pkgname=' $metadir/pkgdef) local pkgnam=$(_upls ${pkgnam_temp#pkgname=*}) @@ -1322,7 +1318,7 @@ run_configure() do export $acvar done - $__configure $(_upls $configure_args) + $__configure "${configure_args[@]}" if [ $check_ac -gt 0 ]; then local out="$(check_ac warn $configlog)" if [ -n "$out" ]; then diff --git a/buildpkg.packaging.solaris b/buildpkg.packaging.solaris index 493bbf3..4bcc121 100644 --- a/buildpkg.packaging.solaris +++ b/buildpkg.packaging.solaris @@ -89,7 +89,7 @@ _mandir=share/man _infodir=share/info # Default configure args -configure_args='${gnu_link_progs:+--program-prefix=$gnu_prefix} --prefix=$prefix --mandir=${prefix}/${_mandir} --infodir=${prefix}/${_infodir}' +configure_args=(${gnu_link_progs:+--program-prefix=$gnu_prefix} --prefix=$prefix --mandir=${prefix}/${_mandir} --infodir=${prefix}/${_infodir}) # Host specific configuration [ -r $buildpkgscripts/config.`hostname`.solaris ] && . $buildpkgscripts/config.`hostname`.solaris @@ -383,12 +383,8 @@ auto_rel() fi local relmetadir=${stagedir}${metainstalldir}relnotes/$secname-$version-$pkgver ### compute configure info for relnotes - local cf="$(_upls $configure_args)" [ -n "$ac_overrides" ] && local aco="$(for ar in $ac_overrides; do echo $ar; done | ${__awk} '{ printf "%s \\\\ \\n",$0 }')" - local temp_fullcf="$(echo "$__configure $cf" | ${__awk} '{ printf "%s\\n",$0 }')" - temp_fullcf="$(echo "${aco}${temp_fullcf}")" - # Remove trailing whitespace and \n - local fullcf="${temp_fullcf%\\*}" + local fullcf="${aco}${__configure} "${configure_args[@]}"" ### local pkgnam=$(get_pkgname $secname) local vendor=$(get_pkgvendor $secname)