[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