On Sep 24, 2013, at 1:17 PM, Glenn Schmottlach <[email protected]> wrote:

> 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

may be this should be something libtts_engine.so.X and libtts_engine.so is then 
a symlink to it which is commonly the
case with shared libraries

> 
> 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 because of debian library naming. see 
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html
and http://www.v7w.com/debian/libpkg-guide.html#naminglibpkg

> 
> 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 . . .
> _______________________________________________
> yocto mailing list
> [email protected]
> https://lists.yoctoproject.org/listinfo/yocto

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to