[oe] update-rc.d: don't add runtime dependency if not doing online package management; only add it to ${PN} in any case.

Denys Dmytriyenko denis at denix.org
Wed Jun 17 04:29:09 UTC 2009


Hi,

The commit ee690abcef0df80271729ca869f19164b1c15bbe[1] (update-rc.d: don't 
add runtime dependency if not doing online package management; only add it to 
${PN} in any case) breaks one important feature - additional runtime 
dependencies for packages, inheriting update-rc.d class.

One of the examples is udev (udev-utils is no longer a dependency):

$ dpkg-deb -I old/udev_141-r10.2_armv5te.ipk |grep Depends
 Depends: udev-utils, libc6, libvolume-id1 (>= 141)
$ dpkg-deb -I angstrom/udev_141-r10.2_armv5te.ipk |grep Depends
 Depends: udev-utils, libc6 (>= 2.6.1), libvolume-id1 (>= 141)

$ dpkg-deb -I new/udev_141-r10.2_armv5te.ipk |grep Depends
 Depends: update-rc.d, libc6, libvolume-id1 (>= 141)

The problem comes from the fact that either RDEPENDS_{PN}_append = "blah" or 
RDEPENDS_{PN} += "blah" used in the class overwrite the value set in 
inheriting recipe, instead of appending to it. The position of the inherit 
command in the recipe relative to its own RDEPENDS does not matter. And I 
don't think this issue only applies to RDEPENDS variable...

It used to "work" before, because update-rc.d.bbclass had the wrong 
RDEPENDS_append and "update-rc.d" was never added to the runtime dependencies, 
while more important udev-utils was.

I tried latest branches/bitbake-1.8 - no difference.

The short-term solution is to revert the commit in question. The correct 
solution is to find the underlying problem. Any takers?

[1] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=ee690abcef0df80271729ca869f19164b1c15bbe

-- 
Denys




More information about the Openembedded-devel mailing list