aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>2019-02-05 22:21:42 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-06-23 21:39:08 +0200
commit72bf48606cc5ccf5c48c631d265cbe52d8001a62 (patch)
treeaddb2de2219a45eaad7ae5671b83a6f2fe651b54
parent989cda12ba0a55142eb2303ecad0d2d3aca96b90 (diff)
downloadbuildroot-72bf48606cc5ccf5c48c631d265cbe52d8001a62.tar.gz
buildroot-72bf48606cc5ccf5c48c631d265cbe52d8001a62.tar.bz2
utils/test-pkg: clean output dir for successful builds
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> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rwxr-xr-xutils/test-pkg21
1 files changed, 18 insertions, 3 deletions
diff --git a/utils/test-pkg b/utils/test-pkg
index 8ffeea34f5..f3b34d5d0d 100755
--- a/utils/test-pkg
+++ b/utils/test-pkg
@@ -13,17 +13,18 @@ do_clean() {
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
local pkg_br_name
- 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}"
@@ -35,6 +36,9 @@ main() {
(-a|--all)
all=1; shift 1
;;
+ (-k|--keep)
+ keep=1; shift 1
+ ;;
(-c|--config-snippet)
cfg="${2}"; shift 2
;;
@@ -176,6 +180,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() {
@@ -236,6 +246,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: