diff mbox series

doc/bitbake-user-manual-ref-variables: document PREFERRED_RPROVIDER

Message ID 1787566358.8631fc262581453bbf619ec5b2062170.1a033420133000c4f3@vates.tech
State New
Headers show
Series doc/bitbake-user-manual-ref-variables: document PREFERRED_RPROVIDER | expand

Commit Message

Yann Dirson Aug. 24, 2026, 10:12 a.m. UTC
Signed-off-by: Yann Dirson <yann.dirson@vates.tech>
---
 .../bitbake-user-manual-ref-variables.rst                | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Quentin Schulz Aug. 24, 2026, 10:26 a.m. UTC | #1
Hi Yann,

On 8/24/26 12:12 PM, Yann Dirson via lists.openembedded.org wrote:
> [You don't often get email from yann.dirson=vates.tech@lists.openembedded.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> Signed-off-by: Yann Dirson <yann.dirson@vates.tech>
> ---
>   .../bitbake-user-manual-ref-variables.rst                | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> index 5395ce5e3..2756fc0c4 100644
> --- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> +++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> @@ -1558,6 +1558,15 @@ overview of their function and contents.
>            PREFERRED_PROVIDER_xxx = "yyy"
>            PREFERRED_PROVIDER_aaa = "bbb"
> 
> +   :term:`PREFERRED_RPROVIDER` Determines which recipe should be given

Please be consistent with the rest of the file. 
:term:`PREFERRED_RPROVIDER` should be on its own on the first line.

> +      preference when multiple packages rprovide the same item. Beware

rprovide is not an English term so all readers won't necessarily know 
what this means. I can suggest:

"""
Determines which *recipe* generating a package runtime-providing 
(:term:`RPROVIDES`) the same item as other packages should be given 
preference. Some examples::
[...]


"""

> +      this should contain the name of the *recipe* producing the
> +      package that rprovides the item, not that of the package. Some
> +      examples::
> +
> +         PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
> +         PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa"

Are you sure this is still valid? I don't see an RPROVIDES for 
virtual-libegl-icd so maybe this is not doing anything?

Cheers,
Quentin
Yann Dirson Aug. 24, 2026, 1:40 p.m. UTC | #2
On 8/24/26 12:26 PM, Quentin Schulz wrote:
> Hi Yann,
> 
> On 8/24/26 12:12 PM, Yann Dirson via lists.openembedded.org wrote:
>> [You don't often get email from 
>> yann.dirson=vates.tech@lists.openembedded.org. Learn why this is 
>> important at https://aka.ms/LearnAboutSenderIdentification ]
>>
>> Signed-off-by: Yann Dirson <yann.dirson@vates.tech>
>> ---
>>   .../bitbake-user-manual-ref-variables.rst                | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref- 
>> variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref- 
>> variables.rst
>> index 5395ce5e3..2756fc0c4 100644
>> --- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
>> +++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
>> @@ -1558,6 +1558,15 @@ overview of their function and contents.
>>            PREFERRED_PROVIDER_xxx = "yyy"
>>            PREFERRED_PROVIDER_aaa = "bbb"
>>
>> +   :term:`PREFERRED_RPROVIDER` Determines which recipe should be given
> 
> Please be consistent with the rest of the 
> file. :term:`PREFERRED_RPROVIDER` should be on its own on the first line.
> 
>> +      preference when multiple packages rprovide the same item. Beware
> 
> rprovide is not an English term so all readers won't necessarily know 
> what this means. I can suggest:
> 
> """
> Determines which *recipe* generating a package runtime-providing 
> (:term:`RPROVIDES`) the same item as other packages should be given 
> preference. Some examples::
> [...]

Good points.

> 
> """
> 
>> +      this should contain the name of the *recipe* producing the
>> +      package that rprovides the item, not that of the package. Some
>> +      examples::
>> +
>> +         PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
>> +         PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa"
> 
> Are you sure this is still valid? I don't see an RPROVIDES for virtual- 
> libegl-icd so maybe this is not doing anything?

Those examples are literally taken from oe-core's 
meta/conf/distro/include/default-providers.inc.  Digging a bit, they 
seem to be dynamically-generated values from an anonymous python block 
in ./meta/recipes-graphics/mesa/mesa.inc
Quentin Schulz Aug. 24, 2026, 1:49 p.m. UTC | #3
On 8/24/26 3:40 PM, Yann Dirson wrote:
> 
> 
> On 8/24/26 12:26 PM, Quentin Schulz wrote:
>> Hi Yann,
>>
>> On 8/24/26 12:12 PM, Yann Dirson via lists.openembedded.org wrote:
>>> [You don't often get email from
>>> yann.dirson=vates.tech@lists.openembedded.org. Learn why this is
>>> important at https://aka.ms/LearnAboutSenderIdentification ]
>>>
>>> Signed-off-by: Yann Dirson <yann.dirson@vates.tech>
>>> ---
>>>    .../bitbake-user-manual-ref-variables.rst                | 9 +++++++++
>>>    1 file changed, 9 insertions(+)
>>>
>>> diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-
>>> variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-
>>> variables.rst
>>> index 5395ce5e3..2756fc0c4 100644
>>> --- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
>>> +++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
>>> @@ -1558,6 +1558,15 @@ overview of their function and contents.
>>>             PREFERRED_PROVIDER_xxx = "yyy"
>>>             PREFERRED_PROVIDER_aaa = "bbb"
>>>
>>> +   :term:`PREFERRED_RPROVIDER` Determines which recipe should be given
>>
>> Please be consistent with the rest of the
>> file. :term:`PREFERRED_RPROVIDER` should be on its own on the first line.
>>
>>> +      preference when multiple packages rprovide the same item. Beware
>>
>> rprovide is not an English term so all readers won't necessarily know
>> what this means. I can suggest:
>>
>> """
>> Determines which *recipe* generating a package runtime-providing
>> (:term:`RPROVIDES`) the same item as other packages should be given
>> preference. Some examples::
>> [...]
> 
> Good points.
> 
>>
>> """
>>
>>> +      this should contain the name of the *recipe* producing the
>>> +      package that rprovides the item, not that of the package. Some
>>> +      examples::
>>> +
>>> +         PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
>>> +         PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa"
>>
>> Are you sure this is still valid? I don't see an RPROVIDES for virtual-
>> libegl-icd so maybe this is not doing anything?
> 
> Those examples are literally taken from oe-core's
> meta/conf/distro/include/default-providers.inc.  Digging a bit, they

Doesn't mean that it's still correct. It's not unusual to discover some 
leftovers of past migration or deletion while writing/updating the docs :)

> seem to be dynamically-generated values from an anonymous python block
> in ./meta/recipes-graphics/mesa/mesa.inc
> 

Indeed, I had missed that, thanks for the pointer.

I think it'd be nice to then write in plain English what at least one of 
the above line does. The easiest example would be the initscripts one as 
we've a simple RPROVIDES counterpart in OE-Core.

Cheers,
Quentin
diff mbox series

Patch

diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 5395ce5e3..2756fc0c4 100644
--- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -1558,6 +1558,15 @@  overview of their function and contents.
          PREFERRED_PROVIDER_xxx = "yyy"
          PREFERRED_PROVIDER_aaa = "bbb"
 
+   :term:`PREFERRED_RPROVIDER` Determines which recipe should be given
+      preference when multiple packages rprovide the same item. Beware
+      this should contain the name of the *recipe* producing the
+      package that rprovides the item, not that of the package. Some
+      examples::
+
+         PREFERRED_RPROVIDER_initd-functions ?= "initscripts"
+         PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa"
+
    :term:`PREFERRED_VERSION`
       If there are multiple versions of a recipe available, this variable
       determines which version should be given preference. You must always