All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] User-enabled host packages?
@ 2011-09-21 13:00 Luca Ceresoli
  2011-09-21 13:31 ` Thomas Petazzoni
  2011-09-30 14:04 ` Thomas Petazzoni
  0 siblings, 2 replies; 13+ messages in thread
From: Luca Ceresoli @ 2011-09-21 13:00 UTC (permalink / raw)
  To: buildroot

Hi buildroot developers,

the current policy for host packages is that they do not appear in
menuconfig: they are automatically activated based on the dependencies
whenever thay are needed for building an image.

However, in a recent discussion between me and Thomas Petazzoni
(http://lists.busybox.net/pipermail/buildroot/2011-September/045821.html)
we noticed that some host packages might be worth being available as
user options, even though they are not used to produce any imge.

In the cited thread the following examples emerged:

Luca Ceresoli wrote about omap-u-boot-utils:
 >
 > OTOH, ucmd "sends a command and expects a provided matching response
 > from target", and is aimed at creating automated scripts to interact
 > with a commandline program over a serial line. This can be used in any
 > architecture. I have board-specific scripts that use it to write
 > bootloader + kernel + rootfs onto a new (or bricked) board from files in
 > output/images.
(http://lists.busybox.net/pipermail/buildroot/2011-September/045638.html)

Thomas Petazzoni wrote:
 > I must admit there are other cases for which being able to show host
 > packages to users would be useful. For example, on AT91 platforms,
 > there is an host utility called SAM-BA which allows to reflash an AT91
 > device through the USB device port. This host utility could be
 > conveniently downloaded, extracted and installed into $(HOST_DIR) by
 > Buildroot, but we have currently no way of doing this.
 >
 > Some thing for OpenOCD. Jean-Christophe has recently added support for
 > it for the target, but being able to build OpenOCD on the host and
 > install it in $(HOST_DIR) would also be useful for those of us who want
 > to build ready-to-use development environments with Buildroot.
(http://lists.busybox.net/pipermail/buildroot/2011-September/045821.html)

All of these examples are about tools that could generally be
downloaded, built and installed by each developer on their own machine.
Nevertheless any developer may benefit from having them built inside
buildroot: it would be more handy and quick to build them, and also
guarantee that the version used in buildroot is somehow tested by other
buildroot users.

Moreover, some packages (such as omap-u-boot-utils for which I posted a
patch) have their own right of being inside buildroot because they also
contribute to building the BR images. Having a user option to build
them, even if they are not required for image generation, would require
little effort.

So the big question is: do we want some host packages to be enabled
vie a user option?

Where do we want these user options?
How about a newly created "Host tools" menu at top level?

Does anybody have additional examples in favor or against?

Thanks,
Luca

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

* [Buildroot] User-enabled host packages?
  2011-09-21 13:00 [Buildroot] User-enabled host packages? Luca Ceresoli
@ 2011-09-21 13:31 ` Thomas Petazzoni
  2011-09-22 20:15   ` Luca Ceresoli
  2011-09-22 20:53   ` Arnout Vandecappelle
  2011-09-30 14:04 ` Thomas Petazzoni
  1 sibling, 2 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2011-09-21 13:31 UTC (permalink / raw)
  To: buildroot

Le Wed, 21 Sep 2011 15:00:49 +0200,
Luca Ceresoli <luca@lucaceresoli.net> a ?crit :

> All of these examples are about tools that could generally be
> downloaded, built and installed by each developer on their own
> machine. Nevertheless any developer may benefit from having them
> built inside buildroot: it would be more handy and quick to build
> them, and also guarantee that the version used in buildroot is
> somehow tested by other buildroot users.
> 
> Moreover, some packages (such as omap-u-boot-utils for which I posted
> a patch) have their own right of being inside buildroot because they
> also contribute to building the BR images. Having a user option to
> build them, even if they are not required for image generation, would
> require little effort.
> 
> So the big question is: do we want some host packages to be enabled
> vie a user option?
> 
> Where do we want these user options?
> How about a newly created "Host tools" menu at top level?
> 
> Does anybody have additional examples in favor or against?

And also:

If we decide to show /some/ host tools (but not all) in menuconfig, what
is the boundary between host tools visible in menuconfig and those not
visible in menuconfig ?

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] User-enabled host packages?
  2011-09-21 13:31 ` Thomas Petazzoni
@ 2011-09-22 20:15   ` Luca Ceresoli
  2011-09-22 20:53   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Luca Ceresoli @ 2011-09-22 20:15 UTC (permalink / raw)
  To: buildroot

Thomas Petazzoni wrote:
> Le Wed, 21 Sep 2011 15:00:49 +0200,
> Luca Ceresoli<luca@lucaceresoli.net>  a ?crit :
>
>> All of these examples are about tools that could generally be
>> downloaded, built and installed by each developer on their own
>> machine. Nevertheless any developer may benefit from having them
>> built inside buildroot: it would be more handy and quick to build
>> them, and also guarantee that the version used in buildroot is
>> somehow tested by other buildroot users.
>>
>> Moreover, some packages (such as omap-u-boot-utils for which I posted
>> a patch) have their own right of being inside buildroot because they
>> also contribute to building the BR images. Having a user option to
>> build them, even if they are not required for image generation, would
>> require little effort.
>>
>> So the big question is: do we want some host packages to be enabled
>> vie a user option?
>>
>> Where do we want these user options?
>> How about a newly created "Host tools" menu at top level?
>>
>> Does anybody have additional examples in favor or against?
>
> And also:
>
> If we decide to show /some/ host tools (but not all) in menuconfig, what
> is the boundary between host tools visible in menuconfig and those not
> visible in menuconfig ?

My opinion is that this would be based on user needs.

Whenever a BR user feels the need of adding a host tool here, he would
propose a patch to do so. If nobody will feel the need for host-foo,
then nobody will write a patch to add it.

That's what happens with regular packages, ain't that true?

Luca

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

* [Buildroot] User-enabled host packages?
  2011-09-21 13:31 ` Thomas Petazzoni
  2011-09-22 20:15   ` Luca Ceresoli
@ 2011-09-22 20:53   ` Arnout Vandecappelle
  2011-09-23  7:46     ` Thomas Petazzoni
  1 sibling, 1 reply; 13+ messages in thread
From: Arnout Vandecappelle @ 2011-09-22 20:53 UTC (permalink / raw)
  To: buildroot


On Wednesday 21 September 2011 15:31:33, Thomas Petazzoni wrote:
> > So the big question is: do we want some host packages to be enabled
> > vie a user option?

 We already have one: BR2_PACKAGE_GDB_HOST.

 Other possible candidates are the installers for boot loaders (grub, 
syslinux), target image manipulation programs (parted, fdisk, e2fsprogs, 
uboot-tools), tools to communicate with the target (openocd, tftpd), and maybe 
even scripting languages for running test suites (expect, python).

 However, I'm not sure of the value of having these in the .config.  If I need 
them, it's anyway for use in build scripts that run on top of buildroot, and 
then I can just run a "make world host-e2fsprogs".  The paths to the host 
tools are anyway so long that even when you need them in your shell, typing an 
additional make host-xxx first is really no effort.


> > Where do we want these user options?
> > How about a newly created "Host tools" menu at top level?

 That would mean they don't sit in their package's Config.in.  Still, it would 
be the most logical place.  Anyway there normally is no impact on the 
package's makefile since the config option is taken care of by GENTARGETS.


> > Does anybody have additional examples in favor or against?

 I don't have anything against it.  But no real driving reason for it either.


> And also:
> 
> If we decide to show some host tools (but not all) in menuconfig, what
> is the boundary between host tools visible in menuconfig and those not
> visible in menuconfig ?

 Similar as for the boundary between when to have a configuration option for 
different versions of a package.  Depends on what users need.


 Can someone summarize the arguments that were used when this discussion took 
place a few years ago?


 Regards,
 Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43

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

* [Buildroot] User-enabled host packages?
  2011-09-22 20:53   ` Arnout Vandecappelle
@ 2011-09-23  7:46     ` Thomas Petazzoni
  2011-09-30 12:50       ` Thomas De Schampheleire
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2011-09-23  7:46 UTC (permalink / raw)
  To: buildroot

Hello,

Le Thu, 22 Sep 2011 22:53:42 +0200,
Arnout Vandecappelle <arnout@mind.be> a ?crit :

> On Wednesday 21 September 2011 15:31:33, Thomas Petazzoni wrote:
> > > So the big question is: do we want some host packages to be enabled
> > > vie a user option?
> 
>  We already have one: BR2_PACKAGE_GDB_HOST.

Right. And also binutils uses the package infrastructure, and its host
variant is visible in menuconfig. But we can argue that binutils/gdb
being part of the toolchain, those are "special".

>  Other possible candidates are the installers for boot loaders (grub, 
> syslinux), target image manipulation programs (parted, fdisk, e2fsprogs, 
> uboot-tools), tools to communicate with the target (openocd, tftpd), and maybe 
> even scripting languages for running test suites (expect, python).

Right.

>  However, I'm not sure of the value of having these in the .config.  If I need 
> them, it's anyway for use in build scripts that run on top of buildroot, and 
> then I can just run a "make world host-e2fsprogs".  The paths to the host 
> tools are anyway so long that even when you need them in your shell, typing an 
> additional make host-xxx first is really no effort.

Well, I guess it's slightly more convenient. I regularly ship
customized Buildroot configurations as development environment for
embedded projects, and it would definitely be nice to be able to keep
the simple :

	make blabla_defconfig
	make

documentation, and allow the user to have all needed host tools in
$(HOST_DIR), including tools to reflash the firmware on the device, or
other utilities as you mentioned. Of course, I can document to run
"make world host-foobar", but that sounds less integrated. But I have
no strong opinion here.

>  That would mean they don't sit in their package's Config.in.  Still, it would 
> be the most logical place.  Anyway there normally is no impact on the 
> package's makefile since the config option is taken care of by GENTARGETS.

For those packages, we could have a separate Config.in.host in the
package directory, which would be included by the top-level
package/Config.in to make the host package appear in this new "Host
tools" menu.

> > And also:
> > 
> > If we decide to show some host tools (but not all) in menuconfig, what
> > is the boundary between host tools visible in menuconfig and those not
> > visible in menuconfig ?
> 
>  Similar as for the boundary between when to have a configuration option for 
> different versions of a package.  Depends on what users need.

Ok, but I'd for example like to avoid having the myriad of X11
libraries that we need to build for the host visible in the menuconfig.

>  Can someone summarize the arguments that were used when this discussion took 
> place a few years ago?

As far as I remember, host utilities have almost never been visible
into menuconfig, besides a few exceptions (fakeroot comes to mind). At
the time, there was only the AUTOTARGETS infrastructure (non-autotools
packages were handled by hand-written makefiles) and the AUTOTARGETS
infrastructure did support only target packages (host autotools
packages were handled by hand-written makefiles). When we started
to support host packages into the package infrastructure, we clearly
stated that those would not be visible, as they were only necessary as
mere dependencies for the rest of the build process, and that for this
reason, the user had no need to see them, because he wouldn't
use/interact with them directly.

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] User-enabled host packages?
  2011-09-23  7:46     ` Thomas Petazzoni
@ 2011-09-30 12:50       ` Thomas De Schampheleire
  2011-09-30 13:50         ` Arnout Vandecappelle
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas De Schampheleire @ 2011-09-30 12:50 UTC (permalink / raw)
  To: buildroot

Hi,

On Fri, Sep 23, 2011 at 9:46 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> Le Thu, 22 Sep 2011 22:53:42 +0200,
> Arnout Vandecappelle <arnout@mind.be> a ?crit :
>
>> On Wednesday 21 September 2011 15:31:33, Thomas Petazzoni wrote:
>> > > So the big question is: do we want some host packages to be enabled
>> > > vie a user option?
>>
>> ?We already have one: BR2_PACKAGE_GDB_HOST.
>
> Right. And also binutils uses the package infrastructure, and its host
> variant is visible in menuconfig. But we can argue that binutils/gdb
> being part of the toolchain, those are "special".
>
>> ?Other possible candidates are the installers for boot loaders (grub,
>> syslinux), target image manipulation programs (parted, fdisk, e2fsprogs,
>> uboot-tools), tools to communicate with the target (openocd, tftpd), and maybe
>> even scripting languages for running test suites (expect, python).
>
> Right.
>
>> ?However, I'm not sure of the value of having these in the .config. ?If I need
>> them, it's anyway for use in build scripts that run on top of buildroot, and
>> then I can just run a "make world host-e2fsprogs". ?The paths to the host
>> tools are anyway so long that even when you need them in your shell, typing an
>> additional make host-xxx first is really no effort.
>
> Well, I guess it's slightly more convenient. I regularly ship
> customized Buildroot configurations as development environment for
> embedded projects, and it would definitely be nice to be able to keep
> the simple :
>
> ? ? ? ?make blabla_defconfig
> ? ? ? ?make
>
> documentation, and allow the user to have all needed host tools in
> $(HOST_DIR), including tools to reflash the firmware on the device, or
> other utilities as you mentioned. Of course, I can document to run
> "make world host-foobar", but that sounds less integrated. But I have
> no strong opinion here.

I also prefer this simple approach. If for a certain project, host
tool X is needed, putting that dependency in the defconfig file:
* makes the build steps easy and short
* avoids putting too much knowledge in the build scripts that sit on
top of buildroot

>
>> ?That would mean they don't sit in their package's Config.in. ?Still, it would
>> be the most logical place. ?Anyway there normally is no impact on the
>> package's makefile since the config option is taken care of by GENTARGETS.
>
> For those packages, we could have a separate Config.in.host in the
> package directory, which would be included by the top-level
> package/Config.in to make the host package appear in this new "Host
> tools" menu.

I'm currently in need of the dtc compiler, which is only really
relevant to the host. I followed the approach suggested above of a
Config.in.host file that includes the appropriate dtc/dtc.mk file.
Config.in.host is then included from the top-level Config.in.
I can submit a patch with this if you like.

>
>> > And also:
>> >
>> > If we decide to show some host tools (but not all) in menuconfig, what
>> > is the boundary between host tools visible in menuconfig and those not
>> > visible in menuconfig ?
>>
>> ?Similar as for the boundary between when to have a configuration option for
>> different versions of a package. ?Depends on what users need.
>
> Ok, but I'd for example like to avoid having the myriad of X11
> libraries that we need to build for the host visible in the menuconfig.
>
>> ?Can someone summarize the arguments that were used when this discussion took
>> place a few years ago?
>
> As far as I remember, host utilities have almost never been visible
> into menuconfig, besides a few exceptions (fakeroot comes to mind). At
> the time, there was only the AUTOTARGETS infrastructure (non-autotools
> packages were handled by hand-written makefiles) and the AUTOTARGETS
> infrastructure did support only target packages (host autotools
> packages were handled by hand-written makefiles). When we started
> to support host packages into the package infrastructure, we clearly
> stated that those would not be visible, as they were only necessary as
> mere dependencies for the rest of the build process, and that for this
> reason, the user had no need to see them, because he wouldn't
> use/interact with them directly.

Best regards,
Thomas

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

* [Buildroot] User-enabled host packages?
  2011-09-30 12:50       ` Thomas De Schampheleire
@ 2011-09-30 13:50         ` Arnout Vandecappelle
  0 siblings, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2011-09-30 13:50 UTC (permalink / raw)
  To: buildroot


On Friday 30 September 2011 14:50:03, Thomas De Schampheleire wrote:
> I'm currently in need of the dtc compiler, which is only really
> relevant to the host. I followed the approach suggested above of a
> Config.in.host file that includes the appropriate dtc/dtc.mk file.
> Config.in.host is then included from the top-level Config.in.
> I can submit a patch with this if you like.

 I like!

 Regards,
 Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110930/71b6c749/attachment.html>

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

* [Buildroot] User-enabled host packages?
  2011-09-21 13:00 [Buildroot] User-enabled host packages? Luca Ceresoli
  2011-09-21 13:31 ` Thomas Petazzoni
@ 2011-09-30 14:04 ` Thomas Petazzoni
  2011-09-30 16:46   ` Thomas De Schampheleire
  1 sibling, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2011-09-30 14:04 UTC (permalink / raw)
  To: buildroot

Hello,

In this e-mail, I'll try to summarize what I understand to be the
consensus on this issue and also what I, as a Buildroot contributor,
consider acceptable for integration :

 * It is desirable to have *some* host packages visible in the
   menuconfig interface, but *most* host packages should remain
   invisible as they are today, when those are solely used as build
   dependencies.

   The criteria on deciding whether an host package should be made
   visible or not depends on whether this host package contains
   utilities that are directly useful for development. Things like
   image generators, debugging or flashing utilities that run on the
   host but interact with a target, etc. are the typical types of
   host packages that are expected to be visible.

 * From a .mk file perspective, exposing some host packages requires no
   change to the existing infrastructure. All host packages must be
   stored in the package/ subdirectory, just like any other package. So
   even the omap-u-boot-utils proposed by Luca should be in
   package/omap-u-boot-utils, just like package/uboot-tools.

 * From a Config.in perspective, the host packages that need to be
   visible should implement a package/<foo>/Config.in.host file
   describing the configuration options. Those configuration options
   should have the BR2_HOST_PACKAGE_* prefix. All these Config.in.host
   files are included in a single "Packages -> Host utitities" submenu,
   from package/Config.in. There is no need to create subsections in
   this menu at the moment, since the number of utilities shown here is
   suspected to remain limited.

 * The package infrastructure is modified so that when a
   BR2_HOST_PACKAGE_<foo> option is enabled, then host-foo is added to
   the global TARGETS variable.

What do others think of this proposal? Peter, what is your feeling
about the general idea and this proposal? Can we go ahead and implement
something like proposed in this e-mail?

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] User-enabled host packages?
  2011-09-30 14:04 ` Thomas Petazzoni
@ 2011-09-30 16:46   ` Thomas De Schampheleire
  2011-09-30 17:58     ` Thomas Petazzoni
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas De Schampheleire @ 2011-09-30 16:46 UTC (permalink / raw)
  To: buildroot

On Fri, Sep 30, 2011 at 4:04 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> In this e-mail, I'll try to summarize what I understand to be the
> consensus on this issue and also what I, as a Buildroot contributor,
> consider acceptable for integration :
>
> ?* It is desirable to have *some* host packages visible in the
> ? menuconfig interface, but *most* host packages should remain
> ? invisible as they are today, when those are solely used as build
> ? dependencies.

Agreed.

>
> ? The criteria on deciding whether an host package should be made
> ? visible or not depends on whether this host package contains
> ? utilities that are directly useful for development. Things like
> ? image generators, debugging or flashing utilities that run on the
> ? host but interact with a target, etc. are the typical types of
> ? host packages that are expected to be visible.

Agreed.

>
> ?* From a .mk file perspective, exposing some host packages requires no
> ? change to the existing infrastructure. All host packages must be
> ? stored in the package/ subdirectory, just like any other package. So
> ? even the omap-u-boot-utils proposed by Luca should be in
> ? package/omap-u-boot-utils, just like package/uboot-tools.

Agreed.

>
> ?* From a Config.in perspective, the host packages that need to be
> ? visible should implement a package/<foo>/Config.in.host file
> ? describing the configuration options. Those configuration options
> ? should have the BR2_HOST_PACKAGE_* prefix.

Is this really needed?
If you use BR2_PACKAGE_HOST_FOO, then the existing infrastructure will
add host-foo to the targets.
Of course, explicit host packages will be treated the same way as
dependency-host-packages on Config.in level, but I don't think this is
a problem.

> All these Config.in.host
> ? files are included in a single "Packages -> Host utitities" submenu,
> ? from package/Config.in. There is no need to create subsections in
> ? this menu at the moment, since the number of utilities shown here is
> ? suspected to remain limited.

If you want to add the new menu under Packages, then the description
of that menu should change. Currently it is:
"Package Selection for the target"
A proposal is simply:
"Package selection"

The alternative is as proposed earlier: to put the menu at top-level.

>
> ?* The package infrastructure is modified so that when a
> ? BR2_HOST_PACKAGE_<foo> option is enabled, then host-foo is added to
> ? the global TARGETS variable.

Unless I'm misunderstanding the infrastructure, this would not be
needed if the option name is different, as I wrote above.

>
> What do others think of this proposal? Peter, what is your feeling
> about the general idea and this proposal? Can we go ahead and implement
> something like proposed in this e-mail?

Best regards,
Thomas

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

* [Buildroot] User-enabled host packages?
  2011-09-30 16:46   ` Thomas De Schampheleire
@ 2011-09-30 17:58     ` Thomas Petazzoni
  2011-09-30 18:29       ` Thomas De Schampheleire
                         ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2011-09-30 17:58 UTC (permalink / raw)
  To: buildroot

Le Fri, 30 Sep 2011 18:46:17 +0200,
Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :

> > ?* From a Config.in perspective, the host packages that need to be
> > ? visible should implement a package/<foo>/Config.in.host file
> > ? describing the configuration options. Those configuration options
> > ? should have the BR2_HOST_PACKAGE_* prefix.
> 
> Is this really needed?
> If you use BR2_PACKAGE_HOST_FOO, then the existing infrastructure will
> add host-foo to the targets.

Ah, ah, you're right! This works well unless there are packages whose
names starts with host-, but this would be strange and we can just
state that it is not supported.

> Of course, explicit host packages will be treated the same way as
> dependency-host-packages on Config.in level, but I don't think this is
> a problem.

Not sure what you mean here, but that raises the question of
dependencies between host packages.

I would say that there shouldn't be dependencies of non-visible host
packages on visible host packages (what I call 'visible' are host
packages that we list in menuconfig).

When there is a dependency of a visible host package on another visible
host package, then the dependency must be expressed in both the
Config.in.host *and* the .mk file, as we do for target packages.

When there is a dependency of a visible host package on another
invisible host package, then the dependency is only expressed in
the .mk file, as we do for the dependency of current host packages.

When there is a dependency of an invisible host package on another
invisible host package, then the dependency is also only expressed in
the .mk file, as we do for the dependency of current host packages.

Does that sounds correct?

> > All these Config.in.host
> > ? files are included in a single "Packages -> Host utitities"
> > submenu, from package/Config.in. There is no need to create
> > subsections in this menu at the moment, since the number of
> > utilities shown here is suspected to remain limited.
> 
> If you want to add the new menu under Packages, then the description
> of that menu should change. Currently it is:
> "Package Selection for the target"
> A proposal is simply:
> "Package selection"
> 
> The alternative is as proposed earlier: to put the menu at top-level.

No strong opinion here. Perhaps a new top-level menu is better, I don't
know.

> > ?* The package infrastructure is modified so that when a
> > ? BR2_HOST_PACKAGE_<foo> option is enabled, then host-foo is added
> > to the global TARGETS variable.
> 
> Unless I'm misunderstanding the infrastructure, this would not be
> needed if the option name is different, as I wrote above.

Yes, sure.

Thanks for your feedback!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] User-enabled host packages?
  2011-09-30 17:58     ` Thomas Petazzoni
@ 2011-09-30 18:29       ` Thomas De Schampheleire
  2011-09-30 21:57       ` Luca Ceresoli
  2011-10-01 20:11       ` Arnout Vandecappelle
  2 siblings, 0 replies; 13+ messages in thread
From: Thomas De Schampheleire @ 2011-09-30 18:29 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Fri, Sep 30, 2011 at 7:58 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Le Fri, 30 Sep 2011 18:46:17 +0200,
> Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :
>
>> > ?* From a Config.in perspective, the host packages that need to be
>> > ? visible should implement a package/<foo>/Config.in.host file
>> > ? describing the configuration options. Those configuration options
>> > ? should have the BR2_HOST_PACKAGE_* prefix.
>>
>> Is this really needed?
>> If you use BR2_PACKAGE_HOST_FOO, then the existing infrastructure will
>> add host-foo to the targets.
>
> Ah, ah, you're right! This works well unless there are packages whose
> names starts with host-, but this would be strange and we can just
> state that it is not supported.

I agree.

>
>> Of course, explicit host packages will be treated the same way as
>> dependency-host-packages on Config.in level, but I don't think this is
>> a problem.
>
> Not sure what you mean here, but that raises the question of
> dependencies between host packages.
>
> I would say that there shouldn't be dependencies of non-visible host
> packages on visible host packages (what I call 'visible' are host
> packages that we list in menuconfig).

That sounds reasonable, given the intention of using visible host
packages only for utility-like tools.

>
> When there is a dependency of a visible host package on another visible
> host package, then the dependency must be expressed in both the
> Config.in.host *and* the .mk file, as we do for target packages.
>
> When there is a dependency of a visible host package on another
> invisible host package, then the dependency is only expressed in
> the .mk file, as we do for the dependency of current host packages.
>
> When there is a dependency of an invisible host package on another
> invisible host package, then the dependency is also only expressed in
> the .mk file, as we do for the dependency of current host packages.
>
> Does that sounds correct?

All of the above sounds correct to me.

>
>> > All these Config.in.host
>> > ? files are included in a single "Packages -> Host utitities"
>> > submenu, from package/Config.in. There is no need to create
>> > subsections in this menu at the moment, since the number of
>> > utilities shown here is suspected to remain limited.
>>
>> If you want to add the new menu under Packages, then the description
>> of that menu should change. Currently it is:
>> "Package Selection for the target"
>> A proposal is simply:
>> "Package selection"
>>
>> The alternative is as proposed earlier: to put the menu at top-level.
>
> No strong opinion here. Perhaps a new top-level menu is better, I don't
> know.

What do others think?

>
>> > ?* The package infrastructure is modified so that when a
>> > ? BR2_HOST_PACKAGE_<foo> option is enabled, then host-foo is added
>> > to the global TARGETS variable.
>>
>> Unless I'm misunderstanding the infrastructure, this would not be
>> needed if the option name is different, as I wrote above.
>
> Yes, sure.
>
> Thanks for your feedback!
>

You're very welcome,

~Thomas

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

* [Buildroot] User-enabled host packages?
  2011-09-30 17:58     ` Thomas Petazzoni
  2011-09-30 18:29       ` Thomas De Schampheleire
@ 2011-09-30 21:57       ` Luca Ceresoli
  2011-10-01 20:11       ` Arnout Vandecappelle
  2 siblings, 0 replies; 13+ messages in thread
From: Luca Ceresoli @ 2011-09-30 21:57 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Thomas Petazzoni wrote:

>
>> Of course, explicit host packages will be treated the same way as
>> dependency-host-packages on Config.in level, but I don't think this is
>> a problem.
> Not sure what you mean here, but that raises the question of
> dependencies between host packages.
I'm also unsure about what Thomas (De Schampheleire) means here, but this
could be read as a feature as well.
A package such as omap-u-boot-utils can be required to build an OMAP-signed
image, thus being a dependency-host-package, or standalone to interact with
the target, thus being an explicit host package.
"Being treated in the same way" means it would work in both cases without
additional effort...


>>> All these Config.in.host
>>>    files are included in a single "Packages ->  Host utitities"
>>> submenu, from package/Config.in. There is no need to create
>>> subsections in this menu at the moment, since the number of
>>> utilities shown here is suspected to remain limited.
>> If you want to add the new menu under Packages, then the description
>> of that menu should change. Currently it is:
>> "Package Selection for the target"
>> A proposal is simply:
>> "Package selection"
>>
>> The alternative is as proposed earlier: to put the menu at top-level.
> No strong opinion here. Perhaps a new top-level menu is better, I don't
> know.

I personally feel a top-level menu would be better, leaving the "packages"
menu to list what has to be on the target.

Luca

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

* [Buildroot] User-enabled host packages?
  2011-09-30 17:58     ` Thomas Petazzoni
  2011-09-30 18:29       ` Thomas De Schampheleire
  2011-09-30 21:57       ` Luca Ceresoli
@ 2011-10-01 20:11       ` Arnout Vandecappelle
  2 siblings, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2011-10-01 20:11 UTC (permalink / raw)
  To: buildroot


On Friday 30 September 2011 19:58:05, Thomas Petazzoni wrote:
> > > All these Config.in.host
> > >   files are included in a single "Packages -> Host utitities"
> > > submenu, from package/Config.in. There is no need to create
> > > subsections in this menu at the moment, since the number of
> > > utilities shown here is suspected to remain limited.
> >
> > 
> >
> > If you want to add the new menu under Packages, then the description
> > of that menu should change. Currently it is:
> > "Package Selection for the target"
> > A proposal is simply:
> > "Package selection"
> >
> > 
> >
> > The alternative is as proposed earlier: to put the menu at top-level.
> 
> No strong opinion here. Perhaps a new top-level menu is better, I don't
> know.

 I also prefer a new top-level menu.

 However, what do we do with the bootloader installers (i.e. host-grub and 
friends)?  It would feel a little strange to move them out of the bootloader 
menu...


 Regards,
 Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20111001/77812ddc/attachment.html>

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

end of thread, other threads:[~2011-10-01 20:11 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-21 13:00 [Buildroot] User-enabled host packages? Luca Ceresoli
2011-09-21 13:31 ` Thomas Petazzoni
2011-09-22 20:15   ` Luca Ceresoli
2011-09-22 20:53   ` Arnout Vandecappelle
2011-09-23  7:46     ` Thomas Petazzoni
2011-09-30 12:50       ` Thomas De Schampheleire
2011-09-30 13:50         ` Arnout Vandecappelle
2011-09-30 14:04 ` Thomas Petazzoni
2011-09-30 16:46   ` Thomas De Schampheleire
2011-09-30 17:58     ` Thomas Petazzoni
2011-09-30 18:29       ` Thomas De Schampheleire
2011-09-30 21:57       ` Luca Ceresoli
2011-10-01 20:11       ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.