Discussion:
How does RRECOMMENDS work?
Chris Tapp
2014-09-08 07:55:15 UTC
Permalink
I've got a recipe to which I've added:

RRECOMMENDS_${PN} = "<package>"

The documentation says that "If, during the build, a package from the RRECOMMENDS list cannot be found, the build process continues without an error".

I tried a build without <package> (i.e. no recipe) and it failed with "Nothing provides <package>". Is this the expected behaviour? If so, is there a way I can pull in a package if it is build-able and skip it otherwise?

In this case <package> contains some utilities which can be of help, but they're not required in any way at runtime.

--

Chris Tapp
opensource-UUnwy/L99c5Wk0Htik3J/***@public.gmane.org
www.keylevel.com




--
Paul Eggleton
2014-09-08 08:40:26 UTC
Permalink
Hi Chris,
Post by Chris Tapp
RRECOMMENDS_${PN} = "<package>"
The documentation says that "If, during the build, a package from the
RRECOMMENDS list cannot be found, the build process continues without an
error".
I tried a build without <package> (i.e. no recipe) and it failed with
"Nothing provides <package>". Is this the expected behaviour? If so, is
there a way I can pull in a package if it is build-able and skip it
otherwise?
In this case <package> contains some utilities which can be of help, but
they're not required in any way at runtime.
Scott has just pinged me about this, the manual is slightly misleading. How it
works is, if you have an item mentioned in RRECOMMENDS, there must be a recipe
that provides that item via RPROVIDES (or indirectly via PACKAGES or
PACKAGES_DYNAMIC), otherwise you will receive the error you mentioned.
However, if the package does not actually end up being produced, that is OK.

RRECOMMENDS is generally for things that you normally would expect to be
available, but may not be for some reason (e.g. kernel modules that might
instead be compiled in and thus are not produced as a package).

Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
--
Chris Tapp
2014-09-08 19:08:28 UTC
Permalink
Hi Paul,
Post by Paul Eggleton
Hi Chris,
Post by Chris Tapp
RRECOMMENDS_${PN} = "<package>"
The documentation says that "If, during the build, a package from the
RRECOMMENDS list cannot be found, the build process continues without an
error".
I tried a build without <package> (i.e. no recipe) and it failed with
"Nothing provides <package>". Is this the expected behaviour? If so, is
there a way I can pull in a package if it is build-able and skip it
otherwise?
In this case <package> contains some utilities which can be of help, but
they're not required in any way at runtime.
Scott has just pinged me about this, the manual is slightly misleading. How it
works is, if you have an item mentioned in RRECOMMENDS, there must be a recipe
that provides that item via RPROVIDES (or indirectly via PACKAGES or
PACKAGES_DYNAMIC), otherwise you will receive the error you mentioned.
However, if the package does not actually end up being produced, that is OK.
RRECOMMENDS is generally for things that you normally would expect to be
available, but may not be for some reason (e.g. kernel modules that might
instead be compiled in and thus are not produced as a package).
That makes sense. Thanks for the clarification :-)
Post by Paul Eggleton
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
--

Chris Tapp
opensource-UUnwy/L99c5Wk0Htik3J/***@public.gmane.org
www.keylevel.com




--

Continue reading on narkive:
Loading...