From: Roland Hieber <rhi@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Roland Hieber <rhi@pengutronix.de>
Subject: [ptxdist] [PATCH v2 1/2] ptxdist: introduce the "clean target" subcommand
Date: Mon, 20 May 2019 11:26:04 +0200 [thread overview]
Message-ID: <20190520092605.19300-1-rhi@pengutronix.de> (raw)
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
v1 -> v2:
* set $cleanroot instead of calling "clean root" recursively
bin/ptxdist | 18 +++++++++++++++++-
doc/ref_parameter.inc | 6 ++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/bin/ptxdist b/bin/ptxdist
index 03d6a37ffbba..57c094b33cd8 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -967,6 +967,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:
@@ -1041,8 +1042,23 @@ EOF
clean() {
local dir bdir
+ # 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}"
+ local cleanroot=1
+ fi
+
# we want to clean the root dir
- if [ "${1}" = "root" ]; then
+ if [ "${1}" = "root" -o -n "$cleanroot" ]; then
echo
echo "${PTXDIST_LOG_PROMPT}cleaning image directory..."
rm -fr -- "${IMAGEDIR}"
diff --git a/doc/ref_parameter.inc b/doc/ref_parameter.inc
index 0b11563c9ffd..4aecb04713d7 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
next reply other threads:[~2019-05-20 9:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-20 9:26 Roland Hieber [this message]
2019-05-20 9:26 ` [ptxdist] [PATCH v2 2/2] ptxdist: clean root should clean all image packages too Roland Hieber
2019-05-22 10:18 ` [ptxdist] [PATCH v3 1/2] ptxdist: introduce the "clean target" subcommand Roland Hieber
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=20190520092605.19300-1-rhi@pengutronix.de \
--to=rhi@pengutronix.de \
--cc=ptxdist@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