[oe] Why PREFERRED_VERSION setting of <distro>.conf overrules local.conf setting ?

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Mon Aug 9 19:01:27 UTC 2010


2010/8/9 Chris Larson <clarson at kergoth.com>:
> On Mon, Aug 9, 2010 at 6:26 AM, Hauser, Wolfgang (external) <
> Wolfgang.Hauser.external at eads.com> wrote:
>
>> Hello,
>>
>> I want to change some used versions of packages, so I added a
>> PREFERRED_VERSION_<package>="xxx" for the packages I want to have a
>> special(newer) version to be used.
>>
>> But e. g. for busybox the version defined in the used <distro>.conf is
>> used instead of my setting in local.conf.
>>
>> Should local.conf not overrule <distro/machine>.conf ??
>
>
> Conceptually, local should override everything, as it's the "most specific"
> information available, but from a technical standpoint, we can't parse the
> machine and distro configs until local.conf is parsed, as that's usually
> where the MACHINE and DISTRO are set.  You can use a 'local' override to get
> around it, or you can ask the distro/machine maintainer to use ?=
> assignments (set only if unset).
>
> PREFERRED_VERSION_<package>_local = "xxx" is how you use the override.

The real solution woud be to either temporary store the
PREFERRED_VERSION and apply it later on.
Alternately we could parse local.conf twice, the first time ignoring
the PREFERRED lines, and the 2nd time only looking at these.
Yet another solution could be to split local.conf into two pieces, one
with settings like MACHINE and DISTRO, the other one with the
overrides.

Frans (who typically sets MACHINE in the environment, not in
local.conf, makes things a lot simpler if you have to build for
multiple machines)




More information about the Openembedded-devel mailing list