Github messages for voidlinux
 help / color / mirror / Atom feed
From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [RFC] [WIP] use bash arrays for some template fields
Date: Thu, 02 Nov 2023 14:42:43 +0100	[thread overview]
Message-ID: <20231102134243.X_pnhMZL9s3qAPgpK9Rkw4oNHp7fpgA2Vyq7wJIpiQ0@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-42656@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1181 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages declare-a
https://github.com/void-linux/void-packages/pull/42656

[RFC] [WIP] use bash arrays for some template fields
this will allow select variables to be defined as arrays or strings. if a string is specified, it will be converted to an array for internal usage. if it is an array, it passes through untouched. this should allow for a smooth transition to using more arrays inside xbps-src, and should solve issues with shell quoting in things like configure_args, make_check_args, etc.

to start, I've only done this with configure_args, and fixed *some* templates

would like to get some feedback before continuing, as this will be a fairly massive undertaking. what fields would be valuable as arrays? (I'm thinking mostly the `*_args` variables) should the internal string -> array conversion happen or should we just go all-in?

#### Testing the changes
- I tested the changes in this PR: **YES**|**briefly**|**NO**

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/42656.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-declare-a-42656.patch --]
[-- Type: text/x-diff, Size: 18316 bytes --]

From cfeb2e1f7c0df9a2322581de3f957fb7a14a1a72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 8 Mar 2023 04:26:21 -0500
Subject: [PATCH 1/4] common/xbps-src/shutils/common.sh: add function for
 str->array

this will allow select variables to be defined as arrays or strings. if
a string is specified, it will be converted to an array for internal
usage. if it is an array, it passes through untouched. this should
allow for a smooth transition to using more arrays inside xbps-src,
and should solve issues with shell quoting in things like configure_args,
make_check_args, etc.
---
 common/xbps-src/shutils/common.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh
index 04247942decf25..88ee6b4fb6ec1a 100644
--- a/common/xbps-src/shutils/common.sh
+++ b/common/xbps-src/shutils/common.sh
@@ -286,6 +286,18 @@ source_file() {
     fi
 }
 
