From: Andreas Oberritter <obi@opendreambox.org>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: bitbake-devel@lists.openembedded.org
Subject: Re: PREFERRED_VERSION and wildcards
Date: Thu, 15 Mar 2012 00:53:27 +0100 [thread overview]
Message-ID: <4F612F77.5040303@opendreambox.org> (raw)
In-Reply-To: <20120314225418.GB3823@jama.jama.net>
On 14.03.2012 23:54, Martin Jansa wrote:
> On Wed, Mar 14, 2012 at 10:34:59PM +0100, Andreas Oberritter wrote:
>> Hi,
>>
>> I just tried using wildcards, like it's done for gcc, e.g.:
>>
>> PREFERRED_VERSION_foo = "1.2%"
>>
>> Now, if I have two foo recipes, foo_1.2.1.bb and foo_1.2.3.bb, in the
>> same directory, then Bitbake always chooses 1.2.1 instead of the one
>> with the higher version number. Does bitbake always choose the first
>> matching version it can find? Is this a general limitation of wildcards,
>> or is this a problem that can get corrected? I'd expect it to choose the
>> highest matching version.
>
> If you want highest then why do you specify P_V at all? or are those
> 1.2% foo with e.g. negative D_P? or is there 1.3 you don't want?
Yes, I'd like to prefer 1.2.x over higher versions, say 1.3.x, which
coexist in the same directory, i.e. prefer stable over development versions.
> It will use first provider which matches (in highest usable prio/D_P group).
>
> sortpkg_pn = sortPriorities(pn, dataCache, pkg_pn)
> # Find the highest priority provider with a PREFERRED_VERSION set
> (preferred_ver, preferred_file) = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn, item)
> # Find the latest version of the highest priority provider
> (latest, latest_f) = findLatestProvider(pn, cfgData, dataCache, sortpkg_pn[0])
>
> if preferred_file is None:
> preferred_file = latest_f
> preferred_ver = latest
>
> It was added mostly to cover use case with e.g. 1.2+svnr1337 or 1.2+gitrCAFEBABE where
> you don't care about exact revision, but you know that you want 1.2 from scm (and there
> is just one which matches).
I see. I must admit that I don't really understand how the code quoted
above works.
> See this thread for details:
> http://lists.linuxtogo.org/pipermail/bitbake-devel/2009-September/000458.html
OK, Now I understand the original intention, but its behaviour doesn't
seem to be what you'd intuitively expect. Well, at least not what I'd
expect. Would it be hard to extend the code to find the highest matching
version instead of the first one? This wouldn't have negative effects on
your use case.
Regards,
Andreas
next prev parent reply other threads:[~2012-03-15 0:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-14 21:34 PREFERRED_VERSION and wildcards Andreas Oberritter
2012-03-14 22:54 ` Martin Jansa
2012-03-14 23:53 ` Andreas Oberritter [this message]
2012-03-15 0:02 ` Martin Jansa
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=4F612F77.5040303@opendreambox.org \
--to=obi@opendreambox.org \
--cc=bitbake-devel@lists.openembedded.org \
--cc=martin.jansa@gmail.com \
/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.