Bug 4987

Summary: Document version requirements in RDEPENDS etc
Product: [Documentation] Reference Reporter: Ross Burton <ross.burton>
Component: handbookAssignee: Scott Rifenbark <srifenbark>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: bluelightning, poky.doc.watcher, poky.watcher, ross.burton, sgw, srifenbark
Version: 1.5   
Target Milestone: 1.5   
Hardware: All   
OS: Multiple   
Whiteboard: 18 September 2013: RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description Ross Burton 2013-08-06 10:14:53 UTC
It's possible to specify versions in the RDEPENDS (etc) fields, for example:

RDEPENDS_${PN} = "foo (>= 1.2)"

We should clearly document this syntax and all of the operators involved.

CC'ing Paul as hopefully he knows where to look to get the full list of supported expressions.
Comment 1 Scott Rifenbark 2013-08-06 10:34:53 UTC
Get me the options and I will get this in. 

Scott
Comment 2 Ross Burton 2013-08-06 14:04:37 UTC
Mark kindly commented on the thread which spawned this bug:


The format for RDEPENDS is slightly different from all three [packaging systems].

dep (= ver)
dep (< ver)
dep (> ver)
dep (<= ver)
dep (>= ver)

Hopefully the operators are fairly self-explanatory.
Comment 3 Scott Rifenbark 2013-08-13 06:14:56 UTC
Ross, 

I don't get the last comment.  It implies different syntax forms for different packaging systems.  However, the list shows the standard Boolean logical operators from which I can't discern any differences based on package types.

Scott
Comment 4 Ross Burton 2013-08-13 08:20:00 UTC
Sorry, my quoting was a bit too tight.

Each of the possible packaging formats has a different syntax for dependencies, but we hide that from the user.  The table in comment 2 is the syntax for versioned dependencies that bitbake supports.
Comment 5 Scott Rifenbark 2013-09-17 23:05:43 UTC
Ross, 

Check out the last part for the RDEPENDS variable at http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-RDEPENDS.  Let me know if this covers it.  Once we are okay with it, you can indicate the other variables that need the same explanation.  I am assuming that is what you meant by "etc" in your comment.  I imagine DEPENDS would be one of them.

Scott
Comment 6 Ross Burton 2013-09-18 10:20:52 UTC
By "etc" I meant the other runtime dependences, so RCONFLICTS RRECOMMENDS RREPLACES.
Comment 7 Scott Rifenbark 2013-09-18 15:12:06 UTC
Ross, 

Thanks for the clarification.  Can you "okay" the RDEPENDS section changes first then or send me feedback on them?  Once I have those solid I will make similar changes to the other R* variables.

Scott
Comment 8 Ross Burton 2013-09-18 18:50:50 UTC
Sorry, meant to put that in my reply too.  The new material is great.
Comment 9 Scott Rifenbark 2013-09-18 22:07:11 UTC
Hi, 

I have added similar wordings to the RCONFLICTS, RREPLACES, and RRECOMMENDS variables to support versioned specification of a package.  The wording was "okayed" for RDEPENDS so I am marking this bug RESOLVED.

If you want to look at the final stuff see:

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-RCONFLICTS
http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-RREPLACES
http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-RRECOMMENDS
http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-RDEPENDS

Scott