From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Matthew Weber <matthew.weber@collins.com>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/3] utils/test-pkg: add support for externals
Date: Mon, 3 Jan 2022 21:59:31 +0100 [thread overview]
Message-ID: <20220103205931.GN69135@scaer> (raw)
In-Reply-To: <20211201230827.35080-1-matthew.weber@collins.com>
Matthew, All,
On 2021-12-01 17:08 -0600, Matthew Weber via buildroot spake thusly:
> Add support to test-pkg to allow the usage br2-externals, so that
> it may be leveraged for packages outside of upstream buildroot as well.
Why is it even needed? Just pass BR2_EXTERNAL in the environment:
BR2_EXTERNAL=/path/to/foo:/path/to/bar ./utils/test-pkg
Maybe we should change the manual to state that BR2_EXTERNAL can be set
in the environment as well, and the help for ./utils/test-pkg could also
mention that.
Oh, and by the way: we should not have added the -e option to
support/kconfig/merge_config.sh either, because even in that case,
BR2_EXTERNAL in the environment works as well.
Regards,
Yann E. MORIN.
> Signed-off-by: Matthew Weber <matthew.weber@collins.com>
> ---
> utils/test-pkg | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/utils/test-pkg b/utils/test-pkg
> index 526b95b1fb..d0472f176b 100755
> --- a/utils/test-pkg
> +++ b/utils/test-pkg
> @@ -3,6 +3,7 @@ set -e
>
> TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
> TEMP_CONF=""
> +BR2_EXTERNALS=""
>
> do_clean() {
> if [ ! -z "${TEMP_CONF}" ]; then
> @@ -17,8 +18,8 @@ main() {
> local -a toolchains
> local pkg_br_name
>
> - o='hakc:d:n:p:r:t:'
> - O='help,all,keep,prepare-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
> + o='hakc:d:n:p:r:t:e:'
> + O='help,all,keep,prepare-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:,externals:,'
> opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
> eval set -- "${opts}"
>
> @@ -61,6 +62,9 @@ main() {
> (-t|--toolchains-csv)
> toolchains_csv="${2}"; shift 2
> ;;
> + (-e|--externals)
> + BR2_EXTERNALS="${2}"; shift 2
> + ;;
> (--)
> shift; break
> ;;
> @@ -155,7 +159,7 @@ build_one() {
>
> mkdir -p "${dir}"
>
> - CONFIG_= support/kconfig/merge_config.sh -O "${dir}" \
> + CONFIG_= support/kconfig/merge_config.sh -e "${BR2_EXTERNALS}" -O "${dir}" \
> "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \
> >> "${dir}/logfile" 2>&1
> # We want all the options from the snippet to be present as-is (set
> @@ -181,7 +185,7 @@ build_one() {
> fi
>
> if [ -n "${pkg}" ]; then
> - if ! make O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then
> + if ! make BR2_EXTERNAL="${BR2_EXTERNALS}" O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then
> return 2
> fi
> fi
> @@ -193,14 +197,14 @@ build_one() {
>
> # legal-info done systematically, because some packages have different
> # sources depending on the configuration (e.g. lua-5.2 vs. lua-5.3)
> - if ! make O="${dir}" legal-info >> "${dir}/logfile" 2>&1; then
> + if ! make BR2_EXTERNAL="${BR2_EXTERNALS}" O="${dir}" legal-info >> "${dir}/logfile" 2>&1; then
> return 3
> fi
>
> # If we get here, the build was successful. Clean up the build/host
> # directories to save disk space, unless 'keep' was set.
> if [ ${keep} -ne 1 ]; then
> - make O="${dir}" clean >> "${dir}/logfile" 2>&1
> + make BR2_EXTERNAL="${BR2_EXTERNALS}" O="${dir}" clean >> "${dir}/logfile" 2>&1
> fi
> }
>
> @@ -271,6 +275,10 @@ Options:
> Only prepare the .config files, but do not build them. Output the
> list of build directories to stdout, and the status on stderr.
>
> + -e, --externals
> + Externals to be used as part of the build process. Packages from
> + within these externals may be tested.
> +
> Example:
>
> Testing libcec would require a config snippet that contains:
> --
> 2.17.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2022-01-03 20:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-01 23:08 [Buildroot] [PATCH 1/3] utils/test-pkg: add support for externals Matthew Weber via buildroot
2021-12-01 23:08 ` [Buildroot] [PATCH 2/3] utils/test-pkg: add ability to fail when skipped Matthew Weber via buildroot
2022-01-01 21:08 ` Yann E. MORIN
2022-01-31 20:54 ` Arnout Vandecappelle
2021-12-01 23:08 ` [Buildroot] [PATCH 3/3] docs/manual: add section describing testing external applications Matthew Weber via buildroot
2022-01-03 20:59 ` Yann E. MORIN [this message]
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=20220103205931.GN69135@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=matthew.weber@collins.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.