[oe] debian.bbclass issues when some package is substring of another

Phil Blundell philb at gnu.org
Mon Feb 14 15:27:23 UTC 2011


On Mon, 2011-02-14 at 11:22 +0100, Martin Jansa wrote:
> So can someone explain why we need that 'newpkg = pkg.replace(orig_pkg, devname, 1)' in else?

If that line was removed altogether then the -dev packages (and -doc,
-bin, ...) would stop being renamed, which wouldn't be a very good
thing.  In other words, you'd get libncurses5 but ncurses-dev (not
libncurses5-dev) etc.

However you're right that the logic as it stands does look fairly
broken.  Two ways of fixing it come to mind:

a) have it explicitly search for (and rename) [orig_pkg]-dev,
[orig_pkg]-doc etc, and remove the catch-all altogether; or

b) switch to a two-phase approach where it first renames all the
libraries themselves, then uses some heuristic to match the remaining
packages against the libraries and apply an appropriate renaming to
them.  Probably just matching on longest substring would be good enough
here.

I think (b) is probably a better solution although it would be a little
harder to implement.

p.






More information about the Openembedded-devel mailing list