+arrayise() {
+    for name; do
+        if [[ -n "$name" && "${!name@a}" != *a* ]]; then
+            IFS=" " read -r -a "${name}" <<< "${!name}"
+            declare -n nameref="$name"
+            if [ "${#nameref[@]}" -gt 1 ]; then
+                msg_error "template variable '$name' should be an array!\n"
+            fi
+        fi
+    done
+}
+
 run_pkg_hooks() {
     local phase="$1" hookn f
 
@@ -568,6 +580,8 @@ setup_pkg() {
 
     set_build_options
 
+    arrayise configure_args
+
     export CFLAGS="$XBPS_CFLAGS $XBPS_CROSS_CFLAGS $CFLAGS $dbgflags"
     export CXXFLAGS="$XBPS_CXXFLAGS $XBPS_CROSS_CXXFLAGS $CXXFLAGS $dbgflags"
     export FFLAGS="$XBPS_FFLAGS $XBPS_CROSS_FFLAGS $FFLAGS $dbgflags"

From a7c20ad2f26a5806fce95dc50e56ffa8c1dd6e7a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 8 Mar 2023 04:32:03 -0500
Subject: [PATCH 2/4] common/xbps-src/shutils/show.sh: refactor show_pkg_var to
 support arrays

---
 common/xbps-src/shutils/show.sh | 89 ++++++++++++++++++++++-----------
 1 file changed, 61 insertions(+), 28 deletions(-)

diff --git a/common/xbps-src/shutils/show.sh b/common/xbps-src/shutils/show.sh
index 6ae0f4e6d7df28..464ac04f6261e3 100644
--- a/common/xbps-src/shutils/show.sh
+++ b/common/xbps-src/shutils/show.sh
@@ -1,27 +1,27 @@
 # vim: set ts=4 sw=4 et:
 
 show_pkg() {
-    show_pkg_var "pkgname" "$pkgname"
-    show_pkg_var "version" "$version"
-    show_pkg_var "revision" "$revision"
-    show_pkg_var "distfiles" "$distfiles" 1
-    show_pkg_var "checksum" "$checksum" 1
-    show_pkg_var "archs" "$archs" 1
-    show_pkg_var "maintainer" "${maintainer}"
-    show_pkg_var "Upstream URL" "$homepage"
-    show_pkg_var "License(s)" "${license//,/ }" 1
-    show_pkg_var "Changelog" "$changelog"
-    show_pkg_var "build_style" "$build_style"
-    show_pkg_var "build_helper" "$build_helper" 1
-    show_pkg_var "configure_args" "$configure_args" 1
-    show_pkg_var "short_desc" "$short_desc"
-    show_pkg_var "subpackages" "$subpackages" 1
+    show_pkg_var no "pkgname" "$pkgname"
+    show_pkg_var no "version" "$version"
+    show_pkg_var no "revision" "$revision"
+    show_pkg_var st "distfiles" "$distfiles"
+    show_pkg_var st "checksum" "$checksum"
+    show_pkg_var st "archs" "$archs"
+    show_pkg_var no "maintainer" "${maintainer}"
+    show_pkg_var no "Upstream URL" "$homepage"
+    show_pkg_var st "License(s)" "${license//,/ }"
+    show_pkg_var no "Changelog" "$changelog"
+    show_pkg_var no "build_style" "$build_style"
+    show_pkg_var st "build_helper" "$build_helper"
+    show_pkg_var ar "configure_args" "${configure_args[@]}"
+    show_pkg_var no "short_desc" "$short_desc"
+    show_pkg_var st "subpackages" "$subpackages"
     set -f
-    show_pkg_var "conf_files" "$conf_files" 1
+    show_pkg_var st "conf_files" "$conf_files"
     set +f
-    show_pkg_var "replaces" "$replaces" 1
-    show_pkg_var "provides" "$provides" 1
-    show_pkg_var "conflicts" "$conflicts" 1
+    show_pkg_var st "replaces" "$replaces"
+    show_pkg_var st "provides" "$provides"
+    show_pkg_var st "conflicts" "$conflicts"
     local OIFS="$IFS"
     IFS=','
     for var in $1; do
@@ -29,9 +29,9 @@ show_pkg() {
         if [ ${var} != ${var/'*'} ]
         then
             var="${var/'*'}"
-            show_pkg_var "$var" "${!var//$'\n'/' '}"
+            show_pkg_var no "$var" "${!var//$'\n'/' '}"
         else
-            show_pkg_var "$var" "${!var}" 1
+            show_pkg_var st "$var" "${!var}"
         fi
     done
     IFS="$OIFS"
@@ -41,26 +41,59 @@ show_pkg() {
 
 show_pkg_var() {
     local _sep i=
-    local _label="$1"
-    local _value="$2"
-    local _always_split="$3"
-    if [ -n "$_value" ] && [ -n "$_label" ]; then
+    local _split="$1"
+    local _label="$2"
+    shift 2
+    if [ -n "$_label" ]; then
         # on short labels, use more padding so everything lines up
         if [ "${#_label}" -lt 7 ]; then
             _sep="		"
         else
             _sep="	"
         fi
-        if [ -n "$_always_split" ] || [[ "$_value" =~ $'\n' ]]; then
-            for i in ${_value}; do
+
+        # treat as an array
+        if [ "$_split" = "ar" ]; then
+            for _value; do
+                if [ -n "$_value" ]; then
+                    if [[ "$_value" =~ $'\n' ]]; then
+                        OIFS="$IFS"; IFS=$'\n'
+                        for i in $_value; do
+                            [ -n "$i" ] && echo "${_label}:${_sep}${i}"
+                        done
+                        IFS="$OIFS"
+                    else
+                        echo "${_label}:${_sep}${_value}"
+                    fi
+                fi
+            done
+        # treat as a string, always split at whitespace
+        elif [ "$_split" = "st" ] || [[ "$@" =~ $'\n' ]]; then
+            _value="$@"
+            for i in $_value; do
                 [ -n "$i" ] && echo "${_label}:${_sep}${i}"
             done
         else
-            echo "${_label}:${_sep}${_value}"
+            _value="$@"
+            [ -n "$_value" ] && echo "${_label}:${_sep}${_value}"
         fi
     fi
 }
 
+show_pkg_arr() {
+    local _sep i=
+    local _label="$1"
+    shift
+    for _value; do
+        # on short labels, use more padding so everything lines up
+        if [ "${#_label}" -lt 7 ]; then
+            _sep="		"
+        else
+            _sep="	"
+        fi
+    done
+}
+
 show_pkg_deps() {
     [ -f "${PKGDESTDIR}/rdeps" ] && cat ${PKGDESTDIR}/rdeps
 }

From adddd05ebe6055df0c6ab01022090f400faf6c6b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 8 Mar 2023 04:32:56 -0500
Subject: [PATCH 3/4] common/build-style/: convert configure-args to array

---
 common/build-style/cargo.sh            | 6 +++---
 common/build-style/cmake.sh            | 4 ++--
 common/build-style/configure.sh        | 2 +-
 common/build-style/gemspec.sh          | 2 +-
 common/build-style/gnu-configure.sh    | 2 +-
 common/build-style/meson.sh            | 4 ++--
 common/build-style/perl-ModuleBuild.sh | 2 +-
 common/build-style/perl-module.sh      | 2 +-
 common/build-style/qmake.sh            | 4 ++--
 common/build-style/sip-build.sh        | 2 +-
 common/build-style/void-cross.sh       | 4 ++--
 common/build-style/waf.sh              | 2 +-
 common/build-style/waf3.sh             | 2 +-
 common/build-style/zig-build.sh        | 2 +-
 14 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/common/build-style/cargo.sh b/common/build-style/cargo.sh
index 751911d8dbee8d..c080a65ad71ca6 100644
--- a/common/build-style/cargo.sh
+++ b/common/build-style/cargo.sh
@@ -5,14 +5,14 @@
 do_build() {
 	: ${make_cmd:=cargo auditable}
 
-	${make_cmd} build --release --locked --target ${RUST_TARGET} ${configure_args}
+	${make_cmd} build --release --locked --target ${RUST_TARGET} "${configure_args[@]}"
 }
 
 do_check() {
 	: ${make_cmd:=cargo auditable}
 
 	${make_check_pre} ${make_cmd} test --release --locked --target ${RUST_TARGET} \
-		${configure_args} ${make_check_args}
+		"${configure_args[@]}" ${make_check_args}
 }
 
 do_install() {
@@ -20,7 +20,7 @@ do_install() {
 	: ${make_install_args:=--path .}
 
 	${make_cmd} install --target ${RUST_TARGET} --root="${DESTDIR}/usr" \
-		--offline --locked ${configure_args} ${make_install_args}
+		--offline --locked "${configure_args[@]}" ${make_install_args}
 
 	rm -f "${DESTDIR}"/usr/.crates.toml
 	rm -f "${DESTDIR}"/usr/.crates2.json
diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh
index 124ed354eff674..3adbba4db263b2 100644
--- a/common/build-style/cmake.sh
+++ b/common/build-style/cmake.sh
@@ -19,7 +19,7 @@ SET(CMAKE_FIND_ROOT_PATH  "${XBPS_MASTERDIR}/usr;${XBPS_MASTERDIR}")
 SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 _EOF
-		configure_args+=" -DCMAKE_TOOLCHAIN_FILE=bootstrap.cmake"
+		configure_args+=("-DCMAKE_TOOLCHAIN_FILE=bootstrap.cmake")
 	elif [ "$CROSS_BUILD" ]; then
 		case "$XBPS_TARGET_MACHINE" in
 			x86_64*) _CMAKE_SYSTEM_PROCESSOR=x86_64 ;;
@@ -75,7 +75,7 @@ _EOF
 	export CMAKE_GENERATOR="${CMAKE_GENERATOR:-Ninja}"
 	# Remove -pipe: https://gitlab.kitware.com/cmake/cmake/issues/19590
 	CFLAGS="-DNDEBUG ${CFLAGS/ -pipe / }" CXXFLAGS="-DNDEBUG ${CXXFLAGS/ -pipe / }" \
-		cmake ${cmake_args} ${configure_args} \
+		cmake ${cmake_args} "${configure_args[@]}" \
 		${LIBS:+-DCMAKE_C_STANDARD_LIBRARIES="$LIBS"} \
 		${LIBS:+-DCMAKE_CXX_STANDARD_LIBRARIES="$LIBS"} \
 		${wrksrc}/${build_wrksrc}
diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh
index 8fe327507d9e8f..9b472ca28ccc20 100644
--- a/common/build-style/configure.sh
+++ b/common/build-style/configure.sh
@@ -5,7 +5,7 @@
 do_configure() {
 	: ${configure_script:=./configure}
 
-	${configure_script} ${configure_args}
+	${configure_script} "${configure_args[@]}"
 }
 
 do_build() {
diff --git a/common/build-style/gemspec.sh b/common/build-style/gemspec.sh
index 9568e819ed45a3..0ed948dbff0e57 100644
--- a/common/build-style/gemspec.sh
+++ b/common/build-style/gemspec.sh
@@ -120,7 +120,7 @@ do_install() {
 		--no-document \
 		--verbose \
 		"${pkgname#ruby-}-${version}.gem" \
-		-- $configure_args
+		-- "${configure_args[@]}"
 
 	# Remove cache
 	rm -rf ${DESTDIR}/${_GEMDIR}/cache
diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh
index 82d36f6ee0f79c..b89008875a894a 100644
--- a/common/build-style/gnu-configure.sh
+++ b/common/build-style/gnu-configure.sh
@@ -5,7 +5,7 @@ do_configure() {
 	: ${configure_script:=./configure}
 
 	export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /usr/lib32 /usr/lib /lib /usr/local/lib"
-	${configure_script} ${configure_args}
+	${configure_script} "${configure_args[@]}"
 }
 
 do_build() {
diff --git a/common/build-style/meson.sh b/common/build-style/meson.sh
index 5ea2eeda40097d..9f1abed904a797 100644
--- a/common/build-style/meson.sh
+++ b/common/build-style/meson.sh
@@ -8,7 +8,7 @@ do_configure() {
 	: ${meson_crossfile:="${XBPS_WRAPPERDIR}/meson/xbps_meson.cross"}
 
 	if [ "$CROSS_BUILD" ]; then
-		configure_args+=" --cross-file=${meson_crossfile}"
+		configure_args+=("--cross-file=${meson_crossfile}")
 	fi
 
 	# binutils ar needs a plugin when LTO is used on static libraries, so we
@@ -39,7 +39,7 @@ do_configure() {
 		--wrap-mode=nodownload \
 		-Db_lto=true -Db_ndebug=true \
 		-Db_staticpic=true \
-		${configure_args} . ${meson_builddir}
+		"${configure_args[@]}" . ${meson_builddir}
 }
 
 do_build() {
diff --git a/common/build-style/perl-ModuleBuild.sh b/common/build-style/perl-ModuleBuild.sh
index f21d2b0efb4cf0..5efa8484068e48 100644
--- a/common/build-style/perl-ModuleBuild.sh
+++ b/common/build-style/perl-ModuleBuild.sh
@@ -24,7 +24,7 @@ do_configure() {
 			perl Build.PL --config optimize="$_optimize" --config ccflags="$_ccflags" \
 			--config lddlflags="$_lddlflags" --config ldflags="$_ldflags" \
 			--config archlibexp="${XBPS_CROSS_BASE}${_archlibexp}" \
-			${configure_args} INSTALLDIRS=vendor
+			"${configure_args[@]}" INSTALLDIRS=vendor
 	else
 		msg_error "$pkgver: cannot find Build.PL for perl module!\n"
 	fi
diff --git a/common/build-style/perl-module.sh b/common/build-style/perl-module.sh
index 2945787ffbe11e..2bcfda7430833f 100644
--- a/common/build-style/perl-module.sh
+++ b/common/build-style/perl-module.sh
@@ -47,7 +47,7 @@ do_configure() {
 			CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \
 			LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib -lperl" \
 			LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
-			perl -I. Makefile.PL ${configure_args} INSTALLDIRS=vendor
+			perl -I. Makefile.PL "${configure_args[@]}" INSTALLDIRS=vendor
 	fi
 
 	for i in ${perl_configure_dirs}; do
diff --git a/common/build-style/qmake.sh b/common/build-style/qmake.sh
index 31745833606eff..1f79fd42d55ced 100644
--- a/common/build-style/qmake.sh
+++ b/common/build-style/qmake.sh
@@ -117,7 +117,7 @@ _EOF
 			QT_INSTALL_PREFIX=/usr \
 			LIB=/usr/lib \
 			QT_TARGET_ARCH=$_qt_arch \
-			${configure_args}
+			"${configure_args[@]}"
 	else
 		${qmake} ${qmake_args} \
 			PREFIX=/usr \
@@ -129,7 +129,7 @@ _EOF
 			QMAKE_CXXFLAGS="${CXXFLAGS}" \
 			QMAKE_LFLAGS="${LDFLAGS}" \
 			CONFIG+=no_qt_rpath \
-			${configure_args}
+			"${configure_args[@]}"
 	fi
 }
 
diff --git a/common/build-style/sip-build.sh b/common/build-style/sip-build.sh
index d8b3bcea98bf09..42b5b2bff19122 100644
--- a/common/build-style/sip-build.sh
+++ b/common/build-style/sip-build.sh
@@ -124,7 +124,7 @@ do_configure() {
 	sip-build --no-make \
 		${_qt:+--qmake "$XBPS_WRAPPERDIR/sip-qmake"} \
 		--api-dir /usr/share/$_qt/qsci/api/python \
-		$configure_args \
+		"${configure_args[@]}" \
 		--build-dir "$sip_builddir"
 
 	if [ "$CROSS_BUILD" ]; then
diff --git a/common/build-style/void-cross.sh b/common/build-style/void-cross.sh
index 2e8ebb52ceaf90..bcd6cece5eadf2 100644
--- a/common/build-style/void-cross.sh
+++ b/common/build-style/void-cross.sh
@@ -142,7 +142,7 @@ _void_cross_build_bootstrap_gcc() {
 		--with-gnu-ld \
 		--with-gnu-as \
 		${extra_args} \
-		${configure_args} \
+		"${configure_args[@]}" \
 		${cross_gcc_bootstrap_configure_args}
 
 	make ${makejobs}
@@ -442,7 +442,7 @@ _void_cross_build_gcc() {
 		--with-gnu-as \
 		--with-linker-hash-style=gnu \
 		${extra_args} \
-		${configure_args} \
+		"${configure_args[@]}" \
 		${cross_gcc_configure_args}
 
 	make ${makejobs}
diff --git a/common/build-style/waf.sh b/common/build-style/waf.sh
index e943765f9b1797..2b3b6eb03c9df9 100644
--- a/common/build-style/waf.sh
+++ b/common/build-style/waf.sh
@@ -5,7 +5,7 @@ do_configure() {
 	: ${configure_script:=waf}
 
 	PYTHON=/usr/bin/python2 python2 ${configure_script} configure \
-		--prefix=/usr --libdir=/usr/lib${XBPS_TARGET_WORDSIZE} ${configure_args}
+		--prefix=/usr --libdir=/usr/lib${XBPS_TARGET_WORDSIZE} "${configure_args[@]}"
 }
 
 do_build() {
diff --git a/common/build-style/waf3.sh b/common/build-style/waf3.sh
index 54fd221172b7f3..455b043ebfa398 100644
--- a/common/build-style/waf3.sh
+++ b/common/build-style/waf3.sh
@@ -13,7 +13,7 @@ do_configure() {
 
 	PYTHON=/usr/bin/python3 python3 ${configure_script} configure \
 		--prefix=/usr --libdir=/usr/lib${XBPS_TARGET_WORDSIZE} \
-		${configure_args} ${cross_args}
+		"${configure_args[@]}" ${cross_args}
 }
 
 do_build() {
diff --git a/common/build-style/zig-build.sh b/common/build-style/zig-build.sh
index 205c4cadf53f8c..e2d02fb11b7f27 100644
--- a/common/build-style/zig-build.sh
+++ b/common/build-style/zig-build.sh
@@ -33,7 +33,7 @@ do_build() {
 		--libc xbps_zig_libc.txt \
 		-Dtarget="${zig_target}" -Dcpu="${zig_cpu}" \
 		-Drelease-safe --prefix /usr install \
-		${configure_args}
+		"${configure_args[@]}"
 }
 
 do_install() {

From 7e0ab2bbe997bf9e40997ed11822393cbb4fa4bd Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 8 Mar 2023 04:33:30 -0500
Subject: [PATCH 4/4] common/environment/configure/gnu-configure-args.sh:
 configure_args->array

---
 .../environment/configure/gnu-configure-args.sh  | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/common/environment/configure/gnu-configure-args.sh b/common/environment/configure/gnu-configure-args.sh
index 1a552b5074a076..06974323cf94fd 100644
--- a/common/environment/configure/gnu-configure-args.sh
+++ b/common/environment/configure/gnu-configure-args.sh
@@ -6,18 +6,18 @@ fi
 
 # Store args from template so they can be included last and override
 # our defaults
-TEMPLATE_CONFIGURE_ARGS="${configure_args}"
+TEMPLATE_CONFIGURE_ARGS=("${configure_args[@]}")
 
-export configure_args="--prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin
- --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var"
+export configure_args=(--prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin
+ --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var)
 
 . ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh
-export configure_args+=" --host=$XBPS_TRIPLET --build=$XBPS_TRIPLET"
+export configure_args+=("--host=$XBPS_TRIPLET" "--build=$XBPS_TRIPLET")
 
 # Always use wordsize-specific libdir even though the real path is lib
 # This is to make sure 32-bit and 64-bit libs can coexist when looking
 # up things (the opposite-libdir is always symlinked as libNN)
-export configure_args+=" --libdir=\${exec_prefix}/lib${XBPS_TARGET_WORDSIZE}"
+export configure_args+=("--libdir=\${exec_prefix}/lib${XBPS_TARGET_WORDSIZE}")
 
 _AUTOCONFCACHEDIR=${XBPS_COMMONDIR}/environment/configure/autoconf_cache
 
@@ -33,16 +33,16 @@ esac
 
 # Cross compilation vars
 if [ -z "$CROSS_BUILD" ]; then
-	export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}"
+	export configure_args+=("${TEMPLATE_CONFIGURE_ARGS[@]}")
 	unset TEMPLATE_CONFIGURE_ARGS
 
 	set +a
 	return 0
 fi
 
-export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE "
+export configure_args+=("--host=$XBPS_CROSS_TRIPLET" "--with-sysroot=$XBPS_CROSS_BASE" "--with-libtool-sysroot=$XBPS_CROSS_BASE")
 
-export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}"
+export configure_args+=("${TEMPLATE_CONFIGURE_ARGS[@]}")
 unset TEMPLATE_CONFIGURE_ARGS
 
 # Read autoconf cache variables for cross target (taken from OE).

  parent reply	other threads:[~2023-11-02 13:42 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-08  9:48 [PR PATCH] " classabbyamp
2023-03-08 10:00 ` tranzystorek-io
2023-03-08 10:03 ` tranzystorek-io
2023-03-08 10:09 ` tranzystorek-io
2023-03-08 10:11 ` classabbyamp
2023-03-08 10:12 ` classabbyamp
2023-03-08 10:17 ` tranzystorek-io
2023-03-08 11:41 ` [PR REVIEW] " ahesford
2023-03-08 12:26 ` leahneukirchen
2023-03-08 18:02 ` paper42
2023-03-08 18:12 ` classabbyamp
2023-03-09  5:43 ` [PR REVIEW] " classabbyamp
2023-03-09  5:44 ` [PR PATCH] [Updated] " classabbyamp
2023-03-09  5:45 ` classabbyamp
2023-03-09 12:40 ` [PR REVIEW] " leahneukirchen
2023-03-09 12:42 ` leahneukirchen
2023-03-09 12:42 ` leahneukirchen
2023-03-09 12:43 ` leahneukirchen
2023-03-09 16:14 ` classabbyamp
2023-03-09 16:22 ` Duncaen
2023-03-09 16:37 ` [PR PATCH] [Updated] " classabbyamp
2023-03-09 16:38 ` classabbyamp
2023-03-09 16:38 ` classabbyamp
2023-06-08  2:05 ` github-actions
2023-06-08  2:35 ` classabbyamp
2023-09-07  1:44 ` github-actions
2023-09-07  1:55 ` classabbyamp
2023-11-02 13:42 ` classabbyamp [this message]
2023-11-02 15:54 ` [PR PATCH] [Updated] " classabbyamp
2023-11-02 15:56 ` classabbyamp
2023-11-02 16:31 ` [PR PATCH] [Updated] " classabbyamp
2023-11-02 16:44 ` classabbyamp
2024-02-01  1:45 ` github-actions
2024-03-17  2:13 ` [PR PATCH] [Updated] " classabbyamp
2024-03-17  2:31 ` classabbyamp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231102134243.X_pnhMZL9s3qAPgpK9Rkw4oNHp7fpgA2Vyq7wJIpiQ0@z \
    --to=classabbyamp@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).