* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources @ 2014-01-26 0:35 Maxime Hadjinlian 2014-01-26 15:59 ` Luca Ceresoli 2014-01-27 17:45 ` Arnout Vandecappelle 0 siblings, 2 replies; 12+ messages in thread From: Maxime Hadjinlian @ 2014-01-26 0:35 UTC (permalink / raw) To: buildroot If the user has specified a custom U-Boot repository, he may also want to use it for U-Boot tools. This could be usefull in two identified use case: - User want the same version for U-Boot tools and U-Boot - User has modified U-Boot tools in his U-Boot repository Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/uboot-tools/Config.in | 10 ++++++++++ package/uboot-tools/uboot-tools.mk | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in index 7c8f17c..3742b0e 100644 --- a/package/uboot-tools/Config.in +++ b/package/uboot-tools/Config.in @@ -7,6 +7,16 @@ config BR2_PACKAGE_UBOOT_TOOLS if BR2_PACKAGE_UBOOT_TOOLS +if BR2_TARGET_UBOOT + +config BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE + bool "Use the same repository as U-Boot ?" + help + Select this to use the same repository specified for U-Boot. Otherwise, + the upstream sources will be used. + +endif + config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE bool "mkimage" help diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index 398ce8b..367d067 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -10,6 +10,15 @@ UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPLv2+ UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) + UBOOT_TOOLS_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) + UBOOT_TOOLS_SOURCE = $(UBOOT_SOURCE) + UBOOT_TOOLS_SITE = $(UBOOT_SITE) +ifeq ($(UBOOT_SITE_METHOD),) + UBOOT_TOOL_SITE_METHOD = $(UBOOT_SITE_METHOD) +endif +endif + define UBOOT_TOOLS_BUILD_CMDS $(MAKE) -C $(@D) \ HOSTCC="$(TARGET_CC)" \ -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-26 0:35 [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources Maxime Hadjinlian @ 2014-01-26 15:59 ` Luca Ceresoli 2014-01-26 16:31 ` Maxime Hadjinlian 2014-01-27 17:45 ` Arnout Vandecappelle 1 sibling, 1 reply; 12+ messages in thread From: Luca Ceresoli @ 2014-01-26 15:59 UTC (permalink / raw) To: buildroot Hi Maxime, Maxime Hadjinlian wrote: > If the user has specified a custom U-Boot repository, he may also want > to use it for U-Boot tools. > > This could be usefull in two identified use case: > - User want the same version for U-Boot tools and U-Boot > - User has modified U-Boot tools in his U-Boot repository > > Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> I ACK the idea, but there are a few changes I would make to your patch, see below. > --- > package/uboot-tools/Config.in | 10 ++++++++++ > package/uboot-tools/uboot-tools.mk | 9 +++++++++ > 2 files changed, 19 insertions(+) > > diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in > index 7c8f17c..3742b0e 100644 > --- a/package/uboot-tools/Config.in > +++ b/package/uboot-tools/Config.in > @@ -7,6 +7,16 @@ config BR2_PACKAGE_UBOOT_TOOLS > > if BR2_PACKAGE_UBOOT_TOOLS > > +if BR2_TARGET_UBOOT > + > +config BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE > + bool "Use the same repository as U-Boot ?" We don't usually have question marks in option names. > + help > + Select this to use the same repository specified for U-Boot. Otherwise, > + the upstream sources will be used. Just nitpicking, but IMO the newcomer might find it confusing: we are always downloading U-Boot sources, so what does this option change? I would replace "specified for U-Boot" with "specified for the uboot package". This makes it more clear that you refer to the "uboot" package in Buildroot. This is just a clarification, there is nothing wrong in your wording. > + > +endif > + > config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE > bool "mkimage" > help > diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk > index 398ce8b..367d067 100644 > --- a/package/uboot-tools/uboot-tools.mk > +++ b/package/uboot-tools/uboot-tools.mk > @@ -10,6 +10,15 @@ UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot > UBOOT_TOOLS_LICENSE = GPLv2+ > UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt > > +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) > + UBOOT_TOOLS_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) > + UBOOT_TOOLS_SOURCE = $(UBOOT_SOURCE) > + UBOOT_TOOLS_SITE = $(UBOOT_SITE) You are overriding the previously-defined options. I find an if/then/else construct much cleaner: ifneq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) ...use upstream sources... (current code) else ...use sources for the uboot package... endif > +ifeq ($(UBOOT_SITE_METHOD),) This should be an ifneq, not ifeq. > + UBOOT_TOOL_SITE_METHOD = $(UBOOT_SITE_METHOD) > +endif > +endif > + > define UBOOT_TOOLS_BUILD_CMDS > $(MAKE) -C $(@D) \ > HOSTCC="$(TARGET_CC)" \ > -- Luca ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-26 15:59 ` Luca Ceresoli @ 2014-01-26 16:31 ` Maxime Hadjinlian 2014-01-26 21:43 ` Luca Ceresoli 0 siblings, 1 reply; 12+ messages in thread From: Maxime Hadjinlian @ 2014-01-26 16:31 UTC (permalink / raw) To: buildroot On Sun, Jan 26, 2014 at 4:59 PM, Luca Ceresoli <luca@lucaceresoli.net> wrote: > Hi Maxime, Hi Luca > > > Maxime Hadjinlian wrote: >> >> If the user has specified a custom U-Boot repository, he may also want >> to use it for U-Boot tools. >> >> This could be usefull in two identified use case: >> - User want the same version for U-Boot tools and U-Boot >> - User has modified U-Boot tools in his U-Boot repository >> >> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> > > > I ACK the idea, but there are a few changes I would make to your patch, > see below. > > >> --- >> package/uboot-tools/Config.in | 10 ++++++++++ >> package/uboot-tools/uboot-tools.mk | 9 +++++++++ >> 2 files changed, 19 insertions(+) >> >> diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in >> index 7c8f17c..3742b0e 100644 >> --- a/package/uboot-tools/Config.in >> +++ b/package/uboot-tools/Config.in >> @@ -7,6 +7,16 @@ config BR2_PACKAGE_UBOOT_TOOLS >> >> if BR2_PACKAGE_UBOOT_TOOLS >> >> +if BR2_TARGET_UBOOT >> + >> +config BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE >> + bool "Use the same repository as U-Boot ?" > > > We don't usually have question marks in option names. > > >> + help >> + Select this to use the same repository specified for U-Boot. >> Otherwise, >> + the upstream sources will be used. > > > Just nitpicking, but IMO the newcomer might find it confusing: we are > always downloading U-Boot sources, so what does this option change? > > I would replace "specified for U-Boot" with "specified for the uboot > package". This makes it more clear that you refer to the "uboot" > package in Buildroot. > > This is just a clarification, there is nothing wrong in your wording. > I'm ok with this change. I am not really good in English, so I have a hard time finding good formulation. > >> + >> +endif >> + >> config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE >> bool "mkimage" >> help >> diff --git a/package/uboot-tools/uboot-tools.mk >> b/package/uboot-tools/uboot-tools.mk >> index 398ce8b..367d067 100644 >> --- a/package/uboot-tools/uboot-tools.mk >> +++ b/package/uboot-tools/uboot-tools.mk >> @@ -10,6 +10,15 @@ UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot >> UBOOT_TOOLS_LICENSE = GPLv2+ >> UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt >> >> +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) >> + UBOOT_TOOLS_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) >> + UBOOT_TOOLS_SOURCE = $(UBOOT_SOURCE) >> + UBOOT_TOOLS_SITE = $(UBOOT_SITE) > > > You are overriding the previously-defined options. I find an > if/then/else construct much cleaner: > > ifneq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) > ...use upstream sources... (current code) > else > ...use sources for the uboot package... > endif > I'd like to have a few more opinions on that, after seeing the code in the form if/then/else, I find it awkward as it would be (as far as I know) the only package, where you don't find the SOURCE/SITE variable defined at the top of the file. So I am not sure about this. >> +ifeq ($(UBOOT_SITE_METHOD),) > > > This should be an ifneq, not ifeq. Thanks ! > > >> + UBOOT_TOOL_SITE_METHOD = $(UBOOT_SITE_METHOD) >> +endif >> +endif >> + >> define UBOOT_TOOLS_BUILD_CMDS >> $(MAKE) -C $(@D) \ >> HOSTCC="$(TARGET_CC)" \ >> > > > -- > Luca ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-26 16:31 ` Maxime Hadjinlian @ 2014-01-26 21:43 ` Luca Ceresoli 2014-01-27 17:34 ` Arnout Vandecappelle 0 siblings, 1 reply; 12+ messages in thread From: Luca Ceresoli @ 2014-01-26 21:43 UTC (permalink / raw) To: buildroot Hi Maxime, Maxime Hadjinlian wrote: > On Sun, Jan 26, 2014 at 4:59 PM, Luca Ceresoli <luca@lucaceresoli.net> wrote: >> Hi Maxime, > Hi Luca >> >> >> Maxime Hadjinlian wrote: >>> >>> If the user has specified a custom U-Boot repository, he may also want >>> to use it for U-Boot tools. >>> >>> This could be usefull in two identified use case: >>> - User want the same version for U-Boot tools and U-Boot >>> - User has modified U-Boot tools in his U-Boot repository >>> >>> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> >> >> >> I ACK the idea, but there are a few changes I would make to your patch, >> see below. ... >>> b/package/uboot-tools/uboot-tools.mk >>> index 398ce8b..367d067 100644 >>> --- a/package/uboot-tools/uboot-tools.mk >>> +++ b/package/uboot-tools/uboot-tools.mk >>> @@ -10,6 +10,15 @@ UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot >>> UBOOT_TOOLS_LICENSE = GPLv2+ >>> UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt >>> >>> +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) >>> + UBOOT_TOOLS_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) >>> + UBOOT_TOOLS_SOURCE = $(UBOOT_SOURCE) >>> + UBOOT_TOOLS_SITE = $(UBOOT_SITE) >> >> >> You are overriding the previously-defined options. I find an >> if/then/else construct much cleaner: >> >> ifneq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) >> ...use upstream sources... (current code) >> else >> ...use sources for the uboot package... >> endif >> > I'd like to have a few more opinions on that, after seeing the code in > the form if/then/else, I find it awkward as it would be (as far as I > know) the only package, where you don't find the SOURCE/SITE variable > defined at the top of the file. > So I am not sure about this. Very few packages define their SOURCE/SITE variables conditionally: linux, boot/ubot, boot/barebox, maybe a few more. These all are key components for every embedded Linux system and are often used in a modified form on real products, so they deserve this additional flexibility. All of them have an ifeq / else ifeq / [else ifeq /...] else / endif construct in their .mk files to handle the various possibilities. I suggest you take one of them as an example. Going a step ahead, to be more uniform with these packages, you may use a choice construct to allow choosing between two alternatives. Example (modified version of the code in barebox.mk): choice prompt "version" help Select the specific uboot-tools version you want to use config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION bool "Use a recent upstream version" config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION bool "Use the same sources of the uboot package" endchoice This has the advantage that adding a third possibility would be simply a matter of adding another choice, without having to rework the whole thing and having to take care of backward compatibility. But this may be overengineering for the relatively simple uboot-tools package. -- Luca ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-26 21:43 ` Luca Ceresoli @ 2014-01-27 17:34 ` Arnout Vandecappelle 2014-01-27 22:26 ` Luca Ceresoli 2014-01-28 6:02 ` Thomas De Schampheleire 0 siblings, 2 replies; 12+ messages in thread From: Arnout Vandecappelle @ 2014-01-27 17:34 UTC (permalink / raw) To: buildroot On 26/01/14 22:43, Luca Ceresoli wrote: > Going a step ahead, to be more uniform with these packages, you may use > a choice construct to allow choosing between two alternatives. > Example (modified version of the code in barebox.mk): > > choice > prompt "version" > help > Select the specific uboot-tools version you want to use > > config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION > bool "Use a recent upstream version" > > config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION > bool "Use the same sources of the uboot package" > > endchoice Actually, I don't even see the need to ask the user anything. If we are building U-Boot, I don't see why we would ever want to use the U-Boot tools from upstream - that just adds a risk of incompatibility between the two. So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE option, and instead make it conditional on BR2_TARGET_UBOOT. Regards, Arnout -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-27 17:34 ` Arnout Vandecappelle @ 2014-01-27 22:26 ` Luca Ceresoli 2014-01-28 6:02 ` Thomas De Schampheleire 1 sibling, 0 replies; 12+ messages in thread From: Luca Ceresoli @ 2014-01-27 22:26 UTC (permalink / raw) To: buildroot Hi Arnout, Arnout Vandecappelle wrote: > On 26/01/14 22:43, Luca Ceresoli wrote: >> Going a step ahead, to be more uniform with these packages, you may use >> a choice construct to allow choosing between two alternatives. >> Example (modified version of the code in barebox.mk): >> >> choice >> prompt "version" >> help >> Select the specific uboot-tools version you want to use >> >> config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION >> bool "Use a recent upstream version" >> >> config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION >> bool "Use the same sources of the uboot package" >> >> endchoice > > Actually, I don't even see the need to ask the user anything. If we > are building U-Boot, I don't see why we would ever want to use the > U-Boot tools from upstream - that just adds a risk of incompatibility > between the two. Smart observation. I can provide no counterexample. In all my use cases it would be either better or equivalent than the current behavior. > > So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE > option, and instead make it conditional on BR2_TARGET_UBOOT. That would be fine for me, but how about backward compatibility? This would potentially break some existing projects, so it should appear in the Legacy menu, I guess. -- Luca ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-27 17:34 ` Arnout Vandecappelle 2014-01-27 22:26 ` Luca Ceresoli @ 2014-01-28 6:02 ` Thomas De Schampheleire 2014-01-28 8:17 ` Maxime Hadjinlian ` (3 more replies) 1 sibling, 4 replies; 12+ messages in thread From: Thomas De Schampheleire @ 2014-01-28 6:02 UTC (permalink / raw) To: buildroot Hi Arnout, Op 27-jan.-2014 22:28 schreef "Arnout Vandecappelle" <arnout@mind.be>: > > On 26/01/14 22:43, Luca Ceresoli wrote: >> >> Going a step ahead, to be more uniform with these packages, you may use >> a choice construct to allow choosing between two alternatives. >> Example (modified version of the code in barebox.mk): >> >> choice >> prompt "version" >> help >> Select the specific uboot-tools version you want to use >> >> config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION >> bool "Use a recent upstream version" >> >> config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION >> bool "Use the same sources of the uboot package" >> >> endchoice > > > Actually, I don't even see the need to ask the user anything. If we are building U-Boot, I don't see why we would ever want to use the U-Boot tools from upstream - that just adds a risk of incompatibility between the two. > > So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE option, and instead make it conditional on BR2_TARGET_UBOOT. I don't agree here. Real life example: we are using vendor-provided uboot, and want to set an env-image in our flash devices' factory image. While this version of uboot clearly supports handling the env at a specified location, it does not (yet) provide the mkenvimage tool. In this case, we actually want a more recent uboot tools package that does have mkenvimage. My conclusion is thus that we should provide the choice. Best regards, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140128/335d2afb/attachment.html> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-28 6:02 ` Thomas De Schampheleire @ 2014-01-28 8:17 ` Maxime Hadjinlian 2014-01-28 10:55 ` Luca Ceresoli ` (2 subsequent siblings) 3 siblings, 0 replies; 12+ messages in thread From: Maxime Hadjinlian @ 2014-01-28 8:17 UTC (permalink / raw) To: buildroot Hi all, On Tue, Jan 28, 2014 at 7:02 AM, Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote: > Hi Arnout, > > Op 27-jan.-2014 22:28 schreef "Arnout Vandecappelle" <arnout@mind.be>: > > >> >> On 26/01/14 22:43, Luca Ceresoli wrote: >>> >>> Going a step ahead, to be more uniform with these packages, you may use >>> a choice construct to allow choosing between two alternatives. >>> Example (modified version of the code in barebox.mk): >>> >>> choice >>> prompt "version" >>> help >>> Select the specific uboot-tools version you want to use >>> >>> config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION >>> bool "Use a recent upstream version" >>> >>> config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION >>> bool "Use the same sources of the uboot package" >>> >>> endchoice >> >> >> Actually, I don't even see the need to ask the user anything. If we are >> building U-Boot, I don't see why we would ever want to use the U-Boot tools >> from upstream - that just adds a risk of incompatibility between the two. >> >> So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE >> option, and instead make it conditional on BR2_TARGET_UBOOT. > > I don't agree here. Real life example: we are using vendor-provided uboot, > and want to set an env-image in our flash devices' factory image. While this > version of uboot clearly supports handling the env at a specified location, > it does not (yet) provide the mkenvimage tool. > In this case, we actually want a more recent uboot tools package that does > have mkenvimage. My conclusion is thus that we should provide the choice. > I agree with Thomas here, as this has already happen to me too. I think the user's choice is the best option we could offer. I will do more testing regarding the different type of version one can use for u-boot. And as you said, Arnout, the order of inclusions, was the reason behind the uses of BR2_TARGET_UBOOT_VERSION. I will test and resend with Luca's proposition to make the whole UBOOT_TOOLS_SOURCE part of an if/then/else structure. > Best regards, > Thomas ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-28 6:02 ` Thomas De Schampheleire 2014-01-28 8:17 ` Maxime Hadjinlian @ 2014-01-28 10:55 ` Luca Ceresoli 2014-01-28 16:58 ` Arnout Vandecappelle 2014-01-28 22:10 ` Thomas Petazzoni 3 siblings, 0 replies; 12+ messages in thread From: Luca Ceresoli @ 2014-01-28 10:55 UTC (permalink / raw) To: buildroot Hi Thomas, Thomas De Schampheleire wrote: > Hi Arnout, > > Op 27-jan.-2014 22:28 schreef "Arnout Vandecappelle" <arnout@mind.be > <mailto:arnout@mind.be>>: > > > > On 26/01/14 22:43, Luca Ceresoli wrote: > >> > >> Going a step ahead, to be more uniform with these packages, you may use > >> a choice construct to allow choosing between two alternatives. > >> Example (modified version of the code in barebox.mk > <http://barebox.mk>): > >> > >> choice > >> prompt "version" > >> help > >> Select the specific uboot-tools version you want to use > >> > >> config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION > >> bool "Use a recent upstream version" > >> > >> config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION > >> bool "Use the same sources of the uboot package" > >> > >> endchoice > > > > > > Actually, I don't even see the need to ask the user anything. If we > are building U-Boot, I don't see why we would ever want to use the > U-Boot tools from upstream - that just adds a risk of incompatibility > between the two. > > > > So I would propose to remove the > BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE option, and instead make it > conditional on BR2_TARGET_UBOOT. > > I don't agree here. Real life example: we are using vendor-provided > uboot, and want to set an env-image in our flash devices' factory image. > While this version of uboot clearly supports handling the env at a > specified location, it does not (yet) provide the mkenvimage tool. > In this case, we actually want a more recent uboot tools package that > does have mkenvimage. My conclusion is thus that we should provide the > choice. And here's the counterexample! So, yes, I agree we should provide a choice. -- Luca ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-28 6:02 ` Thomas De Schampheleire 2014-01-28 8:17 ` Maxime Hadjinlian 2014-01-28 10:55 ` Luca Ceresoli @ 2014-01-28 16:58 ` Arnout Vandecappelle 2014-01-28 22:10 ` Thomas Petazzoni 3 siblings, 0 replies; 12+ messages in thread From: Arnout Vandecappelle @ 2014-01-28 16:58 UTC (permalink / raw) To: buildroot On 28/01/14 07:02, Thomas De Schampheleire wrote: > Hi Arnout, > > Op 27-jan.-2014 22:28 schreef "Arnout Vandecappelle" <arnout@mind.be > <mailto:arnout@mind.be>>: > > > > On 26/01/14 22:43, Luca Ceresoli wrote: > >> > >> Going a step ahead, to be more uniform with these packages, you may use > >> a choice construct to allow choosing between two alternatives. > >> Example (modified version of the code in barebox.mk <http://barebox.mk>): > >> > >> choice > >> prompt "version" > >> help > >> Select the specific uboot-tools version you want to use > >> > >> config BR2_PACKAGE_UBOOT_TOOLS_LATEST_VERSION > >> bool "Use a recent upstream version" > >> > >> config BR2_PACKAGE_UBOOT_TOOLS_USE_UBOOT_VERSION > >> bool "Use the same sources of the uboot package" > >> > >> endchoice > > > > > > Actually, I don't even see the need to ask the user anything. If we > are building U-Boot, I don't see why we would ever want to use the U-Boot > tools from upstream - that just adds a risk of incompatibility between > the two. > > > > So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE > option, and instead make it conditional on BR2_TARGET_UBOOT. > > I don't agree here. Real life example: we are using vendor-provided > uboot, and want to set an env-image in our flash devices' factory image. > While this version of uboot clearly supports handling the env at a > specified location, it does not (yet) provide the mkenvimage tool. > In this case, we actually want a more recent uboot tools package that > does have mkenvimage. My conclusion is thus that we should provide the > choice. OK. In that case, I prefer the choice over the bare option. Note that Kconfig doesn't support help text on the choice itself, only on the config entries. Also the default (_LATEST_VERSION) should be selected explicitly. Regards, Arnout -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-28 6:02 ` Thomas De Schampheleire ` (2 preceding siblings ...) 2014-01-28 16:58 ` Arnout Vandecappelle @ 2014-01-28 22:10 ` Thomas Petazzoni 3 siblings, 0 replies; 12+ messages in thread From: Thomas Petazzoni @ 2014-01-28 22:10 UTC (permalink / raw) To: buildroot Dear Thomas De Schampheleire, On Tue, 28 Jan 2014 07:02:56 +0100, Thomas De Schampheleire wrote: > > Actually, I don't even see the need to ask the user anything. If we are > building U-Boot, I don't see why we would ever want to use the U-Boot tools > from upstream - that just adds a risk of incompatibility between the two. > > > > So I would propose to remove the BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE > option, and instead make it conditional on BR2_TARGET_UBOOT. > > I don't agree here. Real life example: we are using vendor-provided uboot, > and want to set an env-image in our flash devices' factory image. While > this version of uboot clearly supports handling the env at a specified > location, it does not (yet) provide the mkenvimage tool. > In this case, we actually want a more recent uboot tools package that does > have mkenvimage. My conclusion is thus that we should provide the choice. Then maybe you should just patch your vendor U-Boot to add mkenvimage, and that's it? :-) Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources 2014-01-26 0:35 [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources Maxime Hadjinlian 2014-01-26 15:59 ` Luca Ceresoli @ 2014-01-27 17:45 ` Arnout Vandecappelle 1 sibling, 0 replies; 12+ messages in thread From: Arnout Vandecappelle @ 2014-01-27 17:45 UTC (permalink / raw) To: buildroot On 26/01/14 01:35, Maxime Hadjinlian wrote: > If the user has specified a custom U-Boot repository, he may also want > to use it for U-Boot tools. > > This could be usefull in two identified use case: > - User want the same version for U-Boot tools and U-Boot > - User has modified U-Boot tools in his U-Boot repository > > Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> > --- > package/uboot-tools/Config.in | 10 ++++++++++ > package/uboot-tools/uboot-tools.mk | 9 +++++++++ > 2 files changed, 19 insertions(+) > > diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in > index 7c8f17c..3742b0e 100644 > --- a/package/uboot-tools/Config.in > +++ b/package/uboot-tools/Config.in > @@ -7,6 +7,16 @@ config BR2_PACKAGE_UBOOT_TOOLS > > if BR2_PACKAGE_UBOOT_TOOLS > > +if BR2_TARGET_UBOOT > + > +config BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE > + bool "Use the same repository as U-Boot ?" > + help > + Select this to use the same repository specified for U-Boot. Otherwise, > + the upstream sources will be used. As I explain in a separate mail, I think this option is unnecessary. > + > +endif > + > config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE > bool "mkimage" > help > diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk > index 398ce8b..367d067 100644 > --- a/package/uboot-tools/uboot-tools.mk > +++ b/package/uboot-tools/uboot-tools.mk > @@ -10,6 +10,15 @@ UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot > UBOOT_TOOLS_LICENSE = GPLv2+ > UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt > > +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_UBOOT_SOURCE),y) > + UBOOT_TOOLS_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) > + UBOOT_TOOLS_SOURCE = $(UBOOT_SOURCE) > + UBOOT_TOOLS_SITE = $(UBOOT_SITE) > +ifeq ($(UBOOT_SITE_METHOD),) > + UBOOT_TOOL_SITE_METHOD = $(UBOOT_SITE_METHOD) > +endif I think UBOOT_LICENSE and UBOOT_LICENSE_FILES should also be taken over. Especially the LICENSE_FILES (i.e. empty), otherwise legal-info will break. Does this actually work if it doesn't come from an official tarball? I think the UBOOT_TOOLS_SOURCE variable will evaluate to empty at the time it is ifndef'd in pkg-generic.mk, so it will be set to the default <pkg>-<version>.tar.gz. So anything that doesn't happen to be in this format (e.g. a custom tarball) will not work AFAICS. This is probably also the reason why you use BR2_TARGET_UBOOT_VERSION instead of simply UBOOT_VERSION. In other words, something like this isn't reliable, because it depends on the order of inclusion of the .mk files. I think this is actually a problem with the buildroot infrastructure: ideally, it should _not_ depend on the order of inclusion. Regards, Arnout > +endif > + > define UBOOT_TOOLS_BUILD_CMDS > $(MAKE) -C $(@D) \ > HOSTCC="$(TARGET_CC)" \ > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-01-28 22:10 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-26 0:35 [Buildroot] [PATCH] uboot-tools: Allow users to use uboot's sources Maxime Hadjinlian 2014-01-26 15:59 ` Luca Ceresoli 2014-01-26 16:31 ` Maxime Hadjinlian 2014-01-26 21:43 ` Luca Ceresoli 2014-01-27 17:34 ` Arnout Vandecappelle 2014-01-27 22:26 ` Luca Ceresoli 2014-01-28 6:02 ` Thomas De Schampheleire 2014-01-28 8:17 ` Maxime Hadjinlian 2014-01-28 10:55 ` Luca Ceresoli 2014-01-28 16:58 ` Arnout Vandecappelle 2014-01-28 22:10 ` Thomas Petazzoni 2014-01-27 17:45 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox