Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Dynaminc Component System for Buildroot
@ 2012-02-20  7:45 Avishay Orpaz
  2012-02-20  8:26 ` Alvaro Gamez
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Avishay Orpaz @ 2012-02-20  7:45 UTC (permalink / raw)
  To: buildroot

Hi
I've been using buildroot for about two years for building embedded systems
on various platforms. An embedded system usually comprises of a set of
standard tool and custom software, scripts etc. Buildroot does great job on
the first, but then I have to manually compile the project-specific
software and install it in the target system created by buildroot. In order
to make workflow smoother, I have an idea of adding a dynamic component
support for buildroot. In such a system, buildroot, when invoked, will scan
a specific directory for components. Components are directories with some
distinguishing feature (a special file or so) which contains buildroot .mk
file. Those components will appear on buildroot configuration menu, will
use the regular compilation-installation infrastructure it provides and
will be installed in the target filesystem as any other, out-of-the-box
component.

I'm willing to put time and effort into building such an extension, but I
would really like to get some feedback before I start, and to estimate the
chances it would be merged into the buildroot mainline.

Avishay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120220/5f723e1d/attachment.html>

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

* [Buildroot] Dynaminc Component System for Buildroot
  2012-02-20  7:45 [Buildroot] Dynaminc Component System for Buildroot Avishay Orpaz
@ 2012-02-20  8:26 ` Alvaro Gamez
  2012-02-20  8:49 ` Sven Neumann
  2012-02-20  9:20 ` Arnout Vandecappelle
  2 siblings, 0 replies; 5+ messages in thread
From: Alvaro Gamez @ 2012-02-20  8:26 UTC (permalink / raw)
  To: buildroot

I know some commercial software very similar to buildroot that works
somehow similar to your idea.
It is much simpler, though, because all it forces the embedded developer to
is to create a Makefile with the clean, distclean, all and install targets.
The last one just copies whatever it needs to work to the root directory of
the future root image.

It is pretty straightforward and really simplifies the workflow.

I'd like very much to see that or something like that in buildroot.

Regards

2012/2/20 Avishay Orpaz <avishorp@gmail.com>

> Hi
> I've been using buildroot for about two years for building embedded
> systems on various platforms. An embedded system usually comprises of a set
> of standard tool and custom software, scripts etc. Buildroot does great job
> on the first, but then I have to manually compile the project-specific
> software and install it in the target system created by buildroot. In order
> to make workflow smoother, I have an idea of adding a dynamic component
> support for buildroot. In such a system, buildroot, when invoked, will scan
> a specific directory for components. Components are directories with some
> distinguishing feature (a special file or so) which contains buildroot .mk
> file. Those components will appear on buildroot configuration menu, will
> use the regular compilation-installation infrastructure it provides and
> will be installed in the target filesystem as any other, out-of-the-box
> component.
>
> I'm willing to put time and effort into building such an extension, but I
> would really like to get some feedback before I start, and to estimate the
> chances it would be merged into the buildroot mainline.
>
> Avishay
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>



-- 
?lvaro G?mez Machado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120220/21bb92b5/attachment.html>

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

