From: Tom Zanussi <tom.zanussi@intel.com>
To: Detlev Zundel <dzu@denx.de>
Cc: poky@pokylinux.org
Subject: Re: Strange file names
Date: Thu, 29 Mar 2012 11:22:25 -0500 [thread overview]
Message-ID: <1333038145.23875.45.camel@elmorro> (raw)
In-Reply-To: <m2ty172y60.fsf@lamuella.denx.de>
On Thu, 2012-03-29 at 18:02 +0200, Detlev Zundel wrote:
> Hi Tom,
>
> thanks for listening to my concerns. I have to admit though, that I
> wrote my mail because of my doubts about the usage of such unusal
> filenames, but I have yet to understand how you use the constructs.
>
> > Yes, I think it would make sense for various reasons to get rid of it if
> > possible - it's not central to the mechanism, just convenient.
> >
> > So the current uses of it are the following:
> >
> > - having a particular filename match the machine name:
> >
> > ./powerpc/conf/machine/{{=machine}}.conf
>
> Can you explain to me what this exactly does? Does that file match
> every machine name? If that is the case, then why do you need to match
> at all and not use a special file name?
>
I guess 'match' is the wrong word - basically what happens when
processing the templates (and since the filenames themselves are part of
the 'templates', those too), the {{=machine}} in the name is replaced
with the name of the BSP. So in the final set of files, supposing
you're creating a bsp named 'meta-foo', you end up with this file being
named:
./powerpc/conf/machine/foo.conf
which is what's expected in the BSP layout.
> > - having a particular filename conditionally included or not:
> >
> > ./i386/recipes-kernel/linux/{{ if kernel_choice ==
> > "linux-yocto_3.2": }} linux-yocto_3.2.bbappend
> >
> > For those two types of cases, I think it should be possible to move that
> > logic into the file itself using special filename and/or conditional
> > filename directives.
>
> I'm not sure if I understand fully, but something like (shell-syntax)
> "include ${kernel_choice}.bbappend" would work - modulo ignoring errors
> if the file is not found of course.
>
So, similarly in this case, we have four files with similar names in
this dir, but only one of them should be used, and which one depends on
which kernel was selected. The 'template processing' uses the code in
the filename to end up with that result. So your suggestion is partly
fine in that we need some kind of 'include' to replace it, but it
doesn't contain the logic we need to choose only that file. And it's
just replacing it with something that looks like executable code anyway.
But as I mentioned, I think this case also could me moved into the file
itself.
> > The other usage is to have directory names match the machine name for
> > instance:
> >
> > ./i386/recipes-graphics/xorg-xserver/xserver-xf86-config/{{=machine}}/{{ if xserver_choice == "xserver_vesa": }} xorg.conf
>
> I fail to understand this for the same reason than the first item ;)
>
This is actually a combination of the other two, replace the {{= with
'machine' but here it's a dirname, and conditionally select one of a set
of files.
Again, in this case, for the file in this case, we can move the
selection logic into the file, but for the dirname replacement we need
another place to contain it, which we can use the
aforementioned .noinstall files for, barring a better idea...
Tom
> Cheers
> Detlev
>
> --
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu@denx.de
next prev parent reply other threads:[~2012-03-29 16:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-27 14:40 Strange file names Gary Thomas
2012-03-27 14:52 ` Tom Zanussi
2012-03-27 17:43 ` Wolfgang Denk
2012-03-27 17:53 ` Tom Zanussi
2012-03-27 18:22 ` Wolfgang Denk
2012-03-27 18:37 ` Tom Zanussi
2012-03-29 8:54 ` Detlev Zundel
2012-03-29 14:09 ` Tom Zanussi
[not found] ` <m2ty172y60.fsf@lamuella.denx.de>
2012-03-29 16:22 ` Tom Zanussi [this message]
2012-03-29 16:22 ` Detlev Zundel
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=1333038145.23875.45.camel@elmorro \
--to=tom.zanussi@intel.com \
--cc=dzu@denx.de \
--cc=poky@pokylinux.org \
/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.