[yocto] IPK naming oddity for ipkg's containing archived ${PN}-dev files

Glenn Schmottlach gschmottlach at gmail.com
Tue Sep 24 13:17:10 PDT 2013


I've run across what appears to be a naming inconsistency (not sure if it's
intentional or a bug) that seems to impact the name given to the ipk file
for recipe's "dev" files.


Let me be more clear. My recipe produces a shared object library called:

libtts_engine.so

This shared library is deployed in /usr/lib and the package-split directory
structure looks like the following in my recipe workdir:

package-split/tts-sdk-dev
package-split/tts-sdk-dev/usr
package-split/tts-sdk-dev/usr/lib
package-split/tts-sdk-dev/usr/lib/libtts_engine.so
package-split/tts-sdk-dev/usr/include
package-split/tts-sdk-dev/usr/include/tts.h

So, when Yocto generates my ipk archive I would expect it to be named
something like:

tts-sdk-dev_${PV}_${PACKAGE_ARCH}.ipk

Instead, Yocto is generating the following name for the "dev" ipk:

libtts_engine-dev_${PV}_${PACKAGE_ARCH}.ipk

This is *not* consistent with how the other ipk are named by Yocto, e.g.

tts-sdk_${PV}_${PACKAGE_ARCH}.ipk
tts-sdk-doc_${PV}_${PACKAGE_ARCH}.ipk
tts-sdk-dbg_${PV}_${PACKAGE_ARCH}.ipk

In the poky class file (package_ipk.bbclass) I looked at the
do_package_ipk() python function and see that there is an explicit query
for the following variable to determine the base name of the ipk file:

pkgname = localdata.getVar('PKG_%s' % pkg, True)

In most cases, this look-up returns the expected name, e.g. tts-sdk-doc,
tts-sdk-dbg, etc.... But for some reason, the "dev" package name is
remapped from tts-sdk to libtts_engine. My only counter-measure to correct
this is to add the following explicit assignment in my recipe:

PKG_${PN}-dev = "${PN}-dev"

This seems to "correct" the name. Can anyone explain to me the behavior I
am observing? Is there some reason the "dev" package (and only the "dev"
package) is named differently when the ipk is created. Am I breaking an
expected behavior by forcing it to use the more consistent
tts-sdk-dev_${PV}_${PACKAGE_ARCH}.ipk name? I can't find any documentation
that answers this question.

Thanks . . .
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130924/61c091d8/attachment.html>


More information about the yocto mailing list