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

Graham Gower graham.gower at gmail.com
Mon Aug 9 23:15:24 UTC 2010


On 10 August 2010 04:31, Frans Meulenbroeks <fransmeulenbroeks at gmail.com> wrote:
> 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.

Wouldn't it be far simpler to fix the distro conf file(s)? E.g. apply
something like this:
s/^PREFERRED_VERSION_\([a-z]*\) =/PREFERRED_VERSION_\1 ?=/

-Graham




More information about the Openembedded-devel mailing list