All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.