Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 1/7] barebox: support multi-image-build image selection
Date: Sat, 2 Apr 2016 17:31:45 +0200	[thread overview]
Message-ID: <20160402173145.656f9814@free-electrons.com> (raw)
In-Reply-To: <1458513351-6556-2-git-send-email-pieter@boesman.nl>

Hello,

First of all, thanks a lot for keeping up the work on this topic!

On Sun, 20 Mar 2016 23:35:45 +0100, Pieter Smith wrote:

>  define BAREBOX_INSTALL_IMAGES_CMDS
> -	if test -h $(@D)/barebox-flash-image ; then \
> -		cp -L $(@D)/barebox-flash-image $(BINARIES_DIR)/barebox.bin ; \
> +	if test -e $(@D)/$(call qstrip,$(BR2_TARGET_BAREBOX_BUILT_IMAGE_FILE)); then \
> +		cp -L $(@D)/$(call qstrip,$(BR2_TARGET_BAREBOX_BUILT_IMAGE_FILE)) $(BINARIES_DIR)/barebox.bin ; \
>  	else \
> -		cp $(@D)/barebox.bin $(BINARIES_DIR);\
> +		cp $(@D)/images/$(call qstrip,$(BR2_TARGET_BAREBOX_BUILT_IMAGE_FILE)) $(BINARIES_DIR)/barebox.bin ; \
>  	fi
>  	$(BAREBOX_INSTALL_CUSTOM_ENV)

I think I don't like two things here:

 1/ That it potentially breaks existing configurations, where
    barebox.bin was used.

 2/ That is automatically searches in images/, which this could be made
    explicit rather than implicit.

So, what about changing this to:

 1/ Have an option that defaults to empty, and if it's empty, preserves
    the current behavior.

 2/ Change the code in the .mk file to do:

BAREBOX_IMAGE_FILE = $(call qstrip,$(BR2_TARGET_BAREBOX_BUILT_IMAGE_FILE)

ifeq ($(BAREBOX_IMAGE_FILE),)
define BARBEOX_INSTALL_IMAGE
	# old code here, using barebox-flash-image, falling back to barebox.bin
endef
else
define BAREBOX_INSTALL_IMAGE
	# install BAREBOX_IMAGE_FILE
endef
endif

and that's it?

Alternatively, you could do that with shell conditionals only, testing
is BAREBOX_IMAGE_FILE is empty or not. This may be even easier to read:

	if test -n $(BAREBOX_IMAGE) ; then
		install $(BAREBOX_IMAGE)
	elif test -h $(@D)/barebox-flash-image ; then
		cp -L $(@D)/barebox-flash-image ...
	else
		cp $(@D)/barebox.bin ...
	fi

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  parent reply	other threads:[~2016-04-02 15:31 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-20 22:35 [Buildroot] [PATCH v4 0/7] Support building a second Barebox config (incl. BBB) Pieter Smith
2016-03-20 22:35 ` [Buildroot] [PATCH v4 1/7] barebox: support multi-image-build image selection Pieter Smith
2016-03-31  5:44   ` Yegor Yefremov
2016-04-06 20:28     ` Pieter Smith
2016-04-02 15:31   ` Thomas Petazzoni [this message]
2016-04-04 22:08     ` Arnout Vandecappelle
2016-04-04 22:16   ` Arnout Vandecappelle
2016-03-20 22:35 ` [Buildroot] [PATCH v4 2/7] barebox: friendly error on missing built image Pieter Smith
2016-03-31  6:01   ` Yegor Yefremov
2016-03-20 22:35 ` [Buildroot] [PATCH v4 3/7] barebox: support custom barebox output image name Pieter Smith
2016-03-31  6:03   ` Yegor Yefremov
2016-04-04 22:31   ` Arnout Vandecappelle
2016-04-04 23:20   ` Arnout Vandecappelle
2016-04-06 14:53     ` Thomas Petazzoni
2016-04-06 20:14     ` Pieter Smith
2016-04-06 23:06       ` Arnout Vandecappelle
2016-04-08  7:51         ` Pieter Smith
2016-03-20 22:35 ` [Buildroot] [PATCH v4 4/7] barebox: introduce barebox-package function Pieter Smith
2016-03-31  6:12   ` Yegor Yefremov
2016-04-04 22:59   ` Arnout Vandecappelle
2016-04-04 23:23   ` Arnout Vandecappelle
2016-04-06 20:26     ` Pieter Smith
2016-03-20 22:35 ` [Buildroot] [PATCH v4 5/7] barebox: extract package name argument Pieter Smith
2016-03-31  6:16   ` Yegor Yefremov
2016-04-04 23:01   ` Arnout Vandecappelle
2016-03-20 22:35 ` [Buildroot] [PATCH v4 6/7] barebox: support 2nd config build Pieter Smith
2016-03-31  6:17   ` Yegor Yefremov
2016-04-04 23:25   ` Arnout Vandecappelle
2016-04-24  7:53     ` Pieter Smith
2016-03-20 22:35 ` [Buildroot] [PATCH v4 7/7] beaglebone: adds barebox bootloader defconfig Pieter Smith
2016-03-31  6:21   ` Yegor Yefremov
2016-04-04 23:37   ` Arnout Vandecappelle
2016-04-19 20:26     ` Pieter Smith
2016-04-19 22:13       ` Arnout Vandecappelle
2016-04-23 11:39         ` Pieter Smith
2016-03-21 11:38 ` [Buildroot] [PATCH v4 0/7] Support building a second Barebox config (incl. BBB) Yegor Yefremov
2016-03-21 11:56   ` Pieter Smith
2016-04-19 19:24 ` Thomas Petazzoni
2016-04-19 20:17   ` Pieter Smith
2016-04-20 14:42     ` Yegor Yefremov
2016-04-20 16:42       ` Pieter Smith
2016-04-21 10:55         ` Yegor Yefremov
2016-04-21 11:29           ` Thomas Petazzoni
2016-04-23 13:01             ` Pieter Smith
2016-04-23 13:11               ` Thomas Petazzoni
2016-04-23 14:35                 ` Pieter Smith
2016-04-23 14:50                   ` Thomas Petazzoni
2016-04-23 16:18                     ` Pieter Smith
2016-04-23 19:26                       ` Thomas Petazzoni
2016-04-24  8:04                         ` Pieter Smith
2016-04-24  8:16                           ` Thomas Petazzoni
2016-04-24  8:32                             ` Pieter Smith
2016-04-24  8:47                               ` Thomas Petazzoni
2016-04-24  8:50                                 ` Pieter Smith
2016-04-24  8:47                               ` Pieter Smith
2016-04-24 19:18             ` Peter Korsgaard
2016-04-24 21:26               ` Pieter Smith
2016-04-23 13:05           ` Pieter Smith

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=20160402173145.656f9814@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /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