* [Buildroot] Dynaminc Component System for Buildroot
  2012-02-20  7:45 [Buildroot] Dynaminc Component System for Buildroot Avishay Orpaz
  2012-02-20  8:26 ` Alvaro Gamez
@ 2012-02-20  8:49 ` Sven Neumann
  2012-02-20  9:20 ` Arnout Vandecappelle
  2 siblings, 0 replies; 5+ messages in thread
From: Sven Neumann @ 2012-02-20  8:49 UTC (permalink / raw)
  To: buildroot

Hi,

On Mon, 2012-02-20 at 09:45 +0200, Avishay Orpaz wrote:

> I've been using buildroot for about two years for building embedded
> systems on various platforms. An embedded system usually comprises of
> a set of standard tool and custom software, scripts etc. Buildroot
> does great job on the first, but then I have to manually compile the
> project-specific software and install it in the target system created
> by buildroot. In order to make workflow smoother, I have an idea of
> adding a dynamic component support for buildroot. In such a system,
> buildroot, when invoked, will scan a specific directory for
> components. Components are directories with some distinguishing
> feature (a special file or so) which contains buildroot .mk file.
> Those components will appear on buildroot configuration menu, will use
> the regular compilation-installation infrastructure it provides and
> will be installed in the target filesystem as any other,
> out-of-the-box component.

What we have been doing to solve this is that we maintain a git branch
of buildroot with our components added as buildroot packages. Our
applications appear in a dedicated submenu and are built as part of the
standard buildroot process. This is similar to what you are suggesting
and it is already very easy to achieve by means of a git branch. Doing
it this way also has the advantage that it also solves the problem of
distributing your project files to co-workers as everything is kept
under version control. Changes from buildroot upstream can easily be
merged into your branch and are then also easily distributed to
co-workers and to your build system.


Regards, Sven

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

* [Buildroot] Dynaminc Component System for Buildroot
  2012-02-20  7:45 [Buildroot] Dynaminc Component System for Buildroot Avishay Orpaz
  2012-02-20  8:26 ` Alvaro Gamez
  2012-02-20  8:49 ` Sven Neumann
@ 2012-02-20  9:20 ` Arnout Vandecappelle
  2012-02-21 13:59   ` Avishay Orpaz
  2 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2012-02-20  9:20 UTC (permalink / raw)
  To: buildroot

On Monday 20 February 2012 08:45:48 Avishay Orpaz wrote:
> Hi
> I've been using buildroot for about two years for building embedded systems
> on various platforms. An embedded system usually comprises of a set of
> standard tool and custom software, scripts etc. Buildroot does great job on
> the first, but then I have to manually compile the project-specific
> software and install it in the target system created by buildroot.

 No you don't.  You have to manually create a Config.in and pkg.mk for
your project-specific software, using the 'local' SITE_METHOD.  You could
even skip the Config.in and just add a
TARGETS += pkg
at the end of the pkg.mk.

> In order
> to make workflow smoother, I have an idea of adding a dynamic component
> support for buildroot. In such a system, buildroot, when invoked, will scan
> a specific directory for components. Components are directories with some
> distinguishing feature (a special file or so) which contains buildroot .mk
> file. Those components will appear on buildroot configuration menu, will
> use the regular compilation-installation infrastructure it provides and
> will be installed in the target filesystem as any other, out-of-the-box
> component.

 We have that system: the packages directory.

 I agree that one limitation of the packages directory is that the
project-specific packages have to be created directly in the buildroot
tree.  But that can be overcome by adding a line like this to local.mk:
include <project-path>/*/*.mk


> I'm willing to put time and effort into building such an extension, but I
> would really like to get some feedback before I start, and to estimate the
> chances it would be merged into the buildroot mainline.

 Although my comments above may be a bit negative, I do believe that it
would be worthwhile to simplify the addition of project-specific packages
to buildroot.  It will get a lot of comments, though, so you'll probably
have more work with taking into account the reviews than with the 
implementation itself.

 So I would advise the following:
- make use of existing infrastructure (_SITE_METHOD=local, local.mk);
- make sure you post an RFC patch as soon as possible, to get some 
dicsussion started;
- don't expect it to be accepted in less than two months or so.


 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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

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

* [Buildroot] Dynaminc Component System for Buildroot
  2012-02-20  9:20 ` Arnout Vandecappelle
@ 2012-02-21 13:59   ` Avishay Orpaz
  0 siblings, 0 replies; 5+ messages in thread
From: Avishay Orpaz @ 2012-02-21 13:59 UTC (permalink / raw)
  To: buildroot

Thanks for the valuable feedback. Hopefully I'll return with a patch
shortly.

Avishay

2012/2/20 Arnout Vandecappelle <arnout@mind.be>

> On Monday 20 February 2012 08:45:48 Avishay Orpaz wrote:
> > Hi
> > I've been using buildroot for about two years for building embedded
> systems
> > on various platforms. An embedded system usually comprises of a set of
> > standard tool and custom software, scripts etc. Buildroot does great job
> on
> > the first, but then I have to manually compile the project-specific
> > software and install it in the target system created by buildroot.
>
>  No you don't.  You have to manually create a Config.in and pkg.mk for
> your project-specific software, using the 'local' SITE_METHOD.  You could
> even skip the Config.in and just add a
> TARGETS += pkg
> at the end of the pkg.mk.
>
> > In order
> > to make workflow smoother, I have an idea of adding a dynamic component
> > support for buildroot. In such a system, buildroot, when invoked, will
> scan
> > a specific directory for components. Components are directories with some
> > distinguishing feature (a special file or so) which contains buildroot
> .mk
> > file. Those components will appear on buildroot configuration menu, will
> > use the regular compilation-installation infrastructure it provides and
> > will be installed in the target filesystem as any other, out-of-the-box
> > component.
>
>  We have that system: the packages directory.
>
>  I agree that one limitation of the packages directory is that the
> project-specific packages have to be created directly in the buildroot
> tree.  But that can be overcome by adding a line like this to local.mk:
> include <project-path>/*/*.mk
>
>
> > I'm willing to put time and effort into building such an extension, but I
> > would really like to get some feedback before I start, and to estimate
> the
> > chances it would be merged into the buildroot mainline.
>
>  Although my comments above may be a bit negative, I do believe that it
> would be worthwhile to simplify the addition of project-specific packages
> to buildroot.  It will get a lot of comments, though, so you'll probably
> have more work with taking into account the reviews than with the
> implementation itself.
>
>  So I would advise the following:
> - make use of existing infrastructure (_SITE_METHOD=local, local.mk);
> - make sure you post an RFC patch as soon as possible, to get some
> dicsussion started;
> - don't expect it to be accepted in less than two months or so.
>
>
>  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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120221/41734616/attachment.html>

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

end of thread, other threads:[~2012-02-21 13:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-20  7:45 [Buildroot] Dynaminc Component System for Buildroot Avishay Orpaz
2012-02-20  8:26 ` Alvaro Gamez
2012-02-20  8:49 ` Sven Neumann
2012-02-20  9:20 ` Arnout Vandecappelle
2012-02-21 13:59   ` Avishay Orpaz

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