From: Jeremy Rosen <jeremy.rosen@openwide.fr>
To: buildroot@busybox.net
Subject: [Buildroot] Raspaudio : how to use buildroot as a git submodule
Date: Thu, 2 Oct 2014 12:10:12 +0200 (CEST) [thread overview]
Message-ID: <825058379.26083702.1412244610243.JavaMail.root@openwide.fr> (raw)
In-Reply-To: <CAM+bi4smyLzhBoDcU2+DT_6edX+Dxr440sNTK1+EFBzCQo8LyQ@mail.gmail.com>
> Hi!
>
> I've been thinking about the need for different overlays.
> Even though that's how I firstly organized my setup, I am now
> thinking
> it may not be the best course of action.
>
> I've realized that in my setup, the two not-equal overlays are, in
> fact, equal except for a couple directories and /etc/inittab.
> I believe that it may be a better solution to just create a package
> that installs these big demo files I need on the demo machine,
> and simply select that package on the demo defconfig, instead of
> having two almost equal overlays.
>
> I would still have to solve the differences in /etc/inittab, but
> maybe
> this file can be selected via a post build script.
>
> What do you think?
>
That would work and would indeed solve your problem, but I still need
to think the big picture through...
I have been reorganising/writing down how to use buildroot-submodule
for various use-cases, and I sould push something soon. I will
probably change the project to focus on the "single variant" case
while documenting when and how to have multiple variants.
If we stay with the use-case we have outlined so far (one logical
project on multiple architectures) then we need multiple overlays.
Having different configuration files for different machines seems
a really needed feature. I can autogenerate some Config.in or .mk
files to automatically have things being configurable per-variant
or globally (wip) but there is only one overlay directory and no
easy way to "merge" multiple overlay directories from within BR
I need to think about that part some more, i'm open to suggestion
>
> 2014-10-01 16:37 GMT+02:00 Jeremy Rosen <jeremy.rosen@openwide.fr>:
> >
> > ----- Mail original -----
> >> Hi, Jeremy
> >>
> >> Well, maybe I went all crazy splitting everything for each
> >> project,
> >> but there's some reason behind it.
> >
> > that's what I expected and why I asked :)
> >
> >>
> >> My main project is destined to run in a very specific hardware,
> >> with
> >> external devices that pass information to the system. A real
> >> example
> >> is a GPS device.
> >>
> >> On the other hand, I have a x86 machine which I use as a
> >> demo-machine
> >> with no external hardware attached (no GPS, for example). This
> >> requires that the information that is typically received from
> >> these
> >> external devices must be emulated by some piece of software.
> >>
> >> So, in my case, of course dl/ directoy is common, Config.in and
> >> external.mk are shared. I believe local.mk can also be shared,
> >> although in my current layout it is not.
> >
> > there is no point in not sharing it, since external.mk fullfills
> > the
> > same purpose and is already shared
> >
> >>It seems possible that some
> >> patches could be different, but I guess they could also be shared.
> >>
> >> I need, however, to have different overlays, such as, for example,
> >> a
> >> 'gpsd' emulator can run instead of the real gpsd. I manage this
> >> with
> >> a
> >> different inittab file and different configuration files that I
> >> place
> >> on each project's overlay. Alongside this trivial differences, I
> >> must
> >> load into the demo-machine some big files (a couple of GB) that
> >> emulate the data that, in the real machine, is received from
> >> external
> >> sources. These files would not even fit on the storage of the real
> >> machine.
> >>
> >> Well, all in all, I think only the overlays may need to be
> >> different,
> >> so there's that.
> >>
> >
> >
> > hmm.. ok, that complicates things a bit... I'll look into the BR
> > internal
> > to see if it's possible to have two overlays (one automatically set
> > by
> > BR2_EXTERNAL and one set via the configuration menu) and if the
> > project is
> > ready to accept that...
> >
> > the only think we can't easily double would be Config.in beacause
> > that file
> > needs to exist prior to menuconfig. The only way to do it would be
> > to specify
> > it in the make command line (the internal one we generate, not the
> > toplevel
> > one) and again see if buildroot is interested... I'll see what I
> > can do
> >
> > I also added an "anonymous" project for the common use-case where
> > you
> > only need one subproject, and i'm working on a README...
> >
> >
> >> Regards
> >>
> >>
> >> 2014-10-01 16:08 GMT+02:00 Jeremy Rosen
> >> <jeremy.rosen@openwide.fr>:
> >> >
> >> >
> >> > Looking into it a bit deeper, I have a couple of questions for
> >> > you..
> >> >
> >> > in your current layout
> >> >
> >> > * BR2_EXTERNAL is shared, so Config.in is shared and external.mk
> >> > is shared
> >> > * each project has its own overlay
> >> > * each project has its own local.mk
> >> > * each project has its own patch subdirectory...
> >> > * dl is shared
> >> >
> >> > so I need to understand your use-case a little more.
> >> > As I said my use case is "same project, but different hardware"
> >> > so
> >> > my favorite layout would be
> >> >
> >> > * shared BR2_EXTERNAL
> >> > * shared overlay
> >> > * shared patches
> >> > * different config files
> >> > * don't care about local.mk, might as well make it different
> >> >
> >> > This layout makes more sense to me (shared overlay and shared
> >> > patches)
> >> > but I want to make sure it fits your use-case before I do the
> >> > change
> >> >
> >> > It makes little sense to me to have completely different
> >> > projects
> >> > which are just sharing dl/ since dl is not saved in git and it's
> >> > more handy to have completely separate git repo in this case...
> >> >
> >> >
> >> > If you can tell me a little more, I'll see how I adapt this...
> >>
> >>
> >>
> >> --
> >> ?lvaro G?mez Machado
> >>
>
>
>
> --
> ?lvaro G?mez Machado
>
next prev parent reply other threads:[~2014-10-02 10:10 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1436673405.11266711.1394440215222.JavaMail.root@openwide.fr>
2014-03-10 9:00 ` [Buildroot] Raspaudio : how to use buildroot as a git submodule Jeremy Rosen
2014-03-10 15:30 ` Alvaro Gamez
2014-03-10 15:38 ` Jeremy Rosen
2014-09-26 9:00 ` Alvaro Gamez
2014-09-26 11:56 ` Jeremy Rosen
2014-10-01 9:11 ` Alvaro Gamez
2014-10-01 12:58 ` Jeremy Rosen
2014-10-01 14:08 ` Jeremy Rosen
2014-10-01 14:18 ` Alvaro Gamez
2014-10-01 14:37 ` Jeremy Rosen
2014-10-02 9:53 ` Alvaro Gamez
2014-10-02 10:10 ` Jeremy Rosen [this message]
2014-10-03 8:03 ` Jeremy Rosen
2014-10-08 8:19 ` Alvaro Gamez
2014-10-08 10:11 ` Jeremy Rosen
2014-10-15 17:42 ` Arnout Vandecappelle
2014-10-16 8:18 ` Jeremy Rosen
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=825058379.26083702.1412244610243.JavaMail.root@openwide.fr \
--to=jeremy.rosen@openwide.fr \
--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 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.