* [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing
@ 2019-02-05 21:21 Thomas De Schampheleire
2019-02-05 21:21 ` [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds Thomas De Schampheleire
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Thomas De Schampheleire @ 2019-02-05 21:21 UTC (permalink / raw)
To: buildroot
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
The long option parsing of test-pkg is broken because:
- some long options are not declared
- there should be a comma between long options, the colon does not replace
it.
This change also revealed that the declaration of 'toolchains-dir' should
have been 'toolchains-csv', originally introduced in commit ed59f81a3cb4ddb.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
utils/test-pkg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
v3: unchanged
v2: new patch
diff --git a/utils/test-pkg b/utils/test-pkg
index 1995fa8578..087f9ddca9 100755
--- a/utils/test-pkg
+++ b/utils/test-pkg
@@ -5,12 +5,12 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
main() {
local o O opts
- local cfg dir pkg random toolchains_dir toolchain all number mode
+ local cfg dir pkg random toolchains_csv toolchain all number mode
local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
local -a toolchains
o='hac:d:n:p:r:t:'
- O='help,config-snippet:build-dir:package:,random:,toolchains-dir:'
+ O='help,all,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
eval set -- "${opts}"
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds
2019-02-05 21:21 [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Thomas De Schampheleire
@ 2019-02-05 21:21 ` Thomas De Schampheleire
2019-06-23 16:59 ` Yann E. MORIN
2019-06-23 16:50 ` [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Yann E. MORIN
2019-06-23 19:40 ` Thomas Petazzoni
2 siblings, 1 reply; 7+ messages in thread
From: Thomas De Schampheleire @ 2019-02-05 21:21 UTC (permalink / raw)
To: buildroot
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
test-pkg will use gigabytes of space when testing all toolchains.
Nevertheless, you are normally only interested in the actual build / host
tree when there is a build failure.
Do a 'make clean' for successful builds to save disk space, unless the new
option '-k/--keep' is set.
Note that the logfile and configuration is always retained for inspection.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
utils/test-pkg | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
v3: add missing help entry for --keep
v2: make the feature optional via '--keep' (feedback Arnout and Peter)
diff --git a/utils/test-pkg b/utils/test-pkg
index 087f9ddca9..c2aec0784d 100755
--- a/utils/test-pkg
+++ b/utils/test-pkg
@@ -6,16 +6,17 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
main() {
local o O opts
local cfg dir pkg random toolchains_csv toolchain all number mode
- local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
+ local ret nb nb_skip nb_fail nb_legal nb_tc build_dir keep
local -a toolchains
- o='hac:d:n:p:r:t:'
- O='help,all,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
+ o='hakc:d:n:p:r:t:'
+ O='help,all,keep,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
eval set -- "${opts}"
random=0
all=0
+ keep=0
number=0
mode=0
toolchains_csv="${TOOLCHAINS_CSV}"
@@ -27,6 +28,9 @@ main() {
(-a|--all)
all=1; shift 1
;;
+ (-k|--keep)
+ keep=1; shift 1
+ ;;
(-c|--config-snippet)
cfg="${2}"; shift 2
;;
@@ -161,6 +165,12 @@ build_one() {
if ! make 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
+ fi
}
help() {
@@ -221,6 +231,11 @@ Options:
try. If not specified, the toolchains in ${TOOLCHAINS_CSV} will be
used.
+ -k, --keep
+ Keep the build directories even if the build succeeds.
+ Note: the logfile and configuration is always retained, even without
+ this option.
+
Example:
Testing libcec would require a config snippet that contains:
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing
2019-02-05 21:21 [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Thomas De Schampheleire
2019-02-05 21:21 ` [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds Thomas De Schampheleire
@ 2019-06-23 16:50 ` Yann E. MORIN
2019-06-25 9:03 ` Peter Korsgaard
2019-06-23 19:40 ` Thomas Petazzoni
2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2019-06-23 16:50 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2019-02-05 22:21 +0100, Thomas De Schampheleire spake thusly:
> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
>
> The long option parsing of test-pkg is broken because:
> - some long options are not declared
> - there should be a comma between long options, the colon does not replace
> it.
>
> This change also revealed that the declaration of 'toolchains-dir' should
> have been 'toolchains-csv', originally introduced in commit ed59f81a3cb4ddb.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> utils/test-pkg | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> v3: unchanged
> v2: new patch
>
> diff --git a/utils/test-pkg b/utils/test-pkg
> index 1995fa8578..087f9ddca9 100755
> --- a/utils/test-pkg
> +++ b/utils/test-pkg
> @@ -5,12 +5,12 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
>
> main() {
> local o O opts
> - local cfg dir pkg random toolchains_dir toolchain all number mode
> + local cfg dir pkg random toolchains_csv toolchain all number mode
> local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
> local -a toolchains
>
> o='hac:d:n:p:r:t:'
> - O='help,config-snippet:build-dir:package:,random:,toolchains-dir:'
> + O='help,all,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
> opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
> eval set -- "${opts}"
>
> --
> 2.19.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds
2019-02-05 21:21 ` [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds Thomas De Schampheleire
@ 2019-06-23 16:59 ` Yann E. MORIN
2019-06-25 9:04 ` Peter Korsgaard
0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2019-06-23 16:59 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2019-02-05 22:21 +0100, Thomas De Schampheleire spake thusly:
> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
>
> test-pkg will use gigabytes of space when testing all toolchains.
> Nevertheless, you are normally only interested in the actual build / host
> tree when there is a build failure.
>
> Do a 'make clean' for successful builds to save disk space, unless the new
> option '-k/--keep' is set.
> Note that the logfile and configuration is always retained for inspection.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> utils/test-pkg | 21 ++++++++++++++++++---
> 1 file changed, 18 insertions(+), 3 deletions(-)
>
> v3: add missing help entry for --keep
> v2: make the feature optional via '--keep' (feedback Arnout and Peter)
>
> diff --git a/utils/test-pkg b/utils/test-pkg
> index 087f9ddca9..c2aec0784d 100755
> --- a/utils/test-pkg
> +++ b/utils/test-pkg
> @@ -6,16 +6,17 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
> main() {
> local o O opts
> local cfg dir pkg random toolchains_csv toolchain all number mode
> - local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
> + local ret nb nb_skip nb_fail nb_legal nb_tc build_dir keep
> local -a toolchains
>
> - o='hac:d:n:p:r:t:'
> - O='help,all,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
> + o='hakc:d:n:p:r:t:'
> + O='help,all,keep,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
> opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
> eval set -- "${opts}"
>
> random=0
> all=0
> + keep=0
> number=0
> mode=0
> toolchains_csv="${TOOLCHAINS_CSV}"
> @@ -27,6 +28,9 @@ main() {
> (-a|--all)
> all=1; shift 1
> ;;
> + (-k|--keep)
> + keep=1; shift 1
> + ;;
> (-c|--config-snippet)
> cfg="${2}"; shift 2
> ;;
> @@ -161,6 +165,12 @@ build_one() {
> if ! make 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
> + fi
> }
>
> help() {
> @@ -221,6 +231,11 @@ Options:
> try. If not specified, the toolchains in ${TOOLCHAINS_CSV} will be
> used.
>
> + -k, --keep
> + Keep the build directories even if the build succeeds.
> + Note: the logfile and configuration is always retained, even without
> + this option.
> +
> Example:
>
> Testing libcec would require a config snippet that contains:
> --
> 2.19.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing
2019-02-05 21:21 [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Thomas De Schampheleire
2019-02-05 21:21 ` [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds Thomas De Schampheleire
2019-06-23 16:50 ` [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Yann E. MORIN
@ 2019-06-23 19:40 ` Thomas Petazzoni
2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2019-06-23 19:40 UTC (permalink / raw)
To: buildroot
On Tue, 5 Feb 2019 22:21:41 +0100
Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:
> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
>
> The long option parsing of test-pkg is broken because:
> - some long options are not declared
> - there should be a comma between long options, the colon does not replace
> it.
>
> This change also revealed that the declaration of 'toolchains-dir' should
> have been 'toolchains-csv', originally introduced in commit ed59f81a3cb4ddb.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> ---
> utils/test-pkg | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Both patches applied. Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing
2019-06-23 16:50 ` [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Yann E. MORIN
@ 2019-06-25 9:03 ` Peter Korsgaard
0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2019-06-25 9:03 UTC (permalink / raw)
To: buildroot
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> Thomas, All,
> On 2019-02-05 22:21 +0100, Thomas De Schampheleire spake thusly:
>> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
>>
>> The long option parsing of test-pkg is broken because:
>> - some long options are not declared
>> - there should be a comma between long options, the colon does not replace
>> it.
>>
>> This change also revealed that the declaration of 'toolchains-dir' should
>> have been 'toolchains-csv', originally introduced in commit ed59f81a3cb4ddb.
>>
>> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Committed to 2019.02.x and 2019.05.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds
2019-06-23 16:59 ` Yann E. MORIN
@ 2019-06-25 9:04 ` Peter Korsgaard
0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2019-06-25 9:04 UTC (permalink / raw)
To: buildroot
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> Thomas, All,
> On 2019-02-05 22:21 +0100, Thomas De Schampheleire spake thusly:
>> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
>>
>> test-pkg will use gigabytes of space when testing all toolchains.
>> Nevertheless, you are normally only interested in the actual build / host
>> tree when there is a build failure.
>>
>> Do a 'make clean' for successful builds to save disk space, unless the new
>> option '-k/--keep' is set.
>> Note that the logfile and configuration is always retained for inspection.
>>
>> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
While not strictly a bugfix, the risk seems quite low and it is nicer to
keep the tooling the same in the supported branches, so:
Committed to 2019.02.x and 2019.05.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-06-25 9:04 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-05 21:21 [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Thomas De Schampheleire
2019-02-05 21:21 ` [Buildroot] [PATCHv3 2/2] utils/test-pkg: clean output dir for successful builds Thomas De Schampheleire
2019-06-23 16:59 ` Yann E. MORIN
2019-06-25 9:04 ` Peter Korsgaard
2019-06-23 16:50 ` [Buildroot] [PATCHv3 1/2] utils/test-pkg: fix long option parsing Yann E. MORIN
2019-06-25 9:03 ` Peter Korsgaard
2019-06-23 19:40 ` Thomas Petazzoni
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.