mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] barebox: add option to specify barebox image patterns
@ 2020-06-15 22:56 Marco Felsch
  2020-06-16  8:02 ` Roland Hieber
  2020-06-19  6:05 ` Michael Olbrich
  0 siblings, 2 replies; 9+ messages in thread
From: Marco Felsch @ 2020-06-15 22:56 UTC (permalink / raw)
  To: ptxdist

Allow users to specify other barebox image naming schemes. Now users can
specify a list of:
 - unique image names and/or
 - matching name patterns using wildcards.

While on it I fixed the leaking image-results upon a 'ptxdist clean
barebox' command. Now all barebox artefacts are removed from the
$(IMAGEDIR).

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
 platforms/barebox.in |  9 +++++++++
 rules/barebox.make   | 19 +++++++++++++------
 2 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/platforms/barebox.in b/platforms/barebox.in
index 526d7ede4..b92cf485e 100644
--- a/platforms/barebox.in
+++ b/platforms/barebox.in
@@ -39,6 +39,15 @@ config BAREBOX_CONFIG
 	  This entry specifies the .config file used to compile
 	  barebox.
 
+config BAREBOX_IMAGES
+	prompt "barebox images to install"
+	string
+	default "barebox-*.img"
+	help
+	  A comma seperated list of images which should be installed
+	  into the $(IMAGEDIR). The list can contain full image names
+	  and/or wildcard pattern image names.
+
 config BAREBOX_EXTRA_ENV
 	prompt "extend the builtin barebox environment"
 	bool
diff --git a/rules/barebox.make b/rules/barebox.make
index d1b5fc598..65bb8251e 100644
--- a/rules/barebox.make
+++ b/rules/barebox.make
@@ -148,6 +148,9 @@ $(STATEDIR)/barebox.install:
 # Target-Install
 # ----------------------------------------------------------------------------
 
+BAREBOX_IMAGES_DIR := $(BAREBOX_BUILD_DIR)/images
+BAREBOX_IMAGES := $(strip $(subst $(ptx/def/comma),$(ptx/def/space),$(call remove_quotes, $(PTXCONF_BAREBOX_IMAGES))))
+
 $(STATEDIR)/barebox.targetinstall:
 	@$(call targetinfo)
 
@@ -166,14 +169,15 @@ ifneq ($(strip $(BAREBOX_PROGS_TARGET_y)),)
 endif
 
 	@rm -f $(IMAGEDIR)/barebox-image
-	@if [ -d $(BAREBOX_BUILD_DIR)/images ]; then \
-		find $(BAREBOX_BUILD_DIR)/images/ -name "barebox-*.img" | sort | while read image; do \
-			install -D -m644 $$image $(IMAGEDIR)/`basename $$image`; \
+	@$(foreach _image, $(BAREBOX_IMAGES), \
+		$(foreach image, $(wildcard $(BAREBOX_IMAGES_DIR)/$(_image)), \
+			install -D -m644 $(image) $(IMAGEDIR)/$(notdir $(image)); \
 			if [ ! -e $(IMAGEDIR)/barebox-image ]; then \
-				ln -sf `basename $$image` $(IMAGEDIR)/barebox-image; \
+				ln -sf $(notdir $(image)) $(IMAGEDIR)/barebox-image; \
 			fi; \
-		done; \
-	fi
+		) \
+	)
+
 	@if [ -e $(IMAGEDIR)/barebox-image ]; then \
 		:; \
 	elif [ -e $(BAREBOX_BUILD_DIR)/barebox-flash-image ]; then \
@@ -199,6 +203,9 @@ $(STATEDIR)/barebox.clean:
 	@$(call clean_pkg, BAREBOX)
 	@$(foreach prog, $(BAREBOX_PROGS_HOST), \
 		rm -vf $(PTXDIST_SYSROOT_HOST)/bin/$(notdir $(prog))$(ptx/nl))
+	@$(foreach _image, $(BAREBOX_IMAGES), \
+		$(foreach image, $(wildcard $(IMAGEDIR)/$(_image)), \
+			rm -vf $(image);))
 	@rm -vf $(IMAGEDIR)/barebox-image $(IMAGEDIR)/barebox-default-environment
 
 # ----------------------------------------------------------------------------
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-06-19  7:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-15 22:56 [ptxdist] [PATCH] barebox: add option to specify barebox image patterns Marco Felsch
2020-06-16  8:02 ` Roland Hieber
2020-06-16  8:20   ` Roland Hieber
2020-06-16  8:34   ` Bastian Krause
2020-06-16  9:07     ` Roland Hieber
2020-06-16 13:30     ` Marco Felsch
2020-06-16 15:37       ` Roland Hieber
2020-06-19  6:05 ` Michael Olbrich
2020-06-19  7:14   ` Marco Felsch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox