From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: local.conf & bblayers.conf changes...
Date: Tue, 3 Jul 2012 12:51:06 -0500 [thread overview]
Message-ID: <4FF3310A.6000000@windriver.com> (raw)
In-Reply-To: <20120703174702.GD3771@jama.jama.net>
On 7/3/12 12:47 PM, Martin Jansa wrote:
> On Tue, Jul 03, 2012 at 12:35:35PM -0500, Mark Hatle wrote:
>> On 7/3/12 12:19 PM, Rich Pixley wrote:
>>> On 7/3/12 10:01 , Saul Wold wrote:
>>>> On 07/03/2012 09:42 AM, Rich Pixley wrote:
>>>>> Where can I find a description of the recent changes and what I need to
>>>>> do to bring my files back up to current?
>>>>>
>>>>> What were the incompatible changes?
>>>>>
>>>> For bblayers.conf, we bumped the version becase we moved the BBPATH
>>>> initial setting into the bblayers.conf to ensure we dont accidently
>>>> pickup things in . because of the way a :: was being parsed. See
>>>> this commit
>>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5e3a61b40b7b697d83b41e7e247cd1f94eb7673c
>>>>
>>>> Not sure what you mean about local.conf, since I am not sure of your
>>>> starting point.
>>> Ok, so I *liked* having BBPATH be relative. The alternative, using
>>> absolute pathnames, means that you have to bolt absolute path names into
>>> all of your binaries, all of your debug symbols, and all of your build
>>> configurations. This means that your binary sizes are greater, that
>>> debug symbols are significantly greater and more difficult to configure
>>> properly in your debuger, and that working directories cannot be moved
>>> around or renamed without needing to manually force full rebuilds. It
>>> also means that some forms of file system checkpointing can't be used
>>> since you can't rely on the build to be in the same place on the file
>>> system every build.
>>
>> BBPATH being relative doesn't affect what ends up in debug symbols, etc.
>>
>> The BBPATH needs to be absolute, within the scope of a single loaded session to
>> avoid randomly included items, primarily from the CWD. This prevents
>> non-repeatable builds.
>>
>> In a layer, the typical BBPATH is something like:
>>
>> BBPATH := "${LAYERDIR}:${BBPATH}"
>
> No, please append to it, so order of layers in BBPATH is the same as
> order of layers in BBLAYERS variable in bblayers.conf
This affects ordering.. in my expample.. I wanted my layer to take precedence
over the BBPATH is other layers.
> So typical BBPATH in layer.conf should be:
> BBPATH .= ":${LAYERDIR}"
It has to be := and not .=. If it's not immediately resolved, then ${LAYERDIR}
will go to undefined later.
If .= is working, I'm surprised.. the semantics may be different when processing
BBPATH then other variables.
> This is now consistent in all layers I'm using and quick search in
> layers I'm not using shows only meta-baryon having it vice versa.
--Mark
> Cheers,
>
>>
>> LAYERDIR is always the path to the layer being processed at any given time...
>> so if a layer also provides addition scripts you can do:
>>
>> # Add scripts to PATH
>> PATH := "${PATH}:${LAYERDIR}/scripts"
>>
>>
>> As for the debug items, the system handles all of the debug symbols for you.
>> All target symbols are referenced from the -root- of the target filesystem. If
>> this is not happening in your builds, then you've disabled the debug symbol
>> processing -- or you found a bug in the system... On the target side, debugging
>> on the target that is, everything should 'just work' with no manual settings.
>>
>> On a remote debug, you just need to tell the system where the relative path is
>> to the root of the filesystem you are debugging, gdb should then be able to add
>> the references to the associated sources and .debug split items.
>>
>> This is all unchanged behavior for oe-core from when it was made oe-core to present.
>>
>>> I'll try to roll with the current plan, though.
>>>
>>> In the current arrangement, I'm getting confusing messages about not
>>> setting MACHINE, even though MACHINE is set in my local.conf. I'm
>>> guessing that means that the pathing is busted and it's not finding my
>>> local.conf. How is the initial configuration file found? And which
>>
>> If it says MACHINE isn't configured, then you are lacking a proper BSP/machine
>> configuration file.
>>
>> There are a couple of checks, but in the end they resolve down to checking that
>> TUNE_ARCH, TARGET_OS, and TUNE_PKGARCH exit and are reasonable, as well as
>> conf/machine/${MACHINE}.conf can be loaded.
>>
>> Any of the above items not found or not configured properly indicate MACHINE
>> isn't defined, or the conf/machine/${MACHINE}.conf doesn't exist -- or is
>> incorrectly configured.
>>
>>> configuration file is initial? Is that "./conf/bblayers.conf"? And if
>>> so, does this mean that I need to put my other directory assignments
>>> like TOPDIR and TMPDIR in bblayers.conf as well? And if so, then what's
>>> the logical distinction between bblayers.conf and local.conf at this
>>> point if build policy needs to go into bblayers.conf?
>>
>> bblayers shouldn't affect your machine files, other then a layer may contain a
>> conf/machine/...conf file. The BBPATH setting of ${LAYERDIR} allows this
>> directory to be automatically scanned when requesting a conf file.
>>
>> --Mark
>>
>>> --rich
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
next prev parent reply other threads:[~2012-07-03 18:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 16:42 local.conf & bblayers.conf changes Rich Pixley
2012-07-03 17:01 ` Saul Wold
2012-07-03 17:19 ` Rich Pixley
2012-07-03 17:35 ` Mark Hatle
2012-07-03 17:47 ` Martin Jansa
2012-07-03 17:51 ` Mark Hatle [this message]
2012-07-03 18:00 ` Martin Jansa
2012-07-03 19:20 ` Paul Eggleton
2012-07-03 17:22 ` Martin Jansa
2012-07-03 17:40 ` Jack Mitchell
2012-07-03 19:22 ` Paul Eggleton
2012-07-04 8:29 ` Jack Mitchell
2012-07-04 8:32 ` Jack Mitchell
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=4FF3310A.6000000@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox