mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rohieb@rohieb.name>
To: ptxdist@pengutronix.de
Cc: Roland Hieber <rhi@pengutronix.de>
Subject: [ptxdist] [PATCH 1/2] ptxdist: introduce the "clean target" subcommand
Date: Fri, 17 May 2019 12:12:33 +0200	[thread overview]
Message-ID: <20190517101234.10445-1-rohieb@rohieb.name> (raw)

From: Roland Hieber <rhi@pengutronix.de>

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 bin/ptxdist           | 17 +++++++++++++++++
 doc/ref_parameter.inc |  6 ++++++
 2 files changed, 23 insertions(+)

diff --git a/bin/ptxdist b/bin/ptxdist
index f52a668d3..a7be5cb3e 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -963,6 +963,7 @@ Clean Actions:
 
   clean				cleanup build-host and build-cross dirs
   clean root			cleanup root directory for target
+  clean target			cleanup all target packages
   distclean			cleanup everything
 
 Misc:
@@ -1059,6 +1060,22 @@ clean() {
 		return
 	fi
 
+	# we want to clean all target packages
+	if [ "${1}" = "target" ]; then
+		if [ ! -n "${PTXDIST_FORCE}${PTXDIST_QUIET}${PTXCONF_SETUP_DIRECT_CLEAN}" ]; then
+			read -e -p "really clean all target packages? [y/N] " r
+			case "${r}" in
+				y|Y) ;;
+				*) exit 1 ;;
+			esac
+		fi
+		check_premake_compiler &&
+		pkgs=($(ptxd_make "/print-PACKAGES /print-EXTRA_PACKAGES /print-LAZY_PACKAGES")) &&
+		ptxd_make_log "${pkgs[@]/%/_clean}" &&
+		clean root
+		return
+	fi
+
 	# we want to clean a single package
 	if [ -n "${1}" ]; then
 		check_if_selected "${@}" &&
diff --git a/doc/ref_parameter.inc b/doc/ref_parameter.inc
index 0b11563c9..4aecb0471 100644
--- a/doc/ref_parameter.inc
+++ b/doc/ref_parameter.inc
@@ -162,6 +162,12 @@ Clean Actions
   The ``clean root`` and ``go`` action is useful if the
   *targetinstall* stage for all packages should run again.
 
+``clean target``
+  this action will call the ``clean`` action for each target package,
+  and also clean the root file system afterwards.
+  This can be useful if you want to rebuild the target file system from
+  scratch, without throwing away the already built host and cross packages.
+
 ``clean <package>``
   this action will only clean the dedicated
   <package>. It will remove its build directory and all installed files
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

             reply	other threads:[~2019-05-17 10:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-17 10:12 Roland Hieber [this message]
2019-05-17 10:12 ` [ptxdist] [PATCH 2/2] ptxdist: clean root should clean all image packages too Roland Hieber
2019-05-17 14:47 ` [ptxdist] [PATCH 1/2] ptxdist: introduce the "clean target" subcommand Michael Olbrich

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=20190517101234.10445-1-rohieb@rohieb.name \
    --to=rohieb@rohieb.name \
    --cc=ptxdist@pengutronix.de \
    --cc=rhi@pengutronix.de \
    